3

我正在努力使用 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."

最终,我希望从该工作表的两个选项卡中访问信息以进行一些分析,但无法从谷歌将数据提取到 python 中。任何帮助表示赞赏,我会尽可能回答任何澄清问题!

4

1 回答 1

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')
于 2016-06-10T20:19:26.740 回答