我知道用于个人资料图片的Facebook图形api使用起来非常简单:
http://graph.facebook.com/timothy.potter2/picture
这会重定向到图像,我可以在标准 html img 标签中将其用作热链接图像
我正在寻找如何以理想情况下相同的方式对封面照片执行此操作,因此我可以将教会的Facebook封面图像链接到网站标题。
到目前为止,我已经得到了这个:
http://graph.facebook.com/32533442649?fields=cover.source
返回以下内容:
{
"cover": {
"source": "https://scontent-a.xx.fbcdn.net/hphotos-xpa1/v/t1.0-9/s720x720/10731043_10152857370877650_9073058844184642679_n.jpg?oh=95190ad300e507211cbd840f619fe606&oe=5516F829",
"id": "10152857370877650"
},
"id": "32533442649"
}
如何让它返回图像?任何可以直接粘贴到 html 中的代码将不胜感激。谢谢
这在字段/{page_id}/?fields=cover
中是不可能的。/{user_id}/picture
是一个例外(它是一个边,而不是一个字段)。
您必须通过JavaScript或服务器端解析JSON结果。
对于JS示例,请看一下这个小提琴:
http://jsfiddle.net/16cxL1ty/
或这里的代码:
<img src="" id="cover"/>
<script>
var xmlhttp;
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
var result = JSON.parse(xmlhttp.responseText).cover.source;
document.getElementById("cover").src=result;
}
}
xmlhttp.open("GET",'https://graph.facebook.com/32533442649?fields=cover{source}',true);
xmlhttp.send();
</script>