0

下面是一些测试代码:

<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”信息。返回的数据为空。对此有何见解?非常感谢!!

4

1 回答 1

0

根据用户对象api 文档,您需要“user_likes”权限才能获得/me/movies和“friends_likes”权限才能获得friendId/movies

您是否要求获得这些权限?不确定如何验证用户身份,但您也可以使用javascript sdk进行验证:

FB.login(callbackFunction, { scope: "user_likes,friends_likes" });
于 2012-04-08T19:51:07.670 回答