gpt4 book ai didi

python - 从 Google App Engine Python 应用程序访问 Google 云端硬盘

转载 作者:太空狗 更新时间:2023-10-30 00:17:50 25 4
gpt4 key购买 nike

我有一个现有的具有很多功能的 Google App Engine Python 应用程序。我现在想将 Google Drive 集成到应用程序中。具体来说,我希望我的应用能够:

  1. 在我用户的 Google 云端硬盘中创建一个空文件,我的用户可以在其中创建 Google 文档。
  2. 从 Google 云端硬盘中检索该文件,以便在我的应用中进行进一步处理。
  3. 定期将其发送回 Google 云端硬盘,以便用户可以将其作为 Google 文档进行进一步编辑。

如果知道如何做我正在尝试做的事情的人可以将我定向到满足我的特定要求的特定 Google 网页(而不是一般性回答,如“请参阅 DrEdit例子”)。提前致谢!

更新:

根据回答 1 中的建议,根据 drive-v2-python-appengine 中生成的示例代码,这是我的程序,其中包含用于创建空文件的 RequestHandler:

import os
import webapp2

import io

from google.appengine.api import memcache

import httplib2
from apiclient.discovery import build
from apiclient.http import MediaIoBaseUpload
from oauth2client.appengine import oauth2decorator_from_clientsecrets


decorator = oauth2decorator_from_clientsecrets(
os.path.join(os.path.dirname(__file__), 'client_secrets.json'),
scope=[
'https://www.googleapis.com/auth/drive',
])

http = httplib2.Http(memcache)
drive_service = build("drive", "v2", http=http)


class CreateEmptyFile(webapp2.RequestHandler):
@decorator.oauth_required
def get(self):
body = {
'title': 'Sample Document',
'description': 'A sample document',
'mimeType': 'text/plain'
}
media_body = MediaIoBaseUpload(io.BytesIO(""), mimetype='text/plain', resumable=True)
file = drive_service.files().insert(body=body, media_body=media_body).execute()
self.redirect("/synopsis")

测试有点令人困惑,因为偶尔当我运行它时,包括第一次,它会打开访问请求页面,但大多数时候不会。我用过 https://accounts.google.com/b/0/IssuedAuthSubTokens?hl=en撤销对 Drive 和 Drive 的访问权限不再出现在列表中,但我想执行访问权限撤销存在一个小时或更长时间的时间延迟。不确定,也没有看到它的记录。

无论如何,如果我注释掉对 drive_service.files().insert() 的调用,它不会中止,并会重定向到我的概要页面。我相信这意味着授权工作正常,因为这使得它类似于生成的示例代码。

但是,如果我取消注释 insert 并为媒体正文使用 resumable=True,我会得到:

ResumableUploadError: Failed to retrieve starting URI.

如果我使用 resumable=False,我会得到:

HttpError: <HttpError 401 when requesting https://www.googleapis.com/upload/drive/v2/files?uploadType=multipart&alt=json returned "Login Required">

所以我好像可以通过OAuth 2.0授权,但是不能插入文件。

最佳答案

请尝试我们的快速启动应用程序: https://developers.google.com/api-client-library/python/start/installation

您可以创建快速入门应用引擎应用,这对您创建初始设置很有用。具体用例请引用 drive API reference .

关于python - 从 Google App Engine Python 应用程序访问 Google 云端硬盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15454708/

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