来自服务器(Backend)的带有Python的Google Drive API,无需浏览器身份验证

时间:2017-09-27 20:56:25

标签: python google-drive-api

我想将我的Saas Appication的文件保存到我的Google云端硬盘帐户,我所见的所有示例都是oauth2认证,需要最终用户开启浏览器,我需要上传来自我的服务器的文件没有任何用户交互,直接将文件发送到我的帐户!

我尝试过很多在互联网上找到的教程但没有成功,主要是官方的

Google Drive API with Python

如何以编程方式从我的服务器进行身份验证并上传文件并使用共享文件夹和其他API等API功能?

我使用Python,lib PyDrive使用相同的方法进行autenticate

4 个答案:

答案 0 :(得分:0)

结帐使用OAuth 2.0 for Web Server Applications。这似乎是你正在寻找的东西。

  

任何使用OAuth 2.0访问Google API的应用程序都必须具备   用于向Google标识应用程序的授权凭据   OAuth 2.0服务器。以下步骤说明如何创建   您的项目的凭据。然后您的应用程序可以使用   用于访问已为该项目启用的API的凭据。

     

在API控制台中打开“凭据”页面。单击创建凭据    OAuth客户端ID。完成表格。将应用程序类型设置为Web应用程序。使用PHP等语言和框架的应用程序   Java,Python,Ruby和.NET必须指定授权的重定向URI。   重定向URI是OAuth 2.0服务器可以使用的端点   发送回复。对于测试,您可以指定引用的URI   本地计算机,例如http://localhost:8080

     

我们建议您设计应用的身份验证端点,以便您的   应用程序不会将授权代码公开给其他资源   页面。

答案 1 :(得分:0)

我知道答案已经很晚了,但这对我有用:

使用相同的API,这次在您的计算机上,它将生成一个Storage.json,与脚本一起使用将解决此问题(特别是在诸如heroku之类的只读平台中)

答案 2 :(得分:0)

要添加到andyhasit的答案中,使用服务帐户是正确且最简单的方法。

使用JSON密钥文件的问题是,很难将代码部署到其他任何地方,因为您不希望该文件处于版本控制中。一个更简单的解决方案是使用如下环境变量:

https://benjames.io/2020/09/13/authorise-your-python-google-drive-api-the-easy-way/

答案 3 :(得分:0)

可能有点晚了,但我一直在通过 python、js 和 .net 使用 gdrive,一旦您获得授权码上的授权码,这里是一个建议的解决方案(REST API) How to refresh token in .net google api v3?

如果您有任何问题,请告诉我