2012-02-15 170 views
2

對於開源項目google-api-ruby-client,我試圖運行OAuth 2.0示例calendar.rb,該示例將訪問Google Calendar API。 我在Google API控制檯中創建了客戶端ID,並在ruby腳本中填寫客戶端ID和密碼。訪問Google API時出現OAuth 2.0示例錯誤

不過,我運行Ruby腳本後

ruby calendar.rb 

,然後打開http://localhost:4567,從谷歌瀏覽器返回錯誤信息給我:

Error: redirect_uri_mismatch 
The redirect URI in the request: http://localhost:4567/oauth2callback did not match a  registered redirect URI 

我檢查的谷歌API控制檯中的信息:

Redirect URIs: https://localhost/oauth2callback 
JavaScript origins: https://localhost 

有什麼問題,以及如何溶膠是嗎?提前致謝。

+1

還提供了重定向的端口號和Javascript的URI – djd 2012-02-15 09:17:59

回答

5

重定向URI必須完全匹配。你不能忽略任何東西。你已經放棄了端口號碼。但是,如果不匹配斜線或其他任何內容,都會導致此錯誤。它必須是一個確切的,角色對角色的匹配。

兩個值應爲:

重定向的URI:https://localhost:4567/oauth2callback

JavaScript來源:https://localhost:4567

+0

我剛剛開始在日曆API和正在使用CLI創建谷歌,api.yaml文件作爲這裏https://developers.google.com/google提到-apps/calendar/instantiate,但運行此命令時出現同樣的錯誤。它會自動打開瀏覽器並顯示錯誤「400.這是一個錯誤。 錯誤:redirect_uri_mismatch 請求中的重定向URI:http:// localhost:12736 /與註冊的重定向URI不匹配。我必須明確地把重定向URI放在什麼地方嗎?任何幫助,將不勝感激。 – 2014-10-12 17:36:14

1

我沒有足夠的端口號和它工作得很好。

然而,重定向的URI是:http://localhost/oauth2callback

我有這個例子,昨晚工作。

+0

端口是必需的。 Google文檔:「註冊允許您的應用訪問Google API的原點,原點是協議,主機名和端口的獨特組合。您可以輸入多個來源,以允許您的應用運行在不同的協議,域或子域名,不允許使用通配符。「 – AndroidDev 2014-01-08 12:04:02

0

我面臨同樣的問題。一切都是匹配的,URL是正確的,同意頁面已被填充,但我必須生成一個新的客戶端ID三次。它第三次開始工作。我不知道原因。我沒有改變任何配置或代碼,它只是開始使用第三個客戶端ID和客戶端密鑰。

相關問題