Jas*_*son 7 android oauth-2.0 google-plus
我正在尝试根据这篇文章获取Google+身份验证代码:您的应用的服务器端访问权限.但是,每当我运行我的应用程序并尝试获取代码时,我在LogCat中获得以下内容:
07-23 23:42:31.760: E/getAccessToken()(11114): [ERROR] GoogleAuthException: com.google.android.gms.auth.GoogleAuthException: Unknown
Run Code Online (Sandbox Code Playgroud)
我浏览了很多东西,据我所知,我已经在下面的代码中正确设置了所有内容.任何想法为什么它没有获得身份验证令牌?
仅供参考,我有在既有的应用程序和Web应用程序配置的OAuth和我使用的服务器(而不是应用程序)的ID为范围字符串API控制台一个项目设置.我也跟着上面的链接中的示例,应用程序工作正常,允许您登录/退出,但我无法获得身份验证代码.
private String getAccessToken() {
String scopesString = Scopes.PLUS_LOGIN + " " + Scopes.PLUS_PROFILE;
String scope = "oauth2:server:client_id:" + SERVER_CLIENT_ID + ":api_scope:" + scopesString;
Bundle appActivities = new Bundle();
appActivities.putString(GoogleAuthUtil.KEY_REQUEST_VISIBLE_ACTIVITIES,
"http://schemas.google.com/AddActivity");
String code = null;
try {
code = GoogleAuthUtil.getToken(
this, // Context context
mPlusClient.getAccountName(), // String accountName
scopes, // String scope
appActivities // Bundle bundle
);
} catch (IOException transientEx) {
// network or server error, the call is expected to succeed if you try again later.
// Don't attempt to call again immediately - the request is likely to
// fail, you'll hit quotas or back-off.
Log.e("getAccessToken()", "[ERROR] IOException: " + transientEx);
return null;
} catch (UserRecoverableAuthException e) {
// Recover
Log.e("getAccessToken()", "[ERROR] UserRecoverableAuthException: " + e);
code = null;
} catch (GoogleAuthException authEx) {
// Failure. The call is not expected to ever succeed so it should not be
// retried.
Log.e("getAccessToken()", "[ERROR] GoogleAuthException: " + authEx);
return null;
} catch (Exception e) {
Log.e("getAccessToken()", "[ERROR] Exception: " + e);
throw new RuntimeException(e);
}
return code;
}
Run Code Online (Sandbox Code Playgroud)
我不知道您是否修改了发布问题的行,但查看您发布的代码,这一行是错误的:
String scopes = "oauth2:server:client_id:<My server client ID>:scopesString";
Run Code Online (Sandbox Code Playgroud)
它应该是:
String scopes = "oauth2:server:client_id:" + SERVER_CLIENT_ID + ":api_scope:" + scopeString;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3485 次 |
| 最近记录: |