我正在开发一个网站,只需使用Facebook的JavaScript API列出页面状态更新。 FB API文档并不是非常有用,我甚至不确定如何从我的本地主机验证自己。
您是否可以简单地指定用户ID(本例中的页面)并列出其状态更新,前提是它是公共站点?即使单步执行也表明对FB的异步调用根本没有响应,这表明我没有正确指定我的应用ID。
这是我到目前为止所得到的:
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'myappid', // App ID
channelUrl : 'http://localhost:3000/channel.html', // Channel File
status : false, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
// Additional initialization code here
FB.api(
{
method: 'fql.query',
query: 'SELECT message FROM stream WHERE source_id=1'
},
function(data) {
alert(data);
}
);
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "http://connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
所以我的问题是,我可以播放任何旧页面吗?我需要一些东西来测试它真的。上面的代码不起作用,因为我设置我的应用程序的方式,我没有我要求的页面。
任何线索?
答案 0 :(得分:0)
您希望在调用FB.api()调用之前使用FB.getLoginStatus()函数调用。您需要确保用户已登录。
如果页面管理员未登录,则您将调用FB.login,请求manage_pages和read_stream权限。
一旦您让页面管理员登录,您就可以致电FB.api('me/accouts', 'get', callback)
以获取他们管理的网页列表。
然后在该页面列表中,将有一个页面访问令牌。对于每个页面,使用关联的页面访问令牌来查询me/feed
。