1

私はGraph APIを使用してUWPアプリからユーザー情報にアクセスしています。私は、クライアントUWPアプリとAzureバックエンドを持つAzure Appサービスを使用しています。graphClient.Me.Request()。GetAsync()は、nullではないAADプロファイルフィールドのnull値を返します。

My Azure Active Directoryには、私とテストユーザーしかいません。私のアプリの次の行は、AADから私の情報の一部を返すん:

Microsoft.Graph.GraphServiceClient graphClient = 
     new Microsoft.Graph.GraphServiceClient(new DelegateAuthenticationProvider((requestMessage) => 
{ 
     requestMessage.Headers.Authorization = 
      new System.Net.Http.Headers.AuthenticationHeaderValue("bearer", result2.AccessToken); 
     return Task.FromResult(0); 
})); 

Microsoft.Graph.User user = await graphClient.Me.Request().GetAsync(); 

をしかし、私はコールの後に「ユーザー」変数の内容を検査する場合、すべてのフィールドが表示名、GIVENNAME以外はnullその他として記載されています、ID、JobTitle、AdditionalItems、およびUserPrincipleNameが含まれます。ヌルでない値は正しいです。しかし、私はまた、すべての通りの住所フィールドに記入して、AADのプロフィールのプロフィール画像を提供しました。しかし、これらもまた戻ってきます。誰が私にこれを引き起こす原因を教えてもらえますか? (私は、要求と一緒に送信されているアクセストークンをチェックして、必要なアクセス許可が含まれているように見えますが、AADに自分のアプリを登録したときに、Windows Azure ADとMicrosoft Graphに対して、 )

ありがとうございました。

答えて

3

Microsoft Graphは、各応答のプロパティの既定のコアセットを返します。 $selectクエリパラメータを使用して追加のプロパティを取得できます。

たとえば、GET https://graph.microsoft.com/v1.0/me/は、ユーザのstreetAddressフィールドを返しませんが、GET https://graph.microsoft.com/v1.0/me/?$select=streetaddressが返します。 $select=id,jobTitle,streetAddressのようなカンマでフィールドを区切って、複数のプロパティを戻すことができます。

.NET SDKでは、構文はRequest().Select("assignedLicenses").GetAsync()documentation for this is on GitHubと考えています。

+0

ありがとうございます!これは、プロフィール画像以外のすべてに対して機能します。私はまだそれを理解しようとしています。 – Matt

関連する問題