2012-08-23 78 views
2

我正在我的android應用程序中的Google Drive上共享文件。這是場景...用戶A與用戶B共享文件,給他/她「作家」的角色。後來,健忘的用戶A再次與用戶B共享相同的文件,這次給他/她「讀者」角色。我的問題是,這會覆蓋第一個權限嗎?還是應該處理檢查現有文件權限?Google Drive API - 添加和更新權限

回答

1

您可以使用drive.permissions.update更新permissionrole財產,前提是你必須fileIdpermissionIdrole屬性將被覆蓋。但是,如果您注意到,有一個additionalRoles[]屬性,它允許您爲賦予用戶的權限添加次要角色。目前,只允許commenter。也許在未來,更多的角色將被添加到該屬性中。

你可以自己使用Google API Explorer確認:

  1. 首先,發送drive.files.list請求獲得共享 文件的fileId
  2. 發送drive.permissions.list請求與fileId得到 permissionId的用戶(這是id在響應)。
  3. 隨着fileIdpermissionId,現在你可以使用 drive.permissions.update來改變用戶的該角色發送 在體內role屬性的請求。
+0

謝謝!所以爲了獲得'permissionId',我必須循環訪問權限列表,並獲得值屬性等於用戶電子郵件的權限,對吧? –

+0

如果您只想獲得授權給已認證用戶的權限(使用您的應用),請發送'drive.files.list'請求就足夠了。該響應將包含'userPermission'字段,該字段向該文件提供該用戶的'id','role','type'。請注意,您可以將權限'id'用作'me',而不是驗證用戶的完整id字符串。否則,如果你想獲得授予所有用戶的權限,那麼是的,你需要發送'drive.permission.list'請求來獲取用戶列表並更新他們的角色 – KiL

+1

我不確定用戶是誰擁有'所有者'角色可以改變爲另一個角色。我試着用API瀏覽器,它給了我'500內部服務器錯誤' – KiL