我正在尝试使用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
个例外。形成范围的正确方法是什么?
答案 0 :(得分:0)
我最初认为你使用了不正确的范围名称(例如“email”而不是“https://mail.google.com/”),但根据https://developers.google.com/accounts/docs/OAuth2Login,这些名称对于特定用途是正确的。但是,预期范围字符串看起来像"openid, email"
而不是"email openid"
。
“未知”异常的来源是您的服务器和客户端不属于同一API控制台项目。