我正在尝试在Lightbox(或类似的画廊类型)中展示照片库,但我的客户希望照片来自Facebook相册,以避免上传照片两次。
我在wordpress中工作,但我环顾了一些可用的插件,看起来并不是很有希望。
我最好的攻击计划是什么?我还没有真正开始深入了解facebook api,但如果这是你们所建议的,那么我会继续这样做。我对javascript和php非常熟悉。我不想再去那个兔子洞,直到我确定它会起作用。
我只是想找人分享一些见解,因为我真的不知道从哪里开始。
编辑:
这就是我被困的地方......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Facebook Photo Gallery</title>
<script type='text/javascript' src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript">
$.getJSON('http://graph.facebook.com/356611067762340/photos').then(function(response) {
// 0-8, 0 returns the largest available images, 8 the smallest
var imageIndex = 5;
var images = _(response.data)
.chain()
.pluck('images')
.pluck(imageIndex)
.value();
console.log(images);
_(images).each(function(image) {
$('#image-container').append(
$('<img>').attr('src', image.source)
);
});
});
</script>
</head>
<body>
<div id="image-container"></div>
</body>
</html>
这对我来说似乎完全有效,为什么它不起作用??
答案 0 :(得分:2)
如果专辑是公开的并且由Facebook页面(不是个人资料)拥有,那么这应该很容易。我是在婚礼网站上做到的。
以下是我使用的相册:https://www.facebook.com/media/set/?set=a.428653951748.228645.6815841748&type=3
这是我需要的Facebook API端点:http://graph.facebook.com/428653951748/photos
您只需要能够从Facebook相册的URL中提取的相册ID,然后发出对graph.facebook.com/[id]/photos的请求。您可以获得不同大小的图像的一系列图像和URL。
示例,使用jQuery和Underscore.js(也在http://jsfiddle.net/ey2Pd/2/):
$.getJSON('http://graph.facebook.com/10150198713667381/photos').then(function(response) {
// 0-8, 0 returns the largest available images, 8 the smallest
var imageIndex = 4;
var images = _(response.data).chain()
.pluck('images')
.pluck(imageIndex)
.value();
_(images).each(function(image) {
$('#image-container').append(
$('<img>').attr('src', image.source)
);
});
});