1

我正在尝试向 google 电子表格 API 发出授权请求,并且我发现的所有示例都向用户请求电子邮件和密码。

好吧,这个问题通过 Google 实现的 OAuth2 协议得到了解决。我已经完成了 OAuth2 流程,并且我有一个有效的 access_token,我用它来顺利地与 Google Drive 交互:

access_token = get_access_token() # external function
user_agent = request.META['HTTP_USER_AGENT']
credentials = AccessTokenCredentials(access_token, user_agent)
http = httplib2.Http()
http = credentials.authorize(http)
service = build('drive', 'v2', http)
service.files().copy(fileId=k, body=dict(title="Copia")).execute() # this works!

但我想不出一种使用 access_token 与电子表格 API 交互的方法。它仍然使用电子邮件和密码登录吗?

谢谢!

PS:顺便说一句,我使用的是python gdata包,如果你有好的参考请告诉我!:)

4

1 回答 1

2

因此,如果您已经拥有访问令牌(也许您像我一样通过 Oauth2 协议自己获得它)。您可以与将 AuthSubToken 实例传递给 SpreadsheetsClient 方法的 google 电子表格 api 进行交互。

from gdata.gauth import AuthSubToken
from gdata.spreadsheets.client import SpreadsheetsClient

atok = AuthSubToken(token_string=get_access_token())  # acess token via protocol
data = SpreadsheetsClient().get_worksheets(key, auth_token=atok)
于 2012-10-30T13:18:54.693 回答