Google电子表格api不使用OAuth2吗?

时间:2012-10-29 20:45:43

标签: python google-sheets google-spreadsheet-api

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

这个问题已经通过Google实施的OAuth2协议解决了。我已经完成了OAuth2流程,并且我有一个有效的access_token,我用它来顺利地与Google云端硬盘互动:

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:BTW,我正在使用python gdata包,如果你有一个很好的参考,请告诉我! :)

1 个答案:

答案 0 :(得分:2)

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

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)