我按照此说明将我的应用程序引擎 python Web 服务与 Google 存储连接起来,特别是为了能够使用文件 API。我经历了嗡嗡声的例子,但似乎对我不起作用。我需要 Web 服务在后台进行授权,以便能够从存储中检索我的文件。
我正在尝试使用装饰器来传递我的 client_id 和 client_secret 但这个过程对我来说不是很清楚。有人可以提供示例或在此过程中进行详细说明吗?
编辑:我正在使用 python 2.7 运行时。
我按照此说明将我的应用程序引擎 python Web 服务与 Google 存储连接起来,特别是为了能够使用文件 API。我经历了嗡嗡声的例子,但似乎对我不起作用。我需要 Web 服务在后台进行授权,以便能够从存储中检索我的文件。
我正在尝试使用装饰器来传递我的 client_id 和 client_secret 但这个过程对我来说不是很清楚。有人可以提供示例或在此过程中进行详细说明吗?
编辑:我正在使用 python 2.7 运行时。
这可能不是最直接的答案,但您探索过 App Engine 上内置的 Google Storage API 吗?
http://code.google.com/appengine/docs/python/googlestorage/
这使您可以一起绕过本机 API。
通过使用来自au-to-do google appengine 项目的 gslite.py 脚本和我的凭据,我设法让它正常运行。
如果您将 apiclient 与本机 REST API 一起使用,它看起来像这样......
from apiclient.discovery import build
import httplib2
from oauth2client.appengine import OAuth2Decorator
decorator = OAuth2Decorator(client_id=YOUR_GOOGLE_CLIENT_ID,
client_secret=YOUR_GOOGLE_CLIENT_SECRET,
scope=GOOGLE_SERVICE_SCOPE,
)
class MainHandler(webapp.RequestHandler):
@decorator.oauth_required
def get(self):
service = build(SERVICE_NAME,
SERVICE_VERSION,
http=decorator.http())
magic = service.method()
查看其他 API 的一些 apiclient 示例可能会有所帮助。例如,有一个 App Engine 与同样使用 OAuth2 的 Tasks API 集成的好例子。
http://code.google.com/appengine/articles/python/getting_started_with_tasks_api.html