使用GoogleAuthUtil获取Web后端的离线访问

时间:2013-09-03 12:25:55

标签: java android oauth-2.0

我正在尝试使用Android应用程序获取我的网络后端的授权码。根据{{​​3}},我应该调用GoogleAuthUtil.getAuthToken(),其范围看起来像oauth2:server:client_id:<back-end client id>:api_scope:resource-1 resource-2 以下是我构建范围的方法:

private String getOAuthScope() {
    final String scope = "email openid";
    return String.format("oauth2:server:client_id:%s:api_scope:%s",
                         GoogleOAuthData.GOOGLE_OAUTH_SERVER_CLIENT_ID, scope);

当我致电GoogleAuthUtil.getAuthToken()时,我收到INVALID_SCOPE个例外。形成范围的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

我最初认为你使用了不正确的范围名称(例如“email”而不是“https://mail.google.com/”),但根据https://developers.google.com/accounts/docs/OAuth2Login,这些名称对于特定用途是正确的。但是,预期范围字符串看起来像"openid, email"而不是"email openid"

“未知”异常的来源是您的服务器和客户端不属于同一API控制台项目。