如何让我的应用程序访问公开共享的 Google 云端硬盘文件

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

我正在编写一个下载公开共享的 Google 云端硬盘文件的应用程序。我的应用程序已经知道它需要下载的文件的 ID。以下是我可以做到这一点的三种可能的方法,但没有一种是令人满意的:

1.) 使用 url

https://drive.google.com/uc?id=<fileID>&export=download
下载文件是可行的,但会受到严格的速率限制,因为请求是在没有身份验证的情况下发送的。

2.) 使用 https://www.googleapis.com/auth/drive.file 身份验证下载文件不起作用。这是因为文档说它只提供对“应用程序创建或打开的文件”的访问。

3.) 使用 https://www.googleapis.com/auth/drive 身份验证下载文件是可行的(无需对“drive.file”情况进行任何其他代码修改)。我无法使用此选项,因为使用此范围的应用程序需要进行安全评估。

唯一的出路似乎是使用“drive.file”身份验证,这些文件由应用程序打开。我该怎么做?我认为 Picker API 是从应用程序内部执行此操作的预期方法,但我没有看到支持按特定文件 ID 进行过滤,并且我更喜欢不需要用户输入的解决方案,特别是因为选项 (1) 和 (3) 不需要用户输入。

(顺便说一句,这个安全策略背后的逻辑对我来说没有意义。如果由于安全/身份验证问题而无法实现 (2),那么 (1) 也不应该实现。如果 (2) 是由于速率限制问题而不可能,那么 (3) 应该不可能。我被告知这是预期的行为。)

google-api google-drive-api google-oauth google-authentication google-picker
1个回答
0
投票

我了解您正在开发一个网络应用程序,用于下载公开共享的云端硬盘文件。如果我的假设是正确的,那么您只需要实现 OAuth 2.0 协议。您可以按照基本步骤作为参考。 这里是更深入的网络应用指南。

根据 Google 的 IssueTracker 回答,这是预期的行为。也就是说,您需要先在应用程序中打开公共文件,然后才能下载它。

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