我已经在我这边和应用程序的权限页面上设置了以下权限:(
注意“read_stream”)
<fb:login-button autologoutlink="true" perms="read_stream, user_about_me, user_likes, user_location, user_birthday, user_education_history, user_work_history, friends_about_me, friends_likes, friends_location, friends_birthday, friends_education_history, friends_work_history"></fb:login-button>
请求用户的个人资料效果很好:
FB.api('/me/friends', {
fields: "id,username,name,first_name,last_name,location,link,education,work,statuses.limit(1).fields(message)"
}, function(res){
console.log('FRIENDS', res.data);
});
但是,为用户的朋友获取相同的信息是行不通的。
它给出“500(内部服务器错误)”,facebook 对象返回“未知错误”。
FB.api('/me/friends', {
fields: "id,username,name,first_name,last_name,location,link,education,work,statuses.limit(1).fields(message)"
}, function(res){
console.log('FRIENDS', res.data);
});
我已将问题追溯到我请求的字段。该部分statuses.limit(1).fields(message)
似乎是错误的来源,当删除/me/friends
返回数据时。
但我不明白错误的原因。
- 它适用于
/me
. - 根据 FB 文档
read_steam
应该同时针对用户的状态和用户的朋友的状态。 - 使用上述字段,API Explorer 可以毫无问题地让我获得朋友状态。
我做错了什么还是 FB Graph API 错误?
谢谢你。