【问题标题】:Google Drive API permission to children files对子文件的 Google Drive API 权限
【发布时间】:2021-07-30 05:19:49
【问题描述】:

我们希望访问客户在其 Google 云端硬盘中的文件夹以及该文件夹下的所有文件。这可以是我们从应用创建的文件夹,也可以是客户选择的文件夹。

  1. 我尝试的第一种方法是从应用程序创建文件夹。 问题是我只能列出文件夹本身,但没有内容。 https://developers.google.com/drive/api/v3/folder
  2. 第二种方法是使用 Google Picker API。那里 客户可以选择允许我们访问的文件夹。然而我们 只能访问该文件夹,而没有孩子 文件夹/文件。 https://developers.google.com/picker/docs

这似乎是一个简单直接的用例。但似乎无法在他们的文档中找到解决方案,或者我可能不理解其中的一些逻辑。一种解决方案是一种将权限传播到它所选择或创建的文件夹中包含的所有文件的方法……或者让选择器选择所有子项。

我的偏好是继续使用推荐范围 https://www.googleapis.com/auth/drive.file 。并且可能是该文件夹包含数千个多个级别的单个文件,因此手动选择文件不是解决方案。对此的任何想法将不胜感激,谢谢!

【问题讨论】:

    标签: google-drive-api google-picker


    【解决方案1】:

    您的情况可能的解决方案...

    是在shared drive中创建文件夹。

    因此,即使添加/更新/删除了新文件,您仍然可以查看所有更新并检索所需信息,因为您将拥有持续访问此文件夹的权限。

    另一种更麻烦的解决方案...

    是在每次使用应用程序时征求用户的许可并重新授权应用程序,以便在添加新文件的情况下您可以访问它。

    参考

    【讨论】:

    • 嗨 Ale13,感谢您的回答。 1. 不知道共享云端硬盘,但仔细研究后发现,它只是 G Suite 帐户的功能。我们的大多数客户都是小企业,所以我们不能真正使用它。 2. 关于每次重新授权的第二种解决方案并没有那么糟糕,但是您如何访问文件夹中包含的文件?如果你选择它,你只能看到文件夹而不是里面的内容。
    【解决方案2】:

    我尝试的第一种方法是从应用程序创建文件夹。问题是我只能列出文件夹本身,但没有内容。 https://developers.google.com/drive/api/v3/folder

    问题可能是您授权用户的范围。如果您授权只读访问权限,您将无法创建,您需要完全驱动器访问权限才能执行此操作。

    如果您使用的是https://www.googleapis.com/auth/drive.file,那么您应该使用它创建一个文件夹,然后在我认为应该可以工作的文件夹中创建一个文件。

    第二种方法是使用 Google Picker API。在那里,客户可以选择让我们访问哪些文件夹。但是,我们只能访问该文件夹,而不能访问任何子文件夹/文件。 https://developers.google.com/picker/docs

    无法请求访问单个文件夹或文件。除非您使用 https://www.googleapis.com/auth/drive.file 范围,否则它只会让您访问您的应用程序创建的文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-20
      • 1970-01-01
      • 2016-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多