我正在使用spring social获取所有朋友的列表。但是,我可以从facebook图表api获得的朋友数量与facebook在我的个人资料中报告的朋友数量不同。
根据facebook我有175个朋友。使用spring social facebook,我似乎只能得到156个朋友。我知道spring social facebook的分页问题,所以我使用下面的代码。
private Map<String, FacebookProfile> getFacebookProfiles()
{
Connection<Facebook> connection = connectionRepository.findPrimaryConnection(Facebook.class);
FriendOperations friendOperations = connection.getApi().friendOperations();
// FindFriendProfes() only returns 100 friends, need to use batching to get all friends
List<FacebookProfile> friendProfiles = new ArrayList<>(250);
final int batchSize = 100;
int offset = 0;
List<FacebookProfile> batch = friendOperations.getFriendProfiles(offset, batchSize);
do
{
friendProfiles.addAll(batch);
offset = offset + batchSize;
batch = friendOperations.getFriendProfiles(offset, batchSize);
} while (batch.size() != 0);
Map<String, FacebookProfile> result = new HashMap<>(friendProfiles.size());
for (FacebookProfile facebookProfile : friendProfiles)
{
result.put(facebookProfile.getId(), facebookProfile);
}
return result;
}
在春季社交Facebook集成中存在一个错误,或者有一种方法让Facebook用户说他们不应该作为图API调用的一部分返回。
Facebook用户是否可以选择从图表api返回为朋友?
答案 0 :(得分:1)
是的,Facebook用户可以通过转到他们的隐私设置&gt;选择退出第三方应用程序。广告,应用和网站&gt;修改设置&gt;人们如何将您的信息带到他们使用的应用
编辑这些设置的朋友不会出现在图表API调用中。