我有一个Python脚本,我已授权他访问Google电子表格。但是当我运行它时,它会引发异常:
oauth2client.client.AccessTokenRefreshError: invalid_client: The OAuth client was not found.
我的身份验证码如下:
import json
import gspread
from oauth2client.client import SignedJwtAssertionCredentials
json_key = json.load(open('myapp-credentials.json'))
scope = ['https://spreadsheets.google.com/feeds']
credentials = SignedJwtAssertionCredentials(
json_key['client_email'],
json_key['private_key'], scope)
gc = gspread.authorize(credentials)
我没有更改帐户中的任何内容,所以我不知道它为什么会突然停止工作。如果我登录https://console.developers.google.com/apis/credentials,我会看到该应用仍然已注册。如何诊断并重新启用其访问权限?谷歌搜索这个错误不幸发现了许多潜在的原因。
答案 0 :(得分:0)
自{2016年2月5日起,课程SignedJwtAssertionCredentials
已removed from the source code,其功能已替换为ServiceAccountCredentials
。这可能会导致您的错误。
您似乎希望使用以下内容生成credentials
:
credentials = ServiceAccountCredentials.from_json_keyfile_name('myapp-credentials.json', scope)
此Github issue thread也可能有所帮助。