5

我試圖運行Google Drive的實時API的快速啓動代碼。 我相信我做的都對。但我越來越適用於Drive API的Google API OAuth不起作用。獲取錯誤:origin_mismatch

Error: origin_mismatch 

Request Details 

    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=oauth2relay601571239 
    origin=http://127.0.0.1 
    state=811328575|0.818765953 
    display=page 
    client_id=XXXXXXXXXX 

回答

8

你還沒有給出關於你的應用程序架構的很多細節,所以我只能提出一個普遍的答案。 OAuth限制可以引用哪些網址。允許的URL列表在https://code.google.com/apis/console的API控制檯中進行配置。網址非常繁瑣,因此請確保您輸入的地址與地址欄中顯示的完全一致。

截至2013年10月,您不能使用本地主機。你有2個選擇。

  1. 編輯127.0.0.1 = mydevserver.example.com到你的/ etc/hosts中
  2. 使用URL縮短服務(如goo.gl)來創建一個別名爲localhost

然而,我相信現在可以在 Google API控制檯中配置本地主機。

+0

我試圖運行在以下鏈接鑑於谷歌驅動器的實時API的快速啓動代碼: https://developers.google.com/drive/realtime/realtime-quickstart 我認爲我得到錯誤,因爲我使用localhost作爲重定向URI和JS Origin。但是堆棧溢出的一些鏈接表示可以使用localhost。 http://stackoverflow.com/questions/11330919/correct-redirect-uri-for-google-api-and-oauth-2-0 如果您需要關於我的問題的任何其他細節,請告訴我。 – Rahul

+1

您不能使用本地主機。你有2個選擇。 (1)將127.0.0.1 = mydevserver.example.com編輯到你的/ etc/hosts中,(2)使用url縮短器(例如goo.gl)爲localhost創建一個別名 – pinoyyid

+1

非常感謝,我使用了第一個選項,它爲我工作。第二選項沒有起作用。非常感謝你。 – Rahul

1

我和origin_mismatch有同樣的問題。

來自:Create a client ID section本地主機應該在小測試後工作併爲我工作。

地在谷歌API我有:http://localhost
網址在瀏覽器地址欄中輸入:本地主機

從一開始,這個配置不工作,但之後我試圖寫至地址欄:127.0.0.1->進入─ > origin_mismatch,它是正確的,再次編寫localhost後,現在它的工作。

在Firefox 39和Google Chrome 37.0.2062.120 Ubuntu 12.04(281580)(64位)中測試了相同的行爲。