Facebook相册中的照片未显示

时间:2009-10-10 02:31:16

标签: facebook

我正在使用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时,它会起作用,并且会返回照片(不在任何相册中)。但是,当我在援助中指定我的一张相册时,没有返回任何结果。

任何人都知道我犯的错误是什么?提前谢谢。

1 个答案:

答案 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标记显示它