适用于python的Google表格API快速入门教程会为有效的OAuth2凭据生成403错误

时间:2018-05-24 15:06:34

标签: python python-2.7 google-sheets-api

我正在跟踪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)

2 个答案:

答案 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授权请求”,然后从打开的弹出窗口中选择所需的范围。看起来该设置在离开该页面时立即被禁用...