2017-07-07 48 views
2

我遇到了Microsoft Graph API的問題......目前我有一個Web應用程序,它使用通用v2端點與Microsoft/Azure進行openid集成。無法獲取微軟圖譜API上的用戶公司信息

我們正在嘗試獲取登錄的用戶公司名稱和職位信息。官方文檔說我們需要向MS Graph API發出請求。

我們正在Microft Graph Explorer上測試它,但它似乎不起作用。

我們已經選擇了「User.Read」在我們的應用程序權限,然後試圖這些端點:

https://graph.microsoft.com/v1.0/me/ 
https://graph.microsoft.com/v1.0/me?$select=companyName,jobTitle 
https://graph.microsoft.com/v1.0/users/?$select=companyName,jobTitle 

在MS官方對用戶文檔(https://developer.microsoft.com/en-us/graph/docs/concepts/permissions_reference)/備註部分,它清楚地說, "On reads, only a limited number of properties are returned by default. To read properties that are not in the default set, use $select"

這個文檔過時了嗎? 我試圖達到開發人員的MS支持,但他們回答說,我應該問這個堆棧溢出... 因此,可能有沒有官方支持開發人員? 是否真的有可能從MS賬戶獲得公司名稱和職位?

在此先感謝!

編輯。更新問題與MS圖探險家截圖 enter image description here enter image description here

edit.2。使用適當的編碼更新截圖。

此外,它是一個MS帳戶而不是Azure帳戶,因爲我們的Web應用程序在通用v2端點上同時接受這兩個帳戶。

更新

我的目標是試圖獲得來自MSA帳戶Work Info部分。 enter image description here

+0

你得到了什麼樣的錯誤?我使用[Microsoft Graph Explorer](https://developer.microsoft.com/en-us/graph/graph-explorer)和https://graph.microsoft.com/v1.0/上的默認帳戶進行測試我/?$ select = companyName,jobTitle'給了我很好的結果,即使'companyName'爲'null'(因爲它是)。 –

+0

@ShawnTabrizi實際上,沒有錯誤... 當試圖在'https://graph.microsoft.com/v1.0/me/?$select=companyName,job Title'查詢時,我只收到相同的迴應爲'https:// graph.microsoft.com/v1.0/me',沒有公司名稱或職位(我的帳戶中有這兩個信息) –

+0

您能否顯示快速截圖?確保隱藏任何敏感信息。 –

回答

1

的文檔是正確的,默認情況下我們只返回user properties一個子集:

  • ID
  • 的UserPrincipalName
  • 顯示名
  • 給定名稱
  • JOBTITLE
  • 郵件
  • mobilePhone
  • businessPhones
  • 辦公室位置
  • preferredLanguage

如果你想有一個不同的屬性集,則可以使用$select查詢參數要求他們。您在問題中提供的查詢應該可以正常工作。例如,當我執行在Graph Explorerhttps://graph.microsoft.com/v1.0/me?$select=companyName(後與我的證書登錄)我得到以下幾點:

{ 
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(companyName)/$entity", 
    "companyName": "MICROSOFT" 
} 

更新關於MSA

當使用針對Microsoft帳戶(MSA)的Microsoft Graph有是什麼屬性得到浮現的幾個差異。由於MSA根據定義爲個人/個人賬戶,因此組織屬性(如職位和辦公地點)根本不適用。

+0

我用截圖更新了問題,即使使用'$ select'參數,我的圖形瀏覽器響應與'/ me'端點相同。 –

+0

這看起來像一個UTF編碼問題。你偶然將它粘貼到文本框中?如果你看看結果,它會顯示'job%E2%80%8C%E2%80%8BTitle'而不是'jobTitle'。 –

+0

對不起,我做了粘貼,但這不是問題的根源。我已經用適當的編碼截圖再次更新了這個問題。 正如@Shawn Tabrizi指出的,這是一個MSA賬戶,不是AAD賬戶。 –

相關問題