我正在使用PHP和Facebook图形API创建外部照片库。它会在Facebook粉丝页面上提取缩略图以及相册中的大图像。
一切都很完美,除了我只能检索ADMIN发布到我们页面的照片。 (graph.facebook.com/myalbumid/photos)有没有办法使用图形API来加载粉丝上传的上传照片?
我想从“照片来自”相册中检索图片,但是尝试获取图表查询的ID与其他相册不同......它看起来像这样:http://www.facebook.com/media/set/?set=o.116860675007039
另一个注意事项:我接近撤消此数据的唯一方法是使用“Feed”选项..即:graph.facebook.com/pageid/feed
修改 这是我能得到的 - 它有效,但有一些问题如下所述。也许有人可以扩展这一点,或提供更好的解决方案。 (使用FB PHP SDK)
<?php
require_once ('config.php');
// get all photos for album
$photos = $facebook->api("/YourID/tagged");
$maxitem =10;
$count = 0;
foreach($photos['data'] as $photo) {
if ($photo['type'] == "photo"):
echo "<img src='{$photo['picture']}' />", "<br />";
endif;
$count+= 1;
if ($count >= "$maxitem") break;
}
?>
问题:
1)事实上我不知道用于查询标签的特定“类型”的图表的方法,我必须运行条件语句来显示照片。
2)你不能有效地使用“?limit =#”,因为我说“标记”查询包含所有类型(照片,视频和状态)。因此,如果您要使用照片库并希望避免使用?限制运行整个查询,则会丢失图像。
3)“标记”查询中显示的唯一内容来自不是该页面管理员的人。这不是世界末日,但我不明白为什么Facebook不允许自己在这个数据中显示,只要你“自己”而不是页面。
答案 0 :(得分:3)
您需要检索所有相册,然后获取所有相片。这可以通过使用FQL轻松完成:
SELECT pid,owner,src_small,src_big
FROM photo
WHERE aid IN (
SELECT aid
FROM album
WHERE owner = your_page_id
)
修改强>
您还需要查询流表以获取墙贴,然后检查您是否有附件和附件的类型:
SELECT attachment
FROM stream
WHERE source_id = 116860675007039
结果:
[
{
"attachment": {
"media": [
{
"href": "http://www.facebook.com/photo.php?fbid=1801693052786&set=o.116860675007039",
"alt": "test",
"type": "photo",
"src": "http://photos-f.ak.fbcdn.net/hphotos-ak-snc6/185861_1801693052786_1553635161_1863491_4978966_s.jpg",
"photo": {
"aid": "6672812206410774346",
"pid": "6672812206412558147",
"fbid": 1801693052786,
"owner": 1553635161,
"index": 11,
"width": 246,
"height": 198
}
}
],
"name": "",
"caption": "",
"description": "",
"properties": [],
"icon": "http://b.static.ak.fbcdn.net/rsrc.php/v1/yz/r/StEh3RhPvjk.gif",
"fb_object_type": "photo",
"fb_object_id": "6672812206412558147"
}
},
{
"attachment": {
"description": ""
}
},
...etc
]
答案 1 :(得分:0)
试试这个FQL:
SELECT message,attachment,comments
FROM stream
WHERE source_id=YOUR_PAGE_ID AND filter_key="others" AND type=""
filter_key =“others” - 这将过滤来自其他所有人的帖子,但不会过滤来自管理员的帖子 type =“” - 这会过滤掉评论,因此会给你留下照片(可能是视频和其他杂乱的东西,但删除文字帖子会大大减少结果)