Я использую инструменты API Office 365, я хочу получить профиль пользователя, вошедшего в систему, адрес электронной почты, имя,...
Я хочу, чтобы пользователь вошел в систему, и тогда я могу получить его адрес электронной почты.
Как это сделать?
Я пробовал это:
public static async Task<string> GetEmail()
{
var client = await EnsureClientCreated();
var x = await client.Me.ExecuteAsync();
return x.DisplayName;
}
public static async Task<ExchangeClient> EnsureClientCreated()
{
if (_discoveryContext == null)
{
_discoveryContext = await DiscoveryContext.CreateAsync();
}
var dcr = await _discoveryContext.DiscoverResourceAsync(ServiceResourceId);
_lastLoggedInUser = dcr.UserId;
return new ExchangeClient(ServiceEndpointUri, async () =>
{
return (await _discoveryContext.AuthenticationContext.AcquireTokenSilentAsync(ServiceResourceId, _discoveryContext.AppIdentity.ClientId, new Microsoft.IdentityModel.Clients.ActiveDirectory.UserIdentifier(dcr.UserId, Microsoft.IdentityModel.Clients.ActiveDirectory.UserIdentifierType.UniqueId))).AccessToken;
});
}
но это получает только отображаемое имя, мне тоже нужен адрес электронной почты. Заранее спасибо.