我有一个Facebook用户ID列表。有没有办法可以轻松下载它们?

时间:2013-04-29 21:39:48

标签: facebook facebook-graph-api profile image

我目前将它们放在excel电子表格中。我知道我可以逐个获得它们(Facebook graph API: ID of user profile picture)但是有没有办法让它们同时获得所有这些?

1 个答案:

答案 0 :(得分:1)

为了下载图像,您需要向每个URL发出请求。但是,您将能够在一个请求中获取所有URL的列表。您可以使用FQL语句:

SELEXT pic_big FROM user WHERE uid IN (UID1,UID2,...)

你会得到类似的答案:

{
  "data": [
    {
      "pic_big": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-ash3/xxx.jpg"
    }, 
    {
      "pic_big": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn1/yyy.jpg"
    },
    ...
  ]
}

以PHP为例,您可以遍历结果,并使用file_get_contents()file_put_contents()的组合下载图片:

$imageData = json_decode($fqlResult,true);
foreach($imageData['data'] AS $key => $value){
  file_put_contents('/new/path/to/image',file_get_contents($value));
}