我使用OAuth2進行自動登錄。但我不知道getToken()方法中的scope參數是什麼,請幫助我。GoogleAuthUtil.getToken()方法的範圍是什麼?
1
A
回答
2
的OAuth2授權使用 訪問令牌來訪問,而不是使用用戶名和密碼的API。在 正常的OAuth2方法中,我們最初將使用範圍,重定向URL和客戶端ID從授權機構請求授權代碼 ,然後 與客戶端ID和客戶端密鑰交換代碼以獲得訪問令牌 和刷新令牌。但使用Android AccountManager,我們可以輕鬆獲得Google API的 訪問令牌。
GoogleAuthUtil.getToken()
有三個參數:上下文,電子郵件地址,以及另一個名爲範圍字符串參數。每個願意談論OAuth 2.0的信息資源都需要發佈它使用的範圍(或範圍)。例如,要訪問Google+ API,範圍爲oauth2:https://www.googleapis.com/auth/plus.me.
您可以在一次調用中提供多個以空格分隔的範圍,並獲取提供對其全部訪問權限的令牌。這樣的代碼可能是典型的:
private final static String G_PLUS_SCOPE =
"oauth2:https://www.googleapis.com/auth/plus.me";
private final static String USERINFO_SCOPE =
"https://www.googleapis.com/auth/userinfo.profile";
private final static String SCOPES = G_PLUS_SCOPE + " " + USERINFO_SCOPE;
getToken()
將是同步的,但三件事情保持它沒有那麼簡單:
第一次應用程序請求令牌訪問某些資源時,系統將需要與用戶進行交互,以確保他們沒問題。
無論何時您詢問令牌,系統都可能與身份後端服務進行網絡對話。
處理這些請求的基礎架構可能會被大量加載,並且無法立即讓您獲得令牌。它不會讓你等待,或者只是失敗,它可能會要求你離開並稍後再回來。
相關問題
- 1. android:largeScreens的範圍是什麼?
- 2. @EnableTransactionManagement的範圍是什麼?
- 3. LoaderManager的範圍是什麼?
- 4. PTRACE_TRACEME的範圍是什麼?
- 5. keywordstats的範圍是什麼?
- 6. 什麼是Server.MapPath的範圍
- 7. DateTime的範圍是什麼?
- 8. 究竟是什麼地方範圍?
- 9. Java中的範圍,最好的方法是什麼?
- 10. 解決這個範圍問題的最好方法是什麼?
- 11. 什麼是在數字線上設置範圍的好方法?
- 12. 什麼是獲得範圍補充的最快方法?
- 13. 什麼是範圍鎖?
- 14. 什麼範圍是從
- 15. 什麼是範圍(在FS)?
- 16. GoogleAuthUtil.getToken()方法拋出IllegalStateException
- 17. 範圍的方法
- 18. 腳本範圍的目的是什麼?
- 19. Scala中的Random.nextDouble的範圍是什麼?
- 20. ColdFusion組件中Client範圍和參數範圍的用法是什麼?
- 21. JavaScript中的文檔是什麼,它的範圍是什麼?
- 22. 什麼是javascript中的文件範圍
- 23. 什麼是Go的範圍time.Tick?
- 24. JavaScript中的範圍鏈是什麼?
- 25. 什麼是MongoDB中的「JavaScript與範圍」
- 26. 嵌套結構的範圍是什麼?
- 27. c中的範圍檢查是什麼?
- 28. 什麼是TimeSeriesChart的最大範圍值
- 29. 什麼是Hybris的租戶範圍?
- 30. 什麼是OpenGL紋理ID的範圍?