45

我已在我的Web服務器上安裝了Google Drive Realtime API示例文件,其範圍爲these instructions,包括在Cloud Console中生成client_id並將其插入到index.html文件中。錯誤:invalid_client沒有註冊來源

當我訪問該網頁並點擊按鈕授權的應用程序,它會彈出一個新窗口,並顯示:

Error: invalid_client
no registered origin

請求的詳細內容是:

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 

我可以」請參閱我應在雲控制檯中使用的任何其他client_id。有誰知道如何克服這個錯誤?謝謝你的幫助。

回答

60

在新的谷歌API控制檯,配置從

Your Project > APIs & auth > Credentials 

您可能需要您的OAuth2.0授權的起源爲Web應用程序專門添加一個新的客戶端ID(我這樣做是因爲默認爲AppEngine)

Create Client ID > Web Application > Authorized Javascript origins 

如果您在本地開發服務器上運行,只需添加確切的網址,如:

http://127.0.0.1:9000 
+0

偉大的答案,正是解決我的問題! –

+1

我想知道'如何進入授權JavaScript origins'的本地主機URL。因爲我在本地主機上工作,在輸入本地主機URL爲'http:127.0.0.1/myProjectName'後,它拋出'Origin URIs must not包含一個路徑:http://127.0.0.1/myProjectName/' – Daenarys

+2

你只要說'http:// localhost:13091'(不管你的本地主機是什麼)而不提你的項目名稱 - 爲我工作!感謝這個答案! – sim1

15

更新:我改變了對約翰諾斯科特的接受答案,而不是他引用控制檯的較新版本,而我的版本只適用於舊版本。


我解決了它。我需要在OAuth 2.0客戶端ID屏幕上輸入WEB ORIGIN。具體來說,它必須是index.html文件的確切路徑/ url,否則它默認爲不起作用的根域。

此截圖顯示你究竟在何處需要輸入:

enter image description here