2016-08-15 15 views
1

を使用して、すべてのユーザーデータを取得:PHPと私は照会することによって、ユーザを取得していますMicrosoftグラフAPIを使用してMicrosoftグラフAPI

https://graph.windows.net/<tenant>/users/<userId>?api-version=2013-11-08

これはうまく動作しますが、唯一のユーザーオブジェクトのための標準的なフィールドを返します。私はすべてのユーザーデータを取得するために= *選択$を使用することができるようになってるのドキュメントによると、このように:

https://graph.windows.net/<tenant>/users/<userId>?$select=*&api-version=2013-11-08

しかしこれは私に次のエラーを与える:
{"odata.error":{"code":"Request_BadRequest","message":{"lang":"en","value":"The ability to use the $select query option to define a projection in a data service query is disabled. To enable this functionality, set the DataServiceConfiguration. AcceptProjectionRequests property to true."}}}

「AcceptProjectionRequests」を有効にするにはどうすればよいですか?これについては、ドキュメントや他のSOスレッドでは何も見つかりません。

+1

グラフAPIは、以下のOdataクエリパラメータをサポートしています: '$ filter、$ batch、$ expand、$ orderby、$ top、$ skiptokenおよびprevious-page'。 [ここ](https://msdn.microsoft.com/en-us/library/azure/ad/graph/howto/azure-ad-graph-api-operations-overview#OdataQueryParameters)を参照してください –

答えて

3

上記で参照しているAPIは、Microsoft Graph APIsとは異なるAzure AD Graphです。 Microsoft Graph APIを見て、Azure AD Graphから移行することを検討するのは貴重な時間かもしれません。 Azure AD Graphチームの一般的なガイダンスでは、Azure AD Graphの代わりにMicrosoft Graphを使用することをお勧めします。あなたはその違いとAzure ADガイダンスhereの詳細について読むことができます。

Azure AD Graphは$ selectをサポートしていないと言っています(私が上にリンクしたブログ投稿に記載されています)。 Microsoft Graphは、クエリの予測を行うための$ selectをサポートしています(Microsoft Graph or Azure AD参照)。

Currently (as of 7/8/2016) Microsoft Graph supports most of the directory features that Azure AD Graph supports, but not all. In some cases, Microsoft Graph supports functionality that is not in Azure AD Graph (such as ability to make $select projection queries).

OData仕様では、$ select = *はすべてのエンティティプロパティまたはデフォルトのプロパティセットを返すことができます(デフォルトセットにすべてのキープロパティが含まれている場合)。 Microsoft Graphの実装は後者であり、一連のキープロパティを返します。必要なプロパティをすべて取得するには、デフォルトセット内に収まらない限り、必要なリスト全体を明示的に要求する必要があります。

+0

私はそれが正しく理解していますか? Azure AD Graphを使用してカスタムフィールドをADから取得することはできず、Microsoft Graph APIに移行する必要がありますか? – Publicus

+0

Azure AD Graph APIを使用している場合、オブジェクトのデフォルトのプロパティセットの一部として、拡張/カスタムプロパティをオブジェクトGETリクエストに返す必要があります。 –

+0

カスタムプロパティは返されません。Azure AD Graph APIはデフォルトセットのみを返します。これは、https://graph.windows.net/を照会するときです/users/ Publicus

関連する問題