Android:Google OAuth2范围格式

时间:2015-07-14 17:08:50

标签: android oauth-2.0 google-oauth

使用Android登录Google OAuth2的教程和文档与GoogleAuthUtil.getToken使用的范围的格式和样式非常不一致。您是否将范围包含为URL或单词,是否包含客户端ID,是否使用Android应用程序,服务帐户或Web应用程序ID?我现在就这样试试:

String mScope="oauth2:server:client_id:XXXXXXXXXX:api_scope:https://www.googleapis.com/auth/plus.login"

但它会引发GoogleAuthException:未知错误。如果我们不包含客户端ID,我们会返回访问令牌,但随后尝试使用我们的后端Django Web应用程序进行身份验证,我们会收到403:Forbidden错误。

1 个答案:

答案 0 :(得分:1)

https://github.com/googledrive/crossclientoauth2-android有一个例子:

final private String CLIENT_ID = "abc123.apps.googleusercontent.com";
final private List<String> SCOPES = Arrays.asList(new String[]{
    "https://www.googleapis.com/auth/plus.login",
    "https://www.googleapis.com/auth/drive"
});

String scope = String.format("oauth2:server:client_id:%s:api_scope:%s", CLIENT_ID, TextUtils.join(" ", SCOPES));