我正在跟踪Google Sheets API quickstart tutorial的Python(2.7),因为我正在研究一个项目,而且我已经找不到如何过去了。
我非常仔细地阅读了本教程,并在布局时设置了我的OAuth2凭据,将该文件放在我的quickstart.py脚本目录中,并将其重命名为client_secret.json。
但是,从终端运行脚本会带我进入错误:403页,错误消息"错误:restricted_client"
执行脚本的treminal输出:
nik@debian:~/Documents/Misc/Py$ python quickstart.py
/usr/local/lib/python2.7/dist-packages/oauth2client/_helpers.py:255: UserWarning: Cannot access credentials.json: No such file or directory
warnings.warn(_MISSING_FILE_MESSAGE.format(filename))
Your browser has been opened to visit:
https://accounts.google.com/o/oauth2/auth?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fspreadsheets.readonly&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2F&response_type=code&client_id=(I probably shouldn't give this out)&access_type=offline
If your browser is on a different machine then exit and re-run this
application with the command-line parameter
--noauth_local_webserver
我已尝试触摸脚本目录中的credentials.json文件,这确实会停止显示警告消息,但它仍然没有填充凭据文件什么都有。
根据我的理解,脚本应该为我创建一个凭证文件,给定脚本中的范围,如果范围发生变化,则需要更新。
这是迄今为止一个富有成效的项目中缺失的部分,我真的很茫然。我在这里错过了什么?
编辑: 评论者指出OAuth2已被多人破坏。在此期间,当它被整理出来时,在开发者控制台中生成一个API密钥并使用这段代码来验证您的服务模块
service = build('sheets', 'v4', developerKey=yourAPIKey)
答案 0 :(得分:0)
这是一个来自谷歌的问题,昨天我也做了那个教程,它运作得很好,但今天我遇到了与你相同的问题:
" 403。那是一个错误。
错误:restricted_client
请求中未注册的范围:https://www.googleapis.com/auth/spreadsheets.readonly 请求详细信息
这就是我们所知道的。"
我们必须耐心等待解决。
答案 1 :(得分:0)
在我的情况下,这工作了一小段时间:在谷歌控制台:https://developers.google.com/apis-explorer/?hl=en_US#p/, 选择API,并启用“使用OAuth 2.0授权请求”,然后从打开的弹出窗口中选择所需的范围。看起来该设置在离开该页面时立即被禁用...