Rod*_*ues 6 python google-drive-api
我想将Saas Appication的文件保存到我的Google云端硬盘帐户中,我看到的所有示例都是使用oauth2自动生成的,并且需要最终用户自动打开浏览器,我需要从服务器上载文件而没有任何用户互动,将文件直接发送到我的帐户!
我尝试了很多在互联网上找不到成功的教程,主要是官方的
如何以编程方式从服务器中自动备份文件,上传文件并使用API功能(例如共享文件夹等)?
我使用的是Python,lib PyDrive使用了相同的方法来自动化
您可以执行此操作,但是需要使用Service Account,它是(或可以用作)应用程序的帐户,不需要打开浏览器。
该文档位于:https : //developers.google.com/api-client-library/python/auth/service-accounts
还有一个示例(没有PyDrive,它只是所有这些的包装,但是使服务帐户有些棘手):
from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials
from httplib2 import Http
scopes = ['https://www.googleapis.com/auth/drive.readonly']
credentials = ServiceAccountCredentials.from_json_keyfile_name('YourDownloadedFile-5ahjaosi2df2d.json', scopes)
http_auth = credentials.authorize(Http())
drive = build('drive', 'v3', http=http_auth)
request = drive.files().list().execute()
files = request.get('items', [])
for f in files:
print(f)
Run Code Online (Sandbox Code Playgroud)
查看对 Web 服务器应用程序使用OAuth 2.0 。看来这就是您要找的。
任何使用 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。
我们建议您设计应用程序的身份验证端点,以便您的应用程序不会向页面上的其他资源公开授权代码。