如何将OAuth2Decorator与Google云端存储配合使用?

时间:2011-11-30 11:24:51

标签: python google-app-engine google-api-python-client google-cloud-storage

我正在关注此instructions,以便将我的应用引擎python网络服务与Google存储相连接,特别是能够使用文件API。我经历了嗡嗡声的例子,但似乎并不适合我。我需要Web服务在后台进行授权才能从存储中检索我的文件。

我正在尝试使用装饰器来传递我的client_id和client_secret,但这个过程对我来说并不是很清楚。有谁可以提供一个例子或在过程中详细说明一点?

编辑:我正在使用python 2.7运行时。

3 个答案:

答案 0 :(得分:1)

这可能不是最直接的答案,但您是否在App Engine上探索了内置的Google Storage API?

http://code.google.com/appengine/docs/python/googlestorage/

这使您可以一起绕过本机API。

答案 1 :(得分:1)

我设法通过使用au-to-do google appengine项目中的gslite.py脚本和我的凭据来正常运行。

答案 2 :(得分:-1)

如果您使用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的一些简单示例可能会有所帮助。例如,App Engine与Tasks API集成的一个很好的例子也使用了OAuth2。

http://code.google.com/appengine/articles/python/getting_started_with_tasks_api.html