我正在使用Facebook连接和JS客户端库在我的Facebook帐户中检索我的照片。
以下是我的代码:
<div id="photos_pics"></div>
<script type="text/javascript">
var widget_div = document.getElementById("photos_pics");
FB.ensureInit(function () {
FB.Facebook.get_sessionState().waitUntilReady(function() {
FB.Facebook.apiClient.photos_get('12345678', null, null, function(photos,e) {
var markup = "";
for (var i = 0; i < photos.length; i++) {
var photo = photos[i];
var photo_pid = photo.pid;
markup += '<fb:photo size="small" pid="'+photo_pid+'"></fb:photo>';
}
widget_div.innerHTML = markup;
FB.XFBML.Host.parseDomElement(widget_div);
});
});
});
</script>
以下方法检索照片:
FB.Facebook.apiClient.photos_get(uid,aid,null,result)
当我只指定作为我的Facebook ID的uid时,它会起作用,并且会返回照片(不在任何相册中)。但是,当我在援助中指定我的一张相册时,没有返回任何结果。
任何人都知道我犯的错误是什么?提前谢谢。
答案 0 :(得分:0)
我最近在从Facebook最近检索照片时遇到了很多问题。几乎总是围绕着他们对pid的最新变化。在Facebook中查看照片时,您会在网址pid和help中看到两个查询变量。
http://www.facebook.com/home.php#/photo.php?pid=9513212&id=672915455
虽然这是欺骗性的,因为facebook最近对pid的改变是它们实际上是id_pid形式,所以如果我将上面的照片包含在fb照片标签中,它将如下所示
<fb:photo size="small" pid="672915455_9513212"></fb:photo>
虽然我对此有很多问题,因为在不止一个地方,facebook与将返回或正在寻找的pid形式不一致。
所以我的第一个建议是看看你收到的样式pid以及你想要使用哪种样式。这很可能是您目前的问题。
您的下一个问题是fb:photo标签的xfbml版本中存在当前错误。目前,在解析其中包含“_”的新样式标记时,标记会出错。为了解决这个问题,我们只是查询了facebook用于图像的直接网址,并使用简单的html img标记显示它