如何在Google Cloud Storage中使用OAuth2Decorator?
我正在按照这个说明,想把我的应用引擎Python网络服务连接到Google存储,特别是想使用文件API。我看过了示例,但对我来说似乎不太管用。我需要这个网络服务在后台进行授权,这样才能从存储中获取我的文件。
我想用装饰器来传递我的client_id和client_secret,但这个过程对我来说不是很清楚。有没有人能提供一个例子或者详细讲讲这个过程?
补充:我使用的是Python 2.7的运行环境。
3 个回答
-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的apiclient示例,这可能会对你有帮助。例如,有一个关于App Engine和任务API结合使用的不错示例,它也使用了OAuth2。
http://code.google.com/appengine/articles/python/getting_started_with_tasks_api.html
1
这可能不是最直接的回答,但你有没有考虑过在App Engine上使用内置的Google存储API呢?
http://code.google.com/appengine/docs/python/googlestorage/
这样你就可以完全绕过原生的API了。
1
我成功地让它正常运行了,方法是使用了来自au-to-do这个谷歌应用引擎项目的gslite.py脚本,并且用上了我的账号信息。