Facebook API 2.0后能否获取二级共同好友的技术咨询
关于Facebook API 2.0下二级共同好友查询的可行性分析
先确认你的结论:自Facebook API 2.0起,确实无法获取用户的完整好友列表——这个结论是完全正确的。API 2.0之后,user_friends权限只能返回授权用户的好友中同样使用了当前应用并授权了该权限的用户,而非用户的全部社交好友。
接下来针对你的需求(生成你与另一位Facebook用户的「二级共同好友」报告),分析在当前API限制下的可行性:
核心限制与结论
在现有Facebook API规则和隐私政策下,几乎无法实现完整的二级共同好友查询需求,具体原因如下:
- 你能获取的「自身好友范围」受限:只有那些使用了你的应用、且主动授权
user_friends权限的好友才会被返回,未使用应用或未授权的好友数据完全无法访问。 - 目标用户的好友数据获取门槛极高:
- 只有当目标用户是你的应用用户且授权了
user_friends权限,或者目标用户是你的应用内好友(已在你的好友列表且授权权限)时,你才能拿到他的应用内好友子集; - 即便拿到数据,这也只是目标用户好友的极小一部分,而非全部社交好友。
- 只有当目标用户是你的应用用户且授权了
- 仅能实现「应用内二级共同好友」查询:就算你拿到了双方的应用内好友子集,对比得出的交集也只是双方应用内好友的共同用户,和真实的全部二级共同好友差距极大——绝大多数未使用应用的好友关系都被隐私规则屏蔽了。
补充说明
Facebook的隐私政策一直在强化用户数据控制权,好友关系属于敏感社交数据,仅允许在应用生态内部有限使用,完全开放用户完整社交图谱的API早已被废弃,所以不存在任何SDK或工具能绕过这些限制实现全范围的二级共同好友查询。
如果你的需求必须落地,唯一的可能性是打造一个用户覆盖率极高的应用,让你和目标用户的绝大多数好友都愿意使用并授权user_friends权限,但这对于普通应用来说几乎不现实。
内容的提问来源于stack exchange,提问作者Shahaf Nahmias
相关产品推荐
相关产品推荐

