设置谷歌驱动器文件访问权限“任何有链接访问权限”给出403.如何解决?

问题描述 投票:0回答:1

发出API请求 making the api request

403回应 403 response

我想以编程方式设置我的google驱动器文件的权限,就像任何人都有谷歌驱动器共享链接所以他可以阅读。把role设为readertype作为anyone后尝试ap​​i给了我403。任何帮助,将不胜感激。请参考上面的图片。

这是我的HTTP GET响应的一部分

    "userPermission":{  
      "kind":"drive#permission",
      "etag":"\"v8V6DvTBE_bfiGlEO9jLLdDEcEE/vrb4MS7MSuazJcKlWO78yMuKxF0\"",
      "id":"me",
      "selfLink":"https://www.googleapis.com/drive/v2/files/1Vnp6v2VSE3sHKb9H9ChJPc8VPozuVtyd/permissions/me",
      "role":"owner",
      "type":"user"
   },
   "originalFilename":"1200px-Arriva_T6_nearside.JPG",
   "fileExtension":"JPG",
   "md5Checksum":"52f04535ea275c8be7ad87853a49fb87",
   "fileSize":"343589",
   "quotaBytesUsed":"343589",
   "ownerNames":[  
      "Dev Drive"
   ],
   "owners":[  
      {  
         "kind":"drive#user",
         "displayName":"Dev Drive",
         "isAuthenticatedUser":true,
         "permissionId":"00918695921514386946",
         "emailAddress":"[email protected]"
      }
   ],
google-api google-drive-api
1个回答
1
投票
{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "insufficientFilePermissions",
    "message": "The user does not have sufficient permissions for this file."
   }
  ],
  "code": 403,
  "message": "The user does not have sufficient permissions for this file."
 }
}

仅表示当前经过身份验证的用户没有该文件的权限。用户无法对他们没有权限的文件执行操作。

我建议您对正在使用的文件ID执行File.get,并查看当前经过身份验证的用户对该文件的权限。您还可以看到该文件的所有者。

请注意,我正在测试的文件是由另一个用户与我共享的。我没有它的所有权,因为无法创建它的权限。

  {
   "kind": "drive#user",
   "displayName": "xxx",
   "photoLink": "xxx",
   "me": false,
   "permissionId": "x642264676680223635",
   "emailAddress": "[email protected]"
  }

将文件设置为public不会创建公共读取链接。根据文件类型,它可能包含webViewLink,但并非所有文件类型都适用。

如何解决您的403.找到拥有您正在使用的ID的文件的用户并让他们插入权限。或者对当前用户拥有的文件插入权限。

© www.soinside.com 2019 - 2024. All rights reserved.