2016-08-17 56 views
1

最近我一直在學習有關反應原生,我遇到了一個如此農場無法解決的問題。 我嘗試使用Gmail的OAuth2從我的應用程序進行身份驗證,作爲重定向參數我把myscheme:// OAuth的整個URL看起來是這樣的:反應原生OAuth2 redirect_uri:無效的計劃

https://accounts.google.com/o/oauth2/v2/auth?response_type=token&client_id=XXXXXXXX&redirect_uri=myscheme://oauth&scope=https://www.googleapis.com/auth/spreadsheets

我註冊的意圖過濾器在我的清單.XML它看起來像這樣:

<activity 
    android:name=".MainActivity" 
    android:label="@string/app_name" 
    android:launchMode="singleTask" 
    android:configChanges="keyboard|keyboardHidden|orientation|screenSize"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 
      <data android:scheme="myscheme" android:host="oauth"/> 
     </intent-filter> 
     </activity> 

我使用原生反應鏈接打開URL,我得到(瀏覽器)的錯誤是REDIRECT_URI 400參數值無效:無效的方案:myscheme://的OAuth

任何人都可以幫助我什麼,我在這裏失蹤?

回答

0

the docs,我看到了兩個問題,您的網址:

  1. 定製方案必須包含一個週期內爲有效

變化myscheme喜歡的東西com.myapp

  • 注意單個 「/」 自定義URI方案,其不同於常規的HTTP URL
  • 變化myscheme://oauth...myscheme:/oauth...

    後這些更正後,您的網址應該看起來像com.myapp.myscheme:/oauth...而不是myscheme://oauth...