私が働く会社は、Office 365の連絡先をエクスポートしてユーザープロファイルの連絡先にインポートするAPIを開発する必要があります。これは何らかのデーモンとして実行されます。Microsoft Graph API - ユーザーの応答JSONが完了しません
私はMicrosoftのGraph APIを見つけ、それを稼働させるために数日間作業していましたが、GET連絡先機能は私にとってはうまくいかないようです。
私はリソースgraph.microsoft.com
を使用しており、 /users/{id}/contacts
と連絡先を取得しようとしています(PHP cURLを使用)。
stdClass Object
(
[error] => stdClass Object
(
[code] => ResourceNotFound
[message] => Resource could not be discovered.
[innerError] => stdClass Object
(
[request-id] => 134b1964-9421-4fce-84ba-aca1525c705e
[date] => 2017-03-20T15:35:39
)
)
)
私はアクセストークンがうまく取得しています(私のアプリは現在、見つからないため、特権の立ち往生されるのを避けるために、すべての読み取り/書き込み権限を要求し、それらが管理者アカウントでに同意されています)。
これは、ユーザーの応答JSONが想定どおりに完全にフォーマットされていないためです。 Microsoft's Documentationは、Userリソースの完全な表現を示しています。私が必要とする「連絡先」のような他のリソースとのすべての関係が喪失しているようです。ここで私は/users/{id}
を使用してグラフAPIから取得JSONです:
stdClass Object
(
[@odata.context] => https://graph.microsoft.com/beta/$metadata#users(contacts)/$entity
[id] => e4007399-90fb-489d-a0f8-2c577f219638
[accountEnabled] => 1
[assignedLicenses] => Array
(
)
[assignedPlans] => Array
(
)
[businessPhones] => Array
(
)
[city] =>
[companyName] =>
[country] =>
[department] =>
[displayName] => Loic Didelot
[givenName] => Loic
[jobTitle] =>
[mail] =>
[mailNickname] => vendors_mixvoip.com#EXT#
[mobilePhone] =>
[onPremisesDomainName] =>
[onPremisesImmutableId] =>
[onPremisesLastSyncDateTime] =>
[onPremisesSecurityIdentifier] =>
[onPremisesSamAccountName] =>
[onPremisesSyncEnabled] =>
[onPremisesUserPrincipalName] =>
[passwordPolicies] =>
[passwordProfile] =>
[officeLocation] =>
[postalCode] =>
[preferredLanguage] =>
[provisionedPlans] => Array
(
)
[proxyAddresses] => Array
(
)
[refreshTokensValidFromDateTime] => 2017-03-14T09:13:10Z
[showInAddressList] =>
[imAddresses] => Array
(
)
[state] =>
[streetAddress] =>
[surname] => Didelot
[usageLocation] =>
[userPrincipalName] => vendors_mixvoip.com#EXT#@vendorsmixvoip.onmicrosoft.com
[userType] => Member
)
私はこの問題を検索しようとすると、この問題を解決する方法を見つけることができませんでしたが、私はその缶「カスタムプロパティ」の結果を得ます/users/{id}?$select=customPropertyName
を使用して選択してください。これは/users/{id}?$select=contacts
では機能しません。
ご協力いただきありがとうございます。接点があるが、(あなたが私たちのドキュメントの概要のフロントページを見れば、いくつかの例のクエリがあります。またhttps://developer.microsoft.com/en-us/graph/graph-explorer
:
、助けユーザー私はアプリを登録しました。あなたは私のポスト全体を読んでいないかもしれませんが、私は** GET https://graph.microsoft.com/v1.0/users/{id}/contactsを使って連絡先を取得していますが、私はエラー 'リソースは記述できませんでした'を取得しています。このエラーを検索しても役に立ちませんでした。返されたユーザーJSONは、ドキュメント化されたユーザーJSONと同じではないため、完全ではないと考えるようになりました。 – Fred
Microsoftアカウントに登録しましたか?もしそうなら、はい、私たちはこれにいくつかの問題を抱えているので、その機能は無効になっています。完全なエラーメッセージ(要求IDとタイムスタンプを含む)で質問を更新できますか?これはすべてのユーザーにとって失敗しますか?個人の連絡先をフェッチしようとしているユーザーにExchange Onlineのライセンス/メールボックスがない可能性はありますか? –
私はMicrosoftアカウントでアプリを登録しませんでした。これは必須ですか?その場合、なぜ私はそれなしですべてのステップを行うことができますか? (私は20日にエラー応答でポストを更新しました) – Fred