Shadowbox PHP Facebook Graph Api Error



如您所知,我正在使用Shadowbox为我的网站打开带有单击缩略图的大图像。我的问题是,我正在获取用户的Facebook个人资料照片,例如:

$large = "https://graph.facebook.com/{$id2}/picture?type=large";
$small = "https://graph.facebook.com/{$id2}/picture?type=square";

它工作得很好,但是在阴影盒中,我的大图像有问题。

我在阴影框中称之为:

<a href="<?php echo $large; ?>" rel="shadowbox">
<img style="max-width:50px; max-height:50p;" src="<?php echo $small; ?>" />
</a>

可以想象,小图像显示完美,但是当我单击具有href的小图像时,它无法显示大图像。

我尝试将大图像变量更改为:

$large = "https://graph.facebook.com/{$id2}/picture?type=large&redirect=false";

但它也未能显示大图像。

希望你能帮到你,谢谢

我以前没有使用过Shadowbox,所以我不知道它在幕后是如何工作的。可能是它无法处理为大图像返回另一个 url 的 url。

尝试使用 php 进行 API 调用,然后将此结果传递给 shadowbox。

$large = file_get_contents("https://graph.facebook.com/{$id2}/picture?type=large&redirect=false");

当然,使用这样的file_get_contents()是一种快速而肮脏的方法。如果它有效,在你把它推广到生产网站之前,你需要使用cURL或更好的Facebook PHP SDK来做到这一点。

假设您使用阴影框在页面上显示多个用户的照片,您最终可能会在某个时候遇到 API 限制。为防止出现这种情况,请重做 API 调用以一次拍摄多张照片:

$large_photos = $fb->api('/picture?type=large&redirect=false&ids=' . 
                           implode($ids_array, ','));

https://graph.facebook.com/{$id2}/picture?type=large&redirect=false基本上会向您返回图像URL的文本内容。这就是它没有显示的原因。

例如。

https://graph.facebook.com/yungsenriady.budiman.3/picture?type=large&redirect=false

返回

"https://fbcdn-profile-a.akamaihd.net/hprofile-ak-ash3/157348_100001167523294_1569184886_n.jpg"

尝试只使用

https://graph.facebook.com/{$id2}/picture?type=large

最新更新