以下是一些测试代码:
<script>
var movieList = new Array();
var friendList=" ";
var friendCount = 0;
function get_friend_likes() {
FB.api('/me/friends', function(response) {
friendCount = response.data.length;
for( i=0; i<response.data.length; i++) {
friendId = response.data[i].id;
friendList=friendList+(response.data[i].name)+'<br/>';//store names
FB.api('/'+friendId+'/movies', function(result) {
movieList = movieList.concat(result.data); //fetch data to the pool
friendCount--;
document.getElementById('test').innerHTML = friendCount
+ " friends to go ... ";
});//end_FB.api
} //end_for
});//end_FB.api
}
</script>
问题是:我可以通过外部FB.api调用成功获取朋友的姓名和ID,但我无法在内部FB.api调用中获取'/ movies'信息。返回的数据为空。 有什么见解吗?非常感谢!!
答案 0 :(得分:0)
根据User object api文档,您需要“user_likes”权限才能获取 / me / movies 和“friends_likes”获取 friendId / movies 的权限
你有没有要求这些权限? 不确定如何对用户进行身份验证,但您也可以使用javascript sdk进行身份验证:
FB.login(callbackFunction, { scope: "user_likes,friends_likes" });