gpt4 book ai didi

android - 请求服务器授权码时,GoogleSignInResult 在 Android 应用程序中返回 DEVELOPER_ERROR

转载 作者:太空宇宙 更新时间:2023-11-03 11:00:33 25 4
gpt4 key购买 nike

我按照本手册将 Google People API 连接到 Android 应用程序:http://blog.iamsuleiman.com/people-api-android-tutorial-1/

我正在使用以下代码登录:

GoogleSignInOptions signInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestScopes(new Scope(Scopes.PLUS_LOGIN),
new Scope(PeopleScopes.CONTACTS_READONLY),
new Scope(PeopleScopes.USER_PHONENUMBERS_READ))
.requestServerAuthCode(getString(R.string.google_oauth_client_id), false)
.build();

mGoogleApiClient = new GoogleApiClient.Builder(getContext())
.enableAutoManage(getActivity(), this)
.addApi(Auth.GOOGLE_SIGN_IN_API, signInOptions)
.build();

Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent( mGoogleApiClient );
startActivityForResult( signInIntent, GOOGLE_PLUS_RC_SIGN_IN );

onActivityResult 代码为:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);

GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
...
}

我一直在结果中收到 DEVELOPER_ERROR。

该应用程序由我在开发者控制台中设置的 SHA1 指纹代码签名。

OAUTH 客户端 ID 取 self 应用的“Web 客户端”JSON 配置。

所有 API 都在 Google 开发者控制台中启用

如果我删除方法 .requestServerAuthCode():

    GoogleSignInOptions signInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestScopes(new Scope(Scopes.PLUS_LOGIN),
new Scope(PeopleScopes.CONTACTS_READONLY),
new Scope(PeopleScopes.USER_PHONENUMBERS_READ))
.build();

结果

Auth.GoogleSignInApi.getSignInResultFromIntent(数据);

成功:应用正在请求权限。

我做错了什么?

为什么 requestServerAuthCode 会导致 DEVELOPER_ERROR,尽管 Google 的手册中有使用此方法的示例:

https://developers.google.com/identity/sign-in/android/offline-access#enable_server-side_api_access_for_your_app

是否有任何示例如何在 Android 应用中使用 People API?

最佳答案

而不是将您的生产/调试 client_id 传递到

.requestServerAuthCode()

方法改为使用 Web client_id - 我认为谷歌登录将始终使用 string.xml 中的 server_client_id

所以从技术上讲,您需要同时使用这两个 key 。

关于android - 请求服务器授权码时,GoogleSignInResult 在 Android 应用程序中返回 DEVELOPER_ERROR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44870165/

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