我的印象是,这要么是荒谬的,而且我忽略了这一点,否则就不可能了。
我想在一个网页(仅使用客户端JS)中嵌入来自其中一个Facebook页面的最新帖子。除了一个问题外,以下代码有效:
<div id="fb-root"></div>
<script>
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<script>
window.fbAsyncInit = function(){
FB.init({
appId: 'xxxxxxxxxxxxxxxxx',
status: true,
xfbml: true,
version: 'v2.3'
}),
FB.login(function(response){
if(response.authResponse){
var id = ['FBpage1', 'FBpage2', 'FBpage3'];
var num = id.length;
var rn = Math.round(Math.random()* num);
FB.api('/' + id[rn] + '/posts?limit=1', function(apiResp){
link = apiResp.data[0].actions[0].link;
post = '<div class="fb-post" data-href="' + link + '" data-width="500"></div>';
$('#container').append(post);
FB.XFBML.parse(document.getElementById('container'));
});
}
});
};
</script>
<div id = "container">
</div>
此代码从数组中选择一个页面,查找该页面上的最新帖子(由页面所有者),并运行标准的嵌入FB代码。问题是它需要用户登录到Facebook,然后弹出UI。有没有办法在页面上找到最新的帖子并以编程方式生成嵌入代码而不登录弹出窗口?
感谢。