gpt4 book ai didi

google-app-engine - 如何从 Google App Engine 使用 Google Drive API?

转载 作者:太空宇宙 更新时间:2023-11-03 15:23:02 24 4
gpt4 key购买 nike

我在 GAE (Python 2.7) 中有一个应用程序,现在需要访问 Google 云端硬盘以显示(共享)文件夹和文档列表。

搜索通常会导致指向 DrEdit 的指针,包括 App Engine and Google Drive API ,它问了同样的问题,但接受了我不同意的答案,因为 DrEdit 是 Google Drive 的示例应用程序,而不是 GAE。

来自 Drive API 的文件列表是我希望能够从 GAE 使用的:https://developers.google.com/drive/v2/reference/files/list

最佳答案

虽然 Google App Engine 和 Google Drive 都是 Google 的产品,但遗憾的是它们并没有直接关联。您必须安装 google-api-python-client 库才能访问 Google Drive API。

可以在 Python Google Drive API Quickstart Guide 找到该过程, 总结形式如下:

  1. Google 方面:允许您的 GAE 程序访问 Drive API

    • > Activate Drive API .单击转到凭据按钮继续...
    • 创建您的同意屏幕:设置您的 OAuth 同意屏幕,因为如果未设置,Google 会抛出奇怪的错误:
      • 点击 OAuth 同意屏幕标签
      • 选择电子邮件地址并输入产品名称
    • 获取凭据:
      • 点击凭据标签
      • 选择添加凭据,然后选择OAuth 2.0 客户端 ID。选择您的申请类型,并输入相关详细信息。您可以稍后更改它们!
      • 返回“凭据”选项卡,下载 JSON 凭据(一直到表格的右侧,只有将鼠标悬停在下载按钮附近时才会显示下载按钮)。将其重命名为 client_secret.json 并将其放在您的根代码目录中。您将需要它来向用户请求凭据。
  2. 在你这边:Download the google-api-python-client library ,将其解压缩到您的代码目录中并运行 python setup.py install。这将安装包含许多 Google 产品 API 的库。

  3. 现在您可以使用 Drive API 了。您可以使用 sample code 测试您的访问权限.阅读它是因为它是编写您自己的代码的良好指南!如果您正在访问用户数据,您将需要在他们登录时请求用户凭据并且很可能会存储它们。然后,要使用 API,最简单的方法是获取 service 对象:

    import httplib2
    from apiclient import discovery

    credentials = get_credentials() #Your function to request / access stored credentials
    #Authorise access to Drive using the user's credentials
    http = credentials.authorise(httplib2.Http())
    #The service object is the gateway to your API functions
    service = discovery.build('drive', 'v2', http=http)

    #Run your requests using the service object. e.g. list first 10 files:
    results = service.files().list(maxResults=10).execute()
    # ... etc ... Do something with results

以上代码片段修改自sample code .

Google Drive 的引用 API 可以是 found here .

将 GAE 链接到其他 Google 产品的 API 也需要相同的一般程序,例如日历。祝您编写程序一切顺利!

关于google-app-engine - 如何从 Google App Engine 使用 Google Drive API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16524119/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com