我的一个客户希望能够通过将图像添加到她的 Facebook 帐户上的相册来更新她网站的图像库。这可能使用 JSON 吗?她选择展示的专辑需要公开吗?感谢您对此的任何帮助!
问问题
7368 次
2 回答
5
这绝对可以通过使用 graph api 来实现:
获取她所有专辑的 ID - 选择您想要的专辑:
https://graph.facebook.com/me/albums/
访问相册:
https://graph.facebook.com/ALBUM_ID/photos
您需要 user_photos 权限并且相册需要公开。
这会以以下 JSON 形式返回所有照片的列表:
{
"id": "104988432890979",
"from": {
"name": "Patrick Snape",
"id": "100001394674670"
},
"picture": "http://photos-f.ak.fbcdn.net/hphotos-ak-snc4/hs272.snc4/39934_104988432890979_100001394674670_46790_6171664_s.jpg",
"source": "http://sphotos.ak.fbcdn.net/hphotos-ak-snc4/hs272.snc4/39934_104988432890979_100001394674670_46790_6171664_n.jpg",
"height": 540,
"width": 720,
"link": "http://www.facebook.com/photo.php?pid=46790&id=100001394674670",
"icon": "http://static.ak.fbcdn.net/rsrc.php/z2E5Y/hash/8as8iqdm.gif",
"created_time": "2010-08-11T10:32:45+0000",
"updated_time": "2010-08-11T10:32:47+0000"
}
}
然后,您可以使用照片的来源来获取完整尺寸的图像
于 2010-09-17T11:01:31.007 回答
1
https://graph.facebook.com/USER_ID/albums/ 将为您提供 25 个最新专辑,您必须在 url 中设置“limit=0”,例如
https://graph.facebook.com/USER_ID/albums/?limit=0 这将使您获得所有专辑...并确保您的专辑“Wall Photos”设置为公开,否则您将需要“user_photos”允许。
那么您需要获取标题为“Wall Photos”的专辑的专辑ID,您可以使用该专辑ID检索照片
$wall_album_id='';
$url = "http://graph.facebook.com/me/albums?fields=id,name&limit=0";
$obj = json_decode(file_get_contents($url));
foreach($obj->data as $item) {
if ($item->name == 'Wall Photos'){
$wall_album_id=$item->id;
break;
}
}
然后,您可以使用相册“$wall_album_id”获取墙上的照片...
于 2012-05-19T13:28:04.580 回答