错误:invalid_client没有注册的来源

ash*_*tte 46 google-api oauth-2.0 google-drive-api google-drive-realtime-api

我已按照这些说明在我的Web服务器上安装了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
Run Code Online (Sandbox Code Playgroud)

我看不到我应该在云控制台中使用的任何其他client_id.有人知道如何克服这个错误吗?谢谢你的帮助.

小智 60

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

Your Project > APIs & auth > Credentials
Run Code Online (Sandbox Code Playgroud)

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

Create Client ID > Web Application > Authorized Javascript origins
Run Code Online (Sandbox Code Playgroud)

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

http://127.0.0.1:9000
Run Code Online (Sandbox Code Playgroud)

  • 您只需说'http:// localhost:13091'(无论您的本地主机是什么),而不提您的项目名称 - 为我工作!谢谢你的回答! (2认同)

ash*_*tte 14

更新:我改变了Johno Scott的接受答案,因为他提到了较新版本的控制台,而我的版本仅适用于旧版本.


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

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

在此输入图像描述