1

Facebook の友達にリクエスト ダイアログを送信しようとしていますが、選択したいくつかの友達に、配列を作成しました。その配列の ID にのみ招待状を送信する必要があります。このコードを作成しましたが、機能していません。

ページのパフォーマンスがすべて停止しているようです

//function to load friends
function loadFriends()
{
    //get array of friends
    FB.api('/me/friends?fields=name,first_name,gender', function(response) {


        console.log(response);
        var divContainer=$('.facebook-friends');
                         var testdiv = document.getElementById("test");

for(var i=0; i<response.data.length; i++){
    if(response.data[i].gender == 'male'){
         testdiv.innerHTML += response.data[i].first_name + response.data[i].id + '<br />';
    }
}

var  arr = []; // Creates an empty array literal.
  for(var i=0; i<response.data.length; i++){
    arr.push(response.data[i].id);
  }
  newInvite(arr); // Call your function and pass the friends array

    });
}

function newInvite(arr){
     FB.ui({ method: 'apprequests',
  message: 'Penelope for WAS',
  filters: ['app_non_users'],
  to:arr.join(',')

});
    }
4

1 に答える 1

1

to配列ではなく、コンマ区切りのリストをパラメーターとして使用する必要があります。

FB.ui({
  method: 'apprequests',
  message: 'Penelope for WAS',
  filters: ['app_non_users'],
  to:arr.join(',')
});

JavaScript 変数のスコープを処理しているときに、コードにも誤りがあります。

newInvitearr変数定義が欠落している関数です(arrグローバルスコープではないnewInviteため、関数内部で使用できるように渡す必要があります。

function newInvite(arr){
  FB.ui({
    method: 'apprequests',
    message: 'Penelope for WAS',
    filters: ['app_non_users'],
    to:arr.join(',')
  });
)

そして、関数にフレンド ID の配列を渡す必要があります。

FB.api('/me/friends', {fields:'name,first_name,gender'}, function(response) {
  var  arr = []; // Creates an empty array literal.
  for(var i=0; i<response.data.length; i++){
    arr.push(response.data[i].id);
  }
  newInvite(arr); // Call your function and pass the friends array
});
于 2012-05-28T10:05:08.320 に答える