使用OAuth2 Drive API获取invalid_client

时间:2013-11-17 10:02:18

标签: python google-app-engine oauth-2.0 google-drive-api

我在Google Cloud Console中创建了一个项目,我非常确定我的AppEngine项目与之相关联(单击项目中的AppEngine链接会显示我的AppEngine项目的概述)。

我已将我的项目上传到appspot.com上运行。

我已正确复制并粘贴了控制台项目的OAuth2客户端密码和ID,供Python库使用。

我已正确设置同意屏幕。

我添加了回调网址。

我已确保将相应的API设置为“开启”和绿色(Google云端硬盘)。

但在尝试验证时我仍然会Error: invalid_client

我错过了什么?

编辑:这是错误的网址

https://accounts.google.com/o/oauth2/auth?state=https%3A%2F%2Fmy-app-id.appspot.com%2Fspreadsheet%2Fview%2F0Ao7HHtqOGzZ7dDNneTg0b1R0bnVJNzRvWk9DVVhIVXc%3A9wi8bS1R7fejjVuDd9IdPjoxMzg0NjgyNDU5&redirect_uri=https%3A%2F%2Fmy-app-id.appspot.com%2Foauth2callback&response_type=code&client_id=abcxyz123.apps.googleusercontent.com&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly&access_type=offline

和以下文字(带有破碎机器人的图像):

Request Details
  cookie_policy_enforce=false
  response_type=code
  scope=https://www.googleapis.com/auth/drive.readonly
  redirect_uri=https://my-app-id.appspot.com/oauth2callback
  access_type=offline
  state=https://my-app-id.appspot.com/spreadsheet/view/0Ao7HHtqOGzZ7dDNneTg0b1R0bnVJNzRvWk9DVVhIVXc:9wi8bS1R7fejjVuDd9IdPjoxMzg0NjgyNDU5
  client_id=abcxyz123.apps.googleusercontent.com

1 个答案:

答案 0 :(得分:0)

您是否启用了Drive API?如果您使用旧版API控制台,则执行此操作的链接会更加明显(请参阅新API控制台页面底部的淡灰色链接)。

否则,如果你做了你所说的话,你就没有错过任何东西。

对于任何类似的Oauth问题,将http请求和响应粘贴到您的问题中是非常有帮助的。此页面会告诉您如何执行此操作https://developers.google.com/api-client-library/python/guide/logging

一个非常好的调试技术是将您的代码放在一边并使用Oauth2 Playground(配置了您自己的应用程序凭据)。您可以将来自Oauth游乐场的http流量与来自应用的流量进行比较,并发挥差异点。