在不注册应用程序的情况下访问个人 Google 驱动器?

Accessing one's personal Google Drive without registering an app?

我想从 Python 以编程方式访问我的个人 Google 驱动器,但我对 the documentation 感到困惑。 Python 方面是微不足道的,但我根本不了解的是一般身份验证设置。该文档链接到与创建 Google 云项目、管理应用程序、管理用户、客户端 ID、创建凭据等相关的其他主题。如果我只想访问我的个人 Google 驱动器,那么所有这些似乎都太过分了只是我的个人用户。目前我卡在我的应用程序尚未通过 Google.

验证的地步

是否有更简单的方法来使用 Google Drive 进行身份验证而无需创建整个应用程序?

有多种方法可以访问 Google api 上的数据。主要考虑三点。

  1. 这是用户私有数据,属于用户的数据。 Public 发布到 YouTube 的视频是 public 您不需要权限即可观看。
  2. 这个用户数据是属于某个用户的私有数据。您在 google 驱动器上的文件是私有的,未经您的许可,任何人都无法查看它们。
  3. 这是开发者拥有和控制的私人用户数据。换句话说,您不会访问应用程序用户拥有的数据。

对于第一个,您可以使用称为 public api 键的东西,它仅表示 google 谁的应用程序正在访问他们的 api。

对于第二个选项,我们使用 Oauth2,这将弹出一个同意屏幕,请求用户同意访问他们的数据。 Oauth2 的问题是您的应用需要经过验证,而在测试阶段,您的刷新令牌只能使用 7 天,然后您需要再次批准同意。

对于第三个选项,您可以使用一种叫做 service account 的东西。服务帐户就像虚拟用户一样,可以预先授权它们访问私有数据。为此,您只需使用服务帐户共享 google 驱动器上的文件即可。然后它可以访问该文件,而无需用户交互来单击同意屏幕。

服务帐户的好处在于您的应用不需要验证。听起来这是你应该考虑的事情。

当您创建 service account credentials 时。使用服务帐户客户端看起来像一个电子邮件地址,并与它共享文件,就像您与 google 驱动器网络应用程序

中的任何其他用户一样

这里有一些关于如何使用服务帐户授权的教程。两者都不适用于云端硬盘,但您应该能够获取授权部分并将其应用于您当前的云端硬盘服务对象。