46

我已经按照这些说明在我的网络服务器上安装了 Google Drive Realtime API 示例文件,包括在 Cloud Console 中生成一个 client_id 并将其插入到index.html文件中。

当我访问该页面并单击按钮以授权该应用程序时,它会弹出一个新窗口并显示:

错误:invalid_client
没有注册的来源

请求详情如下:

openid_connect_request=true
cookie_policy_enforce=false
scope=https://www.googleapis.com/auth/drive.install https://www.googleapis.com/auth/drive.file https://www.googleapis.com/auth/plus.me
response_type=token
access_type=online
redirect_uri=postmessage
proxy=oauth2relay865404532
origin=http://mywebsite.com
state=264939258|0.165356673
display=page
client_id=1077585001321.apps.googleusercontent.com
authuser=0

我看不到应该在 Cloud Console 中使用的任何其他 client_id。有谁知道如何克服这个错误?谢谢你的帮助。

4

2 回答 2

60

在新的 Google API 控制台中,配置您的 OAuth2.0 授权来源

Your Project > APIs & auth > Credentials

您可能需要专门为 Web 应用程序添加一个新的客户端 ID(我这样做是因为默认设置是用于 AppEngine)

Create Client ID > Web Application > Authorized Javascript origins

如果您在本地开发服务器上运行,只需添加确切的 URL,例如:

http://127.0.0.1:9000
于 2014-01-21T23:19:27.087 回答
14

更新:我将接受的答案改为 Johno Scott,因为他指的是新版本的控制台,而我的答案仅适用于旧版本。


我解决了。我需要在 OAuth 2.0 Client ID 屏幕上输入WEB ORIGIN 。具体来说,它必须是index.html文件的确切路径/url,否则它默认为不起作用的根域。

此屏幕截图显示了需要输入的确切位置:

在此处输入图像描述

于 2013-10-28T12:33:27.113 回答