Android Google Sign-In



我需要启用服务器端访问Google Drive。在这种情况下,一个人正在使用他的Android设备。据我了解,这些步骤如下:1.创建GoogleSignInoptions2.使用GoogleSignInoptions创建GoogleSignInAccount3.从GoogleSignInAccount获取Authcode4.交换访问/刷新/ID令牌的authcode

我被困在步骤3上。我遵循了良好的教程,没有任何成功-https://developers.google.com/indesity/sidey/sign-in/android/android/offline/offline-access-access-https://developers.google.google.google.google。

这是初始化登录过程的代码:

final GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestScopes(new Scope(Scopes.DRIVE_APPFOLDER))
                .requestServerAuthCode(backend_server_web_client_id)
                .build();
GoogleSignInClient google_api_client = GoogleSignIn.getClient(context, gso);
activity.startActivityForResult(google_api_client.getSignInIntent(), RC_SIGN_IN);

这是处理登录结果的代码:

// data is the intent from onActivityResult callback
Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
if (task.isComplete())
    handle(task);
else {
    task.addOnCompleteListener(new OnCompleteListener<GoogleSignInAccount>() {
            @Override
            public void onComplete(@NonNull Task<GoogleSignInAccount> task) {
                handle(task);
            }}
    });
}

最后,这是一个问题是问题所在:

public void handle(Task<GoogleSignInAccount> task) {
    try {
        GoogleSignInAccount account = task.getResult(ApiException.class);
    } catch (ApiException e) {
    //I'm always getting this exception with status code 10, which means DEVELOPER ERROR. Keys in Google API console are checked multiple times.
    }
}

在句柄函数中,我总是会获得带有状态代码10的异常,这意味着developer_error。Google API控制台中的键多次检查。代码被重写了几次。...我真的不知道可能是什么问题。

谢谢:)

您可能已经忘记了配置Google API控制台。按照说明:https://developers.google.com/indistity/sign-in/android/start-integrating

您看到的是为Android创建带有相应软件包名称和签名证书的SHA1的OAuth客户端ID。您不必在代码中的任何地方输入此密钥。它只需要在Google API控制台中存在。

相关内容

  • 没有找到相关文章

最新更新