Facebook API按名称搜索用户返回空数据,能否用JavaScript实现?
关于通过Facebook Graph API获取用户列表的可行性解答
首先得说清楚你遇到空数据的原因:Facebook早在几年前就因为隐私政策调整,彻底关闭了第三方开发者通过/search端点搜索普通用户的权限。哪怕你的access token是有效的,type=user的搜索请求也只会返回空的data数组——现在这个搜索接口只支持页面、帖子、活动这类公开内容的检索,用户搜索功能已经被移除了。
那回到你的问题:用JavaScript获取包含用户名的用户列表可行吗?答案是没有合法的官方途径实现这个需求,具体原因如下:
- 就算是Facebook平台内的应用(比如Canvas应用),也只能获取当前授权用户的好友列表(还得用户主动同意
user_friends权限),根本没法搜索全网的公开用户; - 要是想着绕过API限制去爬取Facebook的用户数据,这直接违反了Facebook的服务条款,轻则应用被封禁,重则你的个人账号都会受到限制。
如果你的需求是让用户找到特定的好友,不如换个思路:引导用户使用Facebook自带的好友选择器,或者让用户手动输入目标用户名后,通过用户ID去获取其公开信息(但前提是你有获取该用户公开资料的权限)。
内容的提问来源于stack exchange,提问作者vikuuuu
相关产品推荐
相关产品推荐

