我想通过 Python 以编程方式访问我的个人 Google 云端硬盘,但我对 文档感到困惑。 Python方面很琐碎,但我根本不明白的是一般的身份验证设置。该文档链接到与创建 Google Cloud 项目、管理应用程序、管理用户、客户端 ID、创建凭据等相关的其他主题。如果我只想使用我的个人用户访问我的个人 Google Drive,那么所有这些似乎都有些过分了。目前我陷入了我的应用程序尚未经过 Google 验证的困境。
有没有一种更简单的方法可以通过 Google Drive 进行身份验证,而无需创建整个应用程序?
有多种方法可以访问 Google api 上的数据。主要需要考虑三件事。
对于第一个,您可以使用称为公共 api 密钥的东西,它仅向 google 表示谁的应用程序正在访问他们的 api。
对于第二个选项,我们使用Oauth2,它将弹出一个同意屏幕,请求用户同意访问其数据。 Oauth2 的问题是您的应用程序需要进行验证,而在测试阶段,您的刷新令牌只能有效 7 天,然后您需要再次批准同意。
对于第三个选项,您可以使用称为“服务帐户”的东西。服务帐户就像虚拟用户一样,可以预先授权它们访问私人数据。您只需与服务帐户共享 Google 云端硬盘上的文件即可实现此目的。然后,它可以访问该文件,而无需用户交互来单击同意屏幕。 服务帐户的好处是您的应用程序不需要进行验证。听起来这是你应该考虑的事情。
当您创建
服务帐户凭据时。让服务帐户客户端看起来像一个电子邮件地址,并与其共享文件,就像您与 Google Drive Web 应用程序中的任何其他用户共享文件一样 这里有一些关于如何使用服务帐户授权的教程。两者都不适用于 Drive,但您应该能够获取授权部分并将其应用到您当前的 Drive 服务对象。
然后您可以对之前共享到服务帐户的文件使用 Google Drive API。
请参阅
Linda Lawton - DaImTo3.这些私人用户数据是否由开发者拥有和控制。换句话说,您没有访问用户拥有的数据 您的申请...对于第三个选项,您可以使用称为服务帐户的东西。 服务帐户就像虚拟用户一样,可以对其进行预授权 访问私人数据。您只需分享例如您的 使用服务帐户在谷歌驱动器上保存文件。然后它可以访问该 文件,无需用户交互即可单击同意屏幕...
当您创建服务帐户凭据时。接受服务 帐户客户端看起来像一个电子邮件地址并与其共享文件 就像您对 Google 云端硬盘网络应用程序中的任何其他用户一样。
通过这种方法,我们不需要创建应用程序。