Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用GoogleAuthUtil获取Web后端的脱机访问_Java_Android_Oauth 2.0 - Fatal编程技术网

Java 使用GoogleAuthUtil获取Web后端的脱机访问

Java 使用GoogleAuthUtil获取Web后端的脱机访问,java,android,oauth-2.0,Java,Android,Oauth 2.0,我正在尝试使用Android应用程序为我的web后端获取授权代码。根据,我应该调用GoogleAuthUtil.getAuthToken(),其作用域类似于oauth2:server:client\u id::api\u作用域:resource-1 resource-2 以下是我如何形成范围: private String getOAuthScope() { final String scope = "email openid"; return String.format("oa

我正在尝试使用Android应用程序为我的web后端获取授权代码。根据,我应该调用
GoogleAuthUtil.getAuthToken()
,其作用域类似于
oauth2:server:client\u id::api\u作用域: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()
时,我得到一个
无效的\u范围
异常。形成范围的正确方式是什么

我最初认为您使用了不正确的作用域名称(例如“email”而不是“”),但根据这些名称,这些名称对于该特定用途是正确的。但是,预期的作用域字符串似乎是
“openid,email”
而不是
“email openid”


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

这不是对问题的直接回答,但。。。每当您遇到类似这样的oauth问题时,我发现最好的调试技术就是跟踪网络请求。你通常可以直接看到问题是什么。对于Android,这里描述了这一点嘿@Ivan Gromov,这曾经对我有用,但就在几天前它停止了工作,现在它抛出了这个错误com.google.Android.gms.auth.GoogleAuthException:未知。知道为什么吗?我的示波器有问题吗?同样的例外:我不知道。