5

我正在尝试按照这些说明检索要在我的服务器端使用的授权代码。服务器的客户端 ID 与我的 Android 客户端 ID 共享同一个项目。

我可以检索访问令牌,但不能检索授权码:

String mScopes = "oauth2:https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email";
//String mScopes = "oauth2:server:client_id:314345278679.apps.googleusercontent.com:api_scope:https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email";
Bundle mAppActivities = new Bundle();
mAppActivities.putString(GoogleAuthUtil.KEY_REQUEST_VISIBLE_ACTIVITIES, "");
String authorizationToken = GoogleAuthUtil.getToken(LoginActivity.this, mPlusClient.getAccountName(), mScopes, mAppActivities);

取消注释以使用替代范围(检索授权代码而不是令牌)会产生以下错误:

I/GLSUser (15293): GLS error: INVALID_SCOPE my_email_address@company.com oauth2:server:client_id:314345278679.apps.googleusercontent.com:api_scope:https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email

有任何想法吗?

4

1 回答 1

11

您的范围缺少https://www.googleapis.com/auth/plus.login。我尝试了您的代码并在没有 plus.login 的情况下获得了 INVALID_SCOPE,但它可以正常工作。

于 2013-06-20T15:12:59.580 回答