Using GraphClient from Microsoft.SDK.Graph I can see the queries are going out in fiddler, none of them use HTTP/2.0 but I get this error:
ArgumentException: Only HTTP/1.0 and HTTP/1.1 version requests are currently supported. Parameter name: value
private async Task<UserAccount> FetchAzurePropsFromGraph()
{
var scopes = new[] { "User.Read" };
var clientId = EWSMailboxSyncProvider.CLIENT_ID;
var tenantId = ServicesConfiguration.GetStoredTenantID();
System.Net.Http.HttpClient client = new System.Net.Http.HttpClient();
var transport = new Azure.Core.Pipeline.HttpClientTransport(client);
var options = new TokenCredentialOptions
{
AuthorityHost = AzureAuthorityHosts.AzurePublicCloud,
Transport = transport
};
var userNamePasswordCredential = new UsernamePasswordCredential(
_o365UserName, _o365Password, tenantId, clientId, options);
var graphClient = new Microsoft.Graph.GraphServiceClient(userNamePasswordCredential, scopes);
var user = await graphClient.Users[_emailAddress].Request().GetAsync();
var result = new UserAccount();
if (user != null)
{
result.DisplayName = user.DisplayName;
result.City = user.City;
result.Company = user.CompanyName;
result.DisabledAccount = !(user.AccountEnabled ?? true);
result.DistinguishedName = user.OnPremisesDistinguishedName;
result.DomainName = user.OnPremisesDomainName;
result.EmailAddresses.Add(user.Mail);
foreach (var mail in user.OtherMails)
{
result.EmailAddresses.Add(mail);
}
}
return result;
}