如何创建不仅仅返回“禁止”的Google Oauth2 client_id?

时间:2017-11-24 19:14:54

标签: macos oauth oauth-2.0 google-api google-oauth

我正在尝试使用p2/OAuth2访问Google云端硬盘上的文档。

我下载了sample Mac app并运行了它,它显示了一个Google“OAuth许可屏幕”,然后点击“允许”按钮,一切正常。所以我认为示例代码很好。

然后我登录了Google API控制台,并且:

  1. 启用了所有可能与此测试相关的API(获取我的姓名和用户信息):“Google Drive API”,“Contacts API”,“People API”,“Google IAM API”等。
  2. 为我的应用程序创建了一个“项目”
  3. 为我的应用
  4. 创建了新的“OAuth客户端ID”(凭据)

    我将client_id粘贴到OAuth2App示例中,代替了演示版client_id / client_secret,但它失败了。它在工作表中显示“OAuth许可屏幕”,其中包含我的应用程序的名称,但是当我单击“允许”时,它只是显示“禁止”。

    我尝试的事情没有帮助:

    • 我发现this page表示在Google中创建“其他”类型的客户端ID不起作用,我需要选择iOS。我尝试了“其他”和“iOS”类型,两者都给了我“禁止”。

    • 使用“其他”类型,它也会给我一个client_secret。我不想或不需要,因为这是一个本地应用,但我发现this question表明它对谷歌无关紧要。我尝试过各方面:

      • 使用正确的client_secret,我得到“Forbidden”。
      • 如果客户端密码不正确,我会收到“未经授权”。
      • 没有client_secret,我得到“client_secret缺失”。

      所以我知道它正在检查type =“Other”,并且似乎并不关心它是否缺少type =“iOS”。无论如何,因为当错误/缺失时出现不同的错误,这似乎不是我的问题。

    • 我打开oauth.verbose查看是否有用,但日志与成功案例(库存ID)相同,但某些ID /令牌的值除外。

    p2 / OAuth2如何为Google创建一个有效的client_id?为什么我的回归“禁止”?

1 个答案:

答案 0 :(得分:1)

如果是您的本地应用,则在选择类型时需要选择installed选项,并使用Web Athorization Broker

link可能会有所帮助,但尚未解决,但已解决了问题。

1。)ClientIDClientSecret在使用已安装的应用程序时都是必需的。

- >如果允许Drive api,也可以检查您的网络权限,这也可以提供禁止错误