我正在学习javascript和Facebook API,我正在尝试显示用户新闻源。我知道我需要使用的查询,但我不知道如何使用javascript显示结果。这是我的查询
SELECT post_id, actor_id, target_id, message FROM stream WHERE filter_key in (SELECT filter_key FROM stream_filter WHERE uid=me() AND type='newsfeed') AND is_hidden = 0
我很确定用于显示每个结果的forEach循环是我需要做的,但我如何使用新闻源帖子信息填充每个结果?
好的,我的新代码可以正确接收查询结果。不幸的是,结果并没有显示出来。
<script>
function showPosts() {
FB.api("/fql?q="+encodeURIComponent("SELECT post_id, actor_id, target_id, message FROM stream WHERE filter_key in (SELECT filter_key FROM stream_filter WHERE uid=me() AND type='newsfeed') AND is_hidden = 0"), function(response, post_id, actor_id, message) {
console.log(response);
var posts = response.data
var postId = post_id.data;
var message = message.data;
for (var i=0; i < posts.length && i < 25; i++) {
var post = posts[i];
markup += '<div>' + post.postId + post.message + '<div/>';
}
document.getElementById('newsfeedposts').innerHTML = markup;
});
</script>
答案 0 :(得分:1)
通过FB.api执行查询,并处理您将在回调函数中返回的数据。
FB.api("/fql?q="+encodeURIComponent("SELECT ..."), function(response) {
console.log(response);
})
在Firefox中执行该操作,查看Firebug控制台,您应该了解响应的构造方式。
答案 1 :(得分:0)
FB.api(
'fql',
{'q' : "SELECT url, like_count FROM link_stat WHERE url='http://stackoverflow.com/';"},
function (response){
console.log(JSON.stringify(response));
}
);