Android Google Plus getCurrentPerson返回null

Zba*_*ian 6 android google-plus

当我打电话时,plusClient.getCurrentPerson()我得到了NULL.

onConnected(Bundle...)成功登录后调用的方法:

@Override
public void onConnected(Bundle bundle)
{
   if (plusClient.getCurrentPerson() == null)
   {
      Log.e("DD", "Person is null !");
   }
}
Run Code Online (Sandbox Code Playgroud)

我直接从eclipse添加了SHA1(Window-> Preferences-> Android-> Build).我不知道我做错了什么!

Eclipse ADT的SHA1指纹 Eclipse ADT的SHA1指纹

已安装应用程序的客户端ID 已安装应用程序的客户端ID

简单的API访问 简单的API访问

mad*_*527 5

在我的情况下,我忘了启用google-plus的权限

希望它有效...任何疑问让我知道

从头开始检查:

有时人信息可能为空

检查:许可

重要的事情要做:

启用Google plus API

启用Google Maps Android API

如果你在本地测试然后在eclipse - > window - > preference选项 - > Android - > Build中添加sha1键

要么

您可以通过命令提示符生成SHA1密钥

keytool -list -v -keystore"C:\ Users\User.android\debug.keystore"-alias androiddebugkey -storepass android -keypass android

如果您要在Play商店中发布应用,则需要在Google控制台中更改SHA1密钥

因为在本地SHA1键是不同的.做签名后,SHA的SHA1键不同

在最后一个屏幕中生成签名的apk - > - >你可以看到SHA1键

在谷歌控制台中添加后,您将获得API密钥

Manifest文件中添加此密钥

在此输入图像描述


Zba*_*ian 2

我刚刚发现在构建 PlusClient 对象时需要传递多个范围:

PlusClient plusClient = new PlusClient.Builder(this, this, this).setScopes(Scopes.PLUS_LOGIN, Scopes.PLUS_PROFILE ,"https://www.googleapis.com/auth/userinfo.email").build();
Run Code Online (Sandbox Code Playgroud)