我正在努力使用gspread来访问使用python 2.7的谷歌电子表格。
这是我到目前为止所拥有的:
import gspread
from oauth2client.service_account import ServiceAccountCredentials
scope = ['https://spreadsheets.google.com/feeds']
credentials = ServiceAccountCredentials.from_json_keyfile_name(
'credentials.json', scope)
gc = gspread.authorize(credentials)
wks = gc.open("PracticeOpsBS").sheet1
结果是一堆我认为正在向我展示正在发生的事情,导致以下结果:
"HttpAccessTokenRefreshError: invalid_grant: Invalid JWT Signature."
最终我希望从这个工作表的两个选项卡中访问信息来进行一些分析,但是无法从google将数据提取到python中。任何帮助表示赞赏,我会尽可能回答任何澄清的问题!
答案 0 :(得分:1)
看起来我正在使用的oauth2client版本存在问题。为了让事情发挥作用,我降级为oauth2client版本1.5.1。然后我使用以下内容来访问电子表格:
import json
import gspread
from oauth2client.client import SignedJwtAssertionCredentials
json_key = json.load(open('credentials.json'))
scope = ['https://spreadsheets.google.com/feeds']
credentials = SignedJwtAssertionCredentials(
json_key['client_email'], json_key['private_key'], scope)
gc = gspread.authorize(credentials)
wks = gc.open('PracticeOpsBS')