Google Drive公共文件权限

时间:2018-02-02 08:00:26

标签: google-api google-drive-api

我们说我有一个不可发现的公共文件夹。如果我公开其中一个文件的文件ID以供下载,那么不受信任的用户是否可以获得指向包含该文件的文件夹的链接,或者指向该文件夹中其他文件的链接?我已经对Google API进行了搜索,但未发现任何相关信息。

编辑: 好像有些人还没有得到问题。让我用图解说明一下。我们假设我在Google云端硬盘中有一个公用文件夹:

Folder A |
         |-- File X
         |-- File Y
         |-- File Z

所以问题是,如果其他人拥有文件X的文件ID,我可以使用,那么他可以获得文件夹A的文件ID吗?或者文件Y和Z的文件ID?这就是我所关注的问题。

1 个答案:

答案 0 :(得分:1)

如果您在Google云端硬盘上创建文件,那就是公开的。

  1. 如果您与我共享该文件,那么我可以访问它。
  2. 如果我安装了一个可以访问我的谷歌驱动器帐户的应用程序,该应用程序的所有者可以访问它(真的他们可以访问我的所有文件)
  3. 如果我将链接的副本提供给我的朋友,他们可以访问它。
  4. 从技术上讲,我也可以看到该文件所在的目录。然后,我可以请求查看该目录中的其他文件。如果目录是公共的,那么我可以访问该信息。
  5. 只有您设置为公开的文件才可以访问。

    1. 与公共文件位于同一目录中的文件将公开。
    2. 父目录是公开的,因为它包含公共文件。
    3. 公共驱动器文件的重点是任何人都可以在没有权限的情况下访问它们。你唯一的安全措施就是汤姆在街上不能进行搜索并找到你的文件,或者有一天他们会在google搜索中弹出它吗?

      更新文件ID:

      如果您公开文件ID,那么我可以使用文件ID并使用API​​下载文件,就像使用公共API密钥或使用Google API资源管理器一样。该文件是公共的,任何人都可以下载具有id的文件。过去也可以获取文件ID并使用它来创建URL,以便通过Google Drive网站直接下载。

        

      https://docs.google.com/spreadsheets/d/ {}写到FileID /编辑#GID = 0

           

      https://drive.google.com/drive/folders/ {}写到FileID

      这主要不再适用于Google doc类型的文件。

      我还可以使用文件ID查看文件所在的目录,并请求该目录中的文件列表。

      使用给定文件ID的示例测试

        

      https://www.googleapis.com/drive/v2/files/1AzP6ISIrC8CvK3rTZfNBJ8qZL6LwcaSI?key= {my api key}

      或者只是在本页面上试试我

      Files.Get

      响应

      {
       "kind": "drive#file",
       "id": "1AzP6ISIrC8CvK3rTZfNBJ8qZL6LwcaSI",
       "etag": "\"G9mQazc6pdRCuGfUPB_oyY074Ug/MTUxNTY5MzM4NjYxNA\"",
       "selfLink": "https://www.googleapis.com/drive/v2/files/1AzP6ISIrC8CvK3rTZfNBJ8qZL6LwcaSI",
       "webContentLink": "https://drive.google.com/uc?id=1AzP6ISIrC8CvK3rTZfNBJ8qZL6LwcaSI&export=download",
       "alternateLink": "https://drive.google.com/file/d/1AzP6ISIrC8CvK3rTZfNBJ8qZL6LwcaSI/view?usp=drivesdk",
       "embedLink": "https://drive.google.com/file/d/1AzP6ISIrC8CvK3rTZfNBJ8qZL6LwcaSI/preview?usp=drivesdk",
       "iconLink": "https://drive-thirdparty.googleusercontent.com/16/type/image/png",
       "thumbnailLink": "https://lh3.googleusercontent.com/_vX1BrFIsR-lVnFR1-VS9tp2toDLNfE6Cf1m3RGEIG7--VQfp53OiNbrnLC_rOGmqUbfn6QHQ7c=s220",
       "title": "splash.png",
       "mimeType": "image/png",
       "labels": {
        "starred": false,
        "hidden": false,
        "trashed": false,
        "restricted": false,
        "viewed": false
       },
       "createdDate": "2018-01-11T09:31:51.426Z",
       "modifiedDate": "2018-01-11T17:56:26.614Z",
       "markedViewedByMeDate": "1970-01-01T00:00:00.000Z",
       "version": "8",
       "parents": [],
       "downloadUrl": "https://doc-0g-6o-docs.googleusercontent.com/docs/securesc/1mngaurn1r7pdnvlih02e6t9l8me2de5/3q2i7ak140vftlc9c96evgvnsmri4m4v/1517565600000/18429462472537742596/06030588225573437243/1AzP6ISIrC8CvK3rTZfNBJ8qZL6LwcaSI?e=download&gd=true",
       "userPermission": {
        "kind": "drive#permission",
        "etag": "\"G9mQazc6pdRCuGfUPB_oyY074Ug/WUHObW5vTApa-BsGvLisiOGqWbA\"",
        "id": "me",
        "selfLink": "https://www.googleapis.com/drive/v2/files/1AzP6ISIrC8CvK3rTZfNBJ8qZL6LwcaSI/permissions/me",
        "role": "reader",
        "type": "user"
       },
       "originalFilename": "splash.png",
       "fileExtension": "png",
       "md5Checksum": "108e62ba72a0b33cb4bc7628e48d2e2c",
       "fileSize": "22375",
       "quotaBytesUsed": "0",
       "ownerNames": [
        "WU JUANG CHEN"
       ],
       "owners": [
        {
         "kind": "drive#user",
         "displayName": "WU JUANG CHEN",
         "isAuthenticatedUser": false,
         "permissionId": "18429462472537742596",
         "emailAddress": "XXXX@connect.hku.hk"
        }
       ],
       "lastModifyingUserName": "WU JUANG CHEN",
       "lastModifyingUser": {
        "kind": "drive#user",
        "displayName": "WU JUANG CHEN",
        "isAuthenticatedUser": false,
        "permissionId": "18429462472537742596",
        "emailAddress": "xxxxx@connect.hku.hk"
       },
       "capabilities": {
        "canCopy": true,
        "canEdit": false
       },
       "editable": false,
       "copyable": true,
       "writersCanShare": true,
       "shared": true,
       "explicitlyTrashed": false,
       "appDataContents": false,
       "headRevisionId": "0B-l1jDyJ1EfRZERkZnJmcUZxRHlkUzk0bEx6bmhMUzd3WXdrPQ",
       "imageMediaMetadata": {
        "width": 375,
        "height": 812,
        "rotation": 0
       },
       "spaces": [
        "drive"
       ]
      }
      

      分析

      1. 我有您的电子邮件地址" emailAddress":" XXXX@connect.hku.hk"并命名
      2. 文件https://drive.google.com/file/d/1AzP6ISIrC8CvK3rTZfNBJ8qZL6LwcaSI/view?usp=drivesdk的视图链接及其下载链接。
      3. 注意:" parent":[]应包含此文件的父目录的ID。我将假设它是私有或在您的根目录中。如果你说这个文件的目录是公开的,我认为谷歌的一个很棒的功能就是不显示这个。

        这意味着答案是,如果您拥有文件ID,则无法访问文件夹ID。