Android应用程序中的Google云端点身份验证异常
在我的Android应用程序中,我遇到了使用谷歌云端点对谷歌AppEngine应用程序进行身份验证调用的问题 以下是我的端点方法:Android应用程序中的Google云端点身份验证异常,android,google-app-engine,oauth-2.0,Android,Google App Engine,Oauth 2.0,在我的Android应用程序中,我遇到了使用谷歌云端点对谷歌AppEngine应用程序进行身份验证调用的问题 以下是我的端点方法: @ApiMethod(name = "compute", clientIds = { Ids.WEB_CLIENT_ID, Ids.ANDROID_CLIENT_ID, API_EXPLORER_CLIENT_ID }, audiences = { Ids.WEB_CLIENT_ID }, scopes =
@ApiMethod(name = "compute", clientIds = { Ids.WEB_CLIENT_ID,
Ids.ANDROID_CLIENT_ID, API_EXPLORER_CLIENT_ID },
audiences = { Ids.WEB_CLIENT_ID },
scopes = { "https://www.googleapis.com/auth/userinfo.email" })
public Response compute(Request req, User user) {
if (user == null) {
return new Response("HELLO, " + req.getMessage());
} else {
return new Response("HELLO, " + user.getEmail());
}
}
初始化GoogleAccountCredential:
mCredential = GoogleAccountCredential.usingAudience(this,
"server:client_id:" + WEB_CLIENT_ID);
mCredential.setSelectedAccountName(mAndroidUtils.getAccountName(this));
对我的端点进行异步调用:
@Override
protected Response doInBackground(Void... params) {
try {
Myendpoint.Builder builder = new Myendpoint.Builder(
AndroidHttp.newCompatibleTransport(),
new JacksonFactory(), mCredential);
Myendpoint anEndpoint = CloudEndpointUtils.updateBuilder(
builder).build();
Request r = new Request();
r.setMessage("World!");
return anEndpoint.compute(r).execute();
} catch (IOException e) {
e.printStackTrace();
Respone = new Respone ();
r.setValue("EXCEPTION");
return r;
}
}
我已将我的项目部署到应用程序引擎。
在Api explorer中,一切都非常好,但当我在android设备上运行它时,我得到了异常:GoogleAuthException:com.google.android.gms.auth.GoogleAuthException:Unknown
我已经在Stackoverflow中阅读了几乎所有关于App engine和Google云端点的内容。最常见的错误是在创建安卓客户端ID时使用安卓客户端ID而不是WEB客户端ID,或者指定错误的SHA1指纹。我已经多次检查了所有ID,但都不起作用。请帮忙