我不確定我是否遇到錯誤或者我做錯了什麼。我正在開發一款應用程序,允許用戶在其Google雲端硬盤上創建和共享文件夾,以便他們可以協作處理該文件夾的內容。該文件夾在用戶的Google Drive的根目錄下創建,最初包含一對文件和一個包含更多文件的子文件夾。Google Drive API權限傳播和文件userPermission屬性
第一個問題是,在主文件夾上插入新權限後,權限通常會傳播到所有文件和子文件夾,但有時無法將權限插入到子文件中的某個文件中目錄。這種功能是否將權限傳播給子目錄,這些東西是官方支持的,或者我想將權限分別插入到所有文件中?
我遇到的第二個問題涉及使用文件的userPermission屬性來檢查當前用戶的角色是否已更改。看起來,userPermission屬性有時包含最近用戶的權限而不是當前用戶的權限。我試圖實現的功能是,共享文件夾的用戶能夠定期檢查其權限角色是否已更改。例如,用戶權限角色已從「讀者」更改爲「作者」,反之亦然。這通常通過使用fileId列出文件夾並檢查文件的userPermission屬性的角色屬性起作用。但是,如果我在共享的用戶和與之共享的用戶在同一個客戶端上工作的情況下測試此功能,則get文件結果通常會將userPermission列爲最後一個訪問文件而不是當前用戶。我已經測試過,如果這是因爲我在請求頭中使用了錯誤的oauth信息,但我已經排除了這種可能性,oauth頭對於每個單獨的調用來獲取文件都是正確的。我添加了一個關於witch的測試調用,其中列出用戶permissionId,就在調用獲取文件以確認授權用戶是誰之前。用「我」名稱顯示用戶權限顯示爲錯誤的用戶。
我發現的解決方法是使用列表文件,它使用正確的userPermission返回列表中的文件。
在位於https://developers.google.com/drive/v2/reference/files#resource的參考文獻中,userPermission屬性的描述爲「該文件上經過身份驗證的用戶的權限」。
我錯了解釋這意味着userPermission將始終顯示當前用戶的角色?如果它顯示錯誤的權限,可能是什麼原因?