【问题标题】:GoogleAuthException "Unknown" When Trying to get Token尝试获取令牌时的 GoogleAuthException “未知”
【发布时间】:2014-09-07 05:27:07
【问题描述】:

我正在尝试通过 Google Plus 登录获取授权代码,以便在服务器上使用它。 G+ 登录有效,我已在设备上登录,但是当我尝试获取令牌时,我收到了异常有用的消息 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 控制台上的同一个项目中。

不知道我还会做错什么。

【问题讨论】:

    标签: java android google-plus google-oauth google-api-client


    【解决方案1】:

    我发现了问题:build.gradle 文件的 applicationId 值与 API-Console 中设置的值略有不同。

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

    【讨论】:

    • 不知道为什么我不能接受这个作为正确答案,但是 AndroidManifest 中的错误 applicationId 会在检索令牌时导致“未知”异常。
    猜你喜欢
    • 2012-06-24
    • 1970-01-01
    • 2013-10-04
    • 1970-01-01
    • 1970-01-01
    • 2019-11-13
    • 2022-06-23
    • 2016-07-26
    • 1970-01-01
    相关资源
    最近更新 更多