使用圖形API將文件上傳到Office 365組的OneDrive後,我們希望撤銷文件的默認權限。但是,在最近才創建的小組中,這失敗了。新Office 365組中的撤銷默認權限失敗
默認情況下,文件的權限是「組名業主」,「組名成員」和「組名訪問者」。我們希望刪除這些權限並授予對特定AD安全組的訪問權限。
上傳文件後,我們看到兩個不同的結果,當獲得默認權限(準備刪除它們)。
在一種情況下,我們獲得了四個權限 - 上面列出的三個權限,以及具有授權給的'特殊'權限,該用戶的ID與組ID相匹配。我們瞭解到不會刪除此權限,因爲我們失去了刪除其他權限的能力。
這裏,這個「特殊」的權限是列出的第一個:
{
"@odata.context": "https://graph.microsoft.com/V1.0/$metadata#drives('b%21Y25ow5oitkOvNToutf7LrYZ-y78P2jBEjoGLzb3oPqnw0a3YKFDwTobjTB4gYxKt')/root/permissions",
"value": [
{
"grantedTo": {
"user": {
"id": "273c2c33-8533-445d-ae65-4b63be296995",
"displayName": "SharePoint Tests"
}
},
"id": "Yzowby5jfGZlZGVyYXRlZGRpcmVjdG9yeWNsYWltcHJvdmlkZXJ8MjczYzJjMzMtODUzMy00NDVkLWFlNjUtNGI2M2JlMjk2OTk1X28",
"roles": [
"write"
]
},
{
"grantedTo": {
"user": {
"displayName": "SharePoint Tests Owners"
}
},
"id": "U2hhcmVQb2ludCBUZXN0cyBPd25lcnM",
"roles": [
"SP.Full Control",
"write"
]
},
{
"grantedTo": {
"user": {
"displayName": "SharePoint Tests Visitors"
}
},
"id": "U2hhcmVQb2ludCBUZXN0cyBWaXNpdG9ycw",
"roles": [
"read"
]
},
{
"grantedTo": {
"user": {
"displayName": "SharePoint Tests Members"
}
},
"id": "U2hhcmVQb2ludCBUZXN0cyBNZW1iZXJz",
"roles": [
"SP.Edit"
]
}
]
}
然而,後組已經創建,上傳文件後,我們只拿到3個權限回來時期 - 特殊上面提到的一個缺失。在這種情況下,嘗試刪除其他權限會失敗,並顯示'未經驗證的'錯誤代碼。例如。
DELETE https://graph.microsoft.com/V1.0/drives/b!zn7l0OHTmUa3lGABIbIGQIZ-y78P2jBEjoGLzb3oPqnw0a3YKFDwTobjTB4gYxKt/items/013LUA5IQEPURED3OSURAI27FBHDYLFQJP/permissions/U2FnZSAtIFBBUiBTZWN1cml0eSA0IE93bmVycw
我們仍然可以添加權限,只是沒有撤銷默認的。
對於在給定的Office 365 Unified Group內創建的所有文件,創建好幾分鐘之後,這種情況似乎會持續存在。
我們目前唯一的選擇是創建一個虛擬文件,並查看我們是否獲得3或4個權限(或者只是嘗試刪除默認權限)。如果我們在一段時間後只能再次嘗試3次。但是這似乎是一個脆弱的黑客攻擊,並且會在我們的上傳過程中增加大量時間(幾分鐘)。
有沒有人有任何更好的建議,或解釋這種行爲?
感謝
更新 - 在我們最近的一次測試中,我們發現創建該組的權限爲64分鐘後被撤銷。 –