天天看點

Microsoft 365 開發篇:如何在SPO中擷取一套完整的權限變化

51CTO部落格位址:https://blog.51cto.com/1396817

部落格園部落格位址:https://www.cnblogs.com/bxapollo

Microsoft Graph 是一個RESTful web API,可以通過它來通路Microsoft 雲伺服器資源,注冊應用程式并擷取使用者或服務的身份驗證令牌後,可以向Microsoft Graph API請求。

預設的情況下,Deltalinks(Token)是一個使用者範圍的API,可用于類似同步的行為,比如可以擷取一個完整的權限枚舉來驗證,Delta嘗試将基于權限的更改範圍限定為Caller相關的更改,如果caller的通路權限沒有因權限更改而改變,則該項可能不會包含在增量結果中。

擷取權限的前提條件:確定遵守aca.ms/scanguidance中的建議,否則将導緻擷取權限更改範圍的縮小。

擷取權限的方法:

對sites.fullcontrol使用使用僅适用于應用程式的身份驗證

所有範圍和pass header “preferred"="deltashowsharingchanges.hierarchicalsharing"

實作步驟:

1. 在AAD建立一個應用程式,并且有sites.fullcontrol等如下權限

Microsoft 365 開發篇:如何在SPO中擷取一套完整的權限變化

 2. 采用如下powershell腳本生成access token和delta token link:

3. 從上面的腳本複制access token 和deltauri值輸出,并在下面的示例powershell腳本中使用它們來檢索完整的權限更改集。

相關參考資料:

Use the Microsoft Graph API

Track Changes for a Drive