gpt4 book ai didi

java - GoogleAuthException "Unknown"尝试获取 token 时

转载 作者:搜寻专家 更新时间:2023-11-01 07:58:10 27 4
gpt4 key购买 nike

我正在尝试通过 Google Plus 登录获取授权代码以在服务器上使用它。 G+ 登录有效,我在设备上登录,但是当我尝试获取 token 时,我收到异常消息 Unknown。这是代码:

private class GoogleLoginTask extends AsyncTask<Void, Void, String> {
private static final String LOGIN_SCOPES =
"https://www.googleapis.com/auth/plus.login " +
"https://www.googleapis.com/auth/userinfo.email";

@Override
protected String doInBackground(Void[] params) {
String apiKey = getApplicationMetaData("google.client-id");
String scopes = "oauth2:server:client_id:" + apiKey
+ ":api_scope:" + LOGIN_SCOPES;

Bundle appActivities = new Bundle();
appActivities.putString(GoogleAuthUtil.KEY_REQUEST_VISIBLE_ACTIVITIES,
"http://schema.org/AddAction");
String code = null;

try {
code = GoogleAuthUtil.getToken(getBaseContext(),
getPlusClient().getAccountName(), scopes, appActivities);

} catch (IOException e) {
Toast.makeText(getBaseContext(), R.string.error_network, Toast.LENGTH_LONG).show();
} catch (UserRecoverableAuthException e) {
startActivityForResult(e.getIntent(), AUTH_CODE_REQUEST_CODE);
} catch (GoogleAuthException e) {
Log.e(TAG, "Google auth exception: ", e);
} catch (Exception e) {
throw new RuntimeException(e);
}
return code;
}
}

我直接从 Developer Page 中获取了代码.尽管文档没有阐明许多参数,但我认为我掌握的是正确的。

我已经三次检查了 apiKeygetPlusClient().getAccountName() 的内容,它们是正确的。我确保应用程序和服务器在 API 控制台上位于同一个项目中。

不知道我还能做错什么。

最佳答案

我发现了问题:build.gradle 文件的 applicationId 值与 API 控制台中设置的值略有不同(拼写错误)。

虽然在这种情况下一些简单的错误消息会很棒。

关于java - GoogleAuthException "Unknown"尝试获取 token 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24784945/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com