Gspread访问谷歌电子表格:HttpAccessTokenRefreshError,无效的JWT

时间:2016-06-08 18:31:08

标签: python google-sheets gspread oauth2client

我正在努力使用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中。任何帮助表示赞赏,我会尽可能回答任何澄清的问题!

1 个答案:

答案 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')