公司我工作的需求,開發出將出口Office 365的聯繫人,並將其導入到我們的用戶配置文件的聯繫人的API。這是作爲某種守護進程運行的。微軟圖形API - 用戶響應JSON無法完成
我發現微軟的圖形API,並一直在努力爲天,讓它運行,但戴隱形眼鏡的功能似乎並沒有爲我工作。
我正在使用資源graph.microsoft.com
並嘗試使用PHP cURL與 /users/{id}/contacts
聯繫。
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顯示了用戶資源的完整表示。我似乎錯過了與其他資源的所有關係,比如我需要的「聯繫人」。下面是使用/users/{id}
的JSON我從圖形API獲得:
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
。
在此先感謝您的幫助。
我已經試過圖探險家,但它不會讓我與登錄用戶我已經註冊了該應用程序。您可能沒有閱讀我的整篇文章,我**是使用'GET https://graph.microsoft.com/v1.0/users/{id}/contacts'來獲取聯繫人,但它沒有工作,我收到錯誤'資源無法描述'。搜索這個錯誤並沒有幫助,它讓我認爲返回的用戶JSON並不完整,因爲它與記錄的用戶JSON不一樣。 – Fred
您是否註冊使用Microsoft帳戶?如果是這樣,是的,我們遇到了一些問題,因此禁用了該功能。你能否用一個完整的錯誤信息(包括request-id和timestamp)來更新你的問題?這對所有用戶都會失敗嗎?您嘗試獲取個人聯繫人的用戶是否有可能沒有Exchange Online許可證/郵箱? –
我沒有使用Microsoft帳戶註冊該應用程序。這是必須的嗎?在那種情況下,爲什麼我能夠在沒有它的情況下完成所有步驟? (我在20日更新了錯誤回覆的帖子) – Fred