我正在尝试读取组织内与我的帐户共享的一堆电子表格,并将记录导入数据库。我想使用 OAuth2.0 而不仅仅是使用原始文本密码,但我无法让它工作。我现在的代码是这样的:
scope = ['https://spreadsheets.google.com/feeds', 'https://docs.google.com/feeds']
credentials = SignedJwtAssertionCredentials('5***2@developer.gserviceaccount.com',SIGNED_KEY,scope)
gc = gspread.authorize(credentials)
print gc.openall()
这将返回:
$ python read_sheets.py
[]
我的帐户可能与它共享了一百个电子表格,所以我不确定为什么会发生这种情况。我的一个想法是服务帐户电子邮件地址没有与之共享的工作表,但是当我切换到帐户的实际电子邮件地址时,我得到oauth2client.client.AccessTokenRefreshError: invalid_grant
一个错误。似乎我可能错过了一步,但我已经遵循 gspread 说明和服务帐户的google oauth2并且看不到我还需要做什么。感谢帮助