2012-07-04 128 views
16

我正在使用Google Maps API製作應用程序。我希望能夠讓一個人在電腦上觀看另一個人編輯過的地圖。我正在考慮將地圖的信息傳遞給Google Fusion桌面。另一個人將能夠看到一切爲一層。我希望程序能夠從用戶的瀏覽器運行,而不是爲其構建網站。Google API和oauth 2.0的正確重定向URI

要編輯融合表,我需要獲得訪問/令牌。我目前正在嘗試使用這些JavaScript腳本來完成此操作。 ScriptSample.htmloauthWindow.htmlgwt-oauth2.js。這是working example

當我運行它們時,出現錯誤,說明redirect_URI不正確。它說我用來重定向的文件沒有權限。我的第一個明顯的問題是:我如何給該文件權限重定向?

在我的API控制檯中,我將它設置爲客戶端Web應用程序。我應該將其更改爲已安裝的應用程序嗎?

目前,我的JavaScript的起源是:https://開頭本地主機

重定向URI:HTTPS://localhost/oauthWindow.html

感謝

+2

你是否認真使用基於本地主機的回調URI?這意味着OAuth服務器應該將響應發送給自己,這是沒有意義的。你一定要使用一些可從外部網絡訪問的URL。 –

+2

對不起,我錯了,我得糾正自己。回調URI僅用於將瀏覽器與授權結果重定向,因此基於本地主機的回調URI可能在理論上起作用。另一方面,它具有嚴重的安全問題,使整個回調URI檢查方法變得毫無意義。因此,您仍應提供可從外部訪問的回撥。 –

+0

我也有這個問題。對於一些超奇怪的原因,谷歌已經決定,我的重定向url,它是'https:// something'應該被轉換成'http:// something'。這太可怕了,因爲我的服務器對ssl/https有嚴格的要求,沒有例外。 – Automatico

回答

12

有與使用本地主機URL沒問題開發工作 - 顯然它需要改變生產。

您需要到這裏: https://developers.google.com/accounts/docs/OAuth2 然後按照基本步驟部分中API控制檯 - 鏈接的鏈接進行操作。當你填寫新的申請表時,你會被要求提供一個重定向Url。一旦授予訪問權限,就放入您想要訪問的頁面。

構建Google oAuth Url時 - 您需要包含重定向網址 - 它必須完全匹配,否則您將遇到問題。它也需要是UrlEncoded。

+0

因此,如果我想在本地託管的頁面重定向,比如說 - localhost:9090/index.html,我可以給這個確切的網址嗎? – moaglee

+1

@mystikacid是的。你也需要包含'http://'(協議)部分 – PSWai