我一直在寻找一个很好的解释,说明我为什么不能在Google Plus的用户圈子中收集生日或标语。我已经使用了OAuth 2.0 Playground,并从我圈子中的人员那里检索了他们的生日和标语信息,他们的安全设置为"圈子可以看到"但我无法弄清楚为什么这不适用于Android版的Google+ API。
用户使用ApiClient登录到Google Plus:
mGoogleApiClient = new GoogleApiClient.Builder(GatherGoogle.this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(Plus.API, null)
.addScope(Plus.SCOPE_PLUS_LOGIN)
.addScope(Plus.SCOPE_PLUS_PROFILE)
.build();
然后在onConnected(Bundle connectionHint)方法中,在收集当前用户的信息以填充标题后,我呼吁PeopleApi加载可见的连接:
Plus.PeopleApi.loadVisible(mGoogleApiClient, null).setResultCallback(this);
这会调用onResult(LoadPeopleResult peopleData)方法,该方法应该返回一个People列表。它还给我他们的显示名称,ID,缩略图等...所有基本的个人资料信息典型。我很好奇我需要做些什么来从个人资料中获取下一级别的信息。如果我上网到我的Google+帐户,我可以点击我圈子中的人,查看他们的生日和标语,并与Playground一起玩,我可以检索到这些信息...我只是无法弄清楚如何实施我的Android应用程序需要什么。
我还需要添加其他范围吗?它们是什么以及它们在哪里记录?我对People API有单独的电话吗?我可以很好地进行GET调用和解析JSON数据,但我想知道最好的方法,如果有的话,可以毫不费力地解决这个问题。
非常感谢任何帮助!
答案 0 :(得分:0)
在您的Google+个人资料中 - >关于 - >基本信息 - >编辑
您应将圈子更改为 “公开” 并标记 “显示生日年”
结果 “YYYY-MM-DD”
答案 1 :(得分:0)
您必须使用此方法获取bday数据:load(GoogleApiClient,String ...)
阅读本文: 公共抽象PendingResult loadVisible(GoogleApiClient googleApiClient,String pageToken)
加载用户圈子中的可见人员列表。有关详细信息,请参阅:https://developers.google.com/+/api/latest/people/list。
每个Person都将包含填充的id,displayName,image,objectType和url字段。要检索其他配置文件数据,请使用load(GoogleApiClient,String ...)方法。
https://developer.android.com/reference/com/google/android/gms/plus/People.html