Javascript 将好友照片插入阵列中的数据库

Javascript 将好友照片插入阵列中的数据库,javascript,php,facebook,facebook-graph-api,facebook-javascript-sdk,Javascript,Php,Facebook,Facebook Graph Api,Facebook Javascript Sdk,我正在使用Facebook API调用我的朋友的个人资料pic,并使用插入数据库的帖子,假设我有500个朋友,它会发送500次帖子请求,现在我想将其存储在数组中,然后再发送帖子请求。有可能吗?如果有,请告诉我如何结交朋友 此后,与/me/friends一起获取好友列表的操作将被删除。因此,您正在使用的方法将在几个月后生效 但是现在有另一种选择,可以获得朋友,基本上是带有端点/me/taggable_的标记朋友;但这需要首先得到批准 保存个人资料图片 如果希望将URL保存在数组中,然后发出post

我正在使用Facebook API调用我的朋友的个人资料pic,并使用插入数据库的帖子,假设我有500个朋友,它会发送500次帖子请求,现在我想将其存储在数组中,然后再发送帖子请求。有可能吗?如果有,请告诉我如何结交朋友

此后,与/me/friends一起获取好友列表的操作将被删除。因此,您正在使用的方法将在几个月后生效

但是现在有另一种选择,可以获得朋友,基本上是带有端点/me/taggable_的标记朋友;但这需要首先得到批准

保存个人资料图片

如果希望将URL保存在数组中,然后发出post请求,也可以这样做-

function getUserFriends(a) {
  var id=a;
  FB.api('/me/friends?fields=picture', function (response) {
    //console.log('Got friends: ', id);
    var x = y = 0;
    var photos=[];
    for (var i=0;i < response.data.length;i++) {
            photos = response.data[i].picture.data.url;
            $.post("insert_photo.php", {
            "pic": photos,
            "id":id
        }, function (data) {

        });

    }
}

我不确定是否理解您的意思,但如果您只想执行一个POST调用,可以将$.POST移到for循环之外。然后将所有照片数组作为json发送

例如:

 $.post("insert_photo.php", {
        "data": JSON.stringify(photos)
      }, function (data) {
         // done
 });
这将在一次POST通话中发送所有照片。您必须更新insert_photo.php脚本以迭代pics参数。比如:

function getUserFriends(a) {
  var id=a;
  FB.api('/me/friends?fields=picture', function (response) {
    //console.log('Got friends: ', id);
    var x = y = 0;
    // Storing all photo urls in array
    var photos=[];
    for (var i=0;i < response.data.length;i++) {
        photos.push(response.data[i].picture.data.url);
    }

    // Send photos as JSON
    $.post("insert_photo.php", {
            "pics": photos,
            "id":id
       }, function (data) {}
    );
}
function getUserFriends(a) {
  var id=a;
  FB.api('/me/friends?fields=picture', function (response) {
    //console.log('Got friends: ', id);
    var x = y = 0;
    // Storing all photo urls in array
    var photos=[];
    for (var i=0;i < response.data.length;i++) {
        photos.push(response.data[i].picture.data.url);
    }

    // Send photos as JSON
    $.post("insert_photo.php", {
            "pics": photos,
            "id":id
       }, function (data) {}
    );
}
<?php
[...]
foreach (json_decode($_POST['pics']) as $pic) {
     [...]
     // You can use $pic here
     [...]
}
[...]