我嘗試使用微軟圖形API,以獲取有關用戶的信息。在Azure的AD某一特定羣體。我需要將數據作爲數據倉庫ETL任務的一部分。從其他雲應用程序提取數據時,我已獲得一個API密鑰並將密鑰放置在授權標頭中。如何在沒有用戶委託的情況下使用OAuth? - 微軟圖形API
OAuth是新的給我(除了經歷過它的用戶),我覺得我理解的概念,但我相信有些事情我沒有把握正確的。
問題:
我使用,我收到訪問令牌時,得到的GET請求一個401錯誤http://graph.microsoft.com/v1.0/groups。
所採取的步驟:
- 顯然,我必須要註冊一個應用程序 - 即使我真的不試圖在這裏建立一個應用程序 - 所以我這樣做是對在應用程序的註冊門戶。 dev.microsoft.com
我試着使用PowerShell來測試所看到在下面的代碼數據的拉動:
$ URI = 「https://login.microsoftonline.com/7b...3h/oauth2/v2.0/token」
$body = @{ tenant="7b...3h"
client_id="12...67"
scope="https://graph.microsoft.com/.default"
client_secret="3g...x4"
grant_type="client_credentials"}
$token = Invoke-RestMethod -Uri $uri -Body $body -Method "Post"
$header = @{ Authorization="Bearer " + $token.access_token}
$groups_uri = "https://graph.microsoft.com/v1.0/groups"
$response = Invoke-RestMethod -Uri $groups_uri -Headers $header
我收到一個令牌,但是當我嘗試做GET請求,我收到一個401錯誤。
我的思想
我覺得需要範圍改變,但是當我改變範圍「Groups.Read.All」,我得到一個消息,它不是一個有效的範圍。我不確定下一步該去哪裏。我讀到的有關OAuth的一切都是關於委託用戶的權限,而不是我想要做的。我只是想定期用服務拉一些數據。
請問'的https:// graph.microsoft.com/Group.Read.All'範圍的工作?此外,請嘗試爲令牌請求指定'resource = https:// graph.microsoft.com'。 – juunas
我已經試過範圍已經但我得到一個錯誤,指出:對輸入參數 「範圍」提供的值是無效的。 – jaromey
你是否建議我在請求的主體中添加資源作爲參數以獲取令牌?我剛剛嘗試過,它說:'資源'請求參數不支持 。 – jaromey