Gspread 访问 google 电子表格:HttpAccessTokenRefreshError,JWT 无效
Gspread to access google spreadsheet: HttpAccessTokenRefreshError, invalid JWT
我正在努力使用 gspread 访问带有 python 2.7 的 google 电子表格。
这是我目前的情况:
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。感谢任何帮助,我会尽可能回答任何澄清问题!
看来这是我使用的 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')
我正在努力使用 gspread 访问带有 python 2.7 的 google 电子表格。
这是我目前的情况:
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。感谢任何帮助,我会尽可能回答任何澄清问题!
看来这是我使用的 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')