Json 如何使用nodejs从新闻文章网站提取facebook评论

Json 如何使用nodejs从新闻文章网站提取facebook评论,json,facebook,node.js,facebook-graph-api,Json,Facebook,Node.js,Facebook Graph Api,我想从新闻文章网站上提取facebook评论。例如,我想从链接中提取评论 . 使用facebook的graph api,结果如下: 我想使用nodejs提取评论。我使用了一个名为request的开源模块,将结果作为http对象获取 下面是我的代码:我使用JSON.parse将字符串转换为JSON Obj。但是,我无法从parsedResponse变量获取id或message等属性。谁能告诉我哪里出了问题?或者有没有更好的方法通过nodejs获得facebook的评论?谢谢大家! var htt

我想从新闻文章网站上提取facebook评论。例如,我想从链接中提取评论 . 使用facebook的graph api,结果如下:

我想使用nodejs提取评论。我使用了一个名为request的开源模块,将结果作为http对象获取

下面是我的代码:我使用JSON.parse将字符串转换为JSON Obj。但是,我无法从parsedResponse变量获取id或message等属性。谁能告诉我哪里出了问题?或者有没有更好的方法通过nodejs获得facebook的评论?谢谢大家!

var http = require('http');


var url = 'http://graph.facebook.com/comments/?ids=http://therealsingapore.com/content/16-year-old-schoolboy-had-sex-3-underage-girls';

var request = require('request');
var counter = 0;

request(url, function (error, response, body) {

if (!error && response.statusCode == 200) {

  var  parsedResponse = JSON.parse(body);
}
console.log(parsedResponse);
var msg = parsedResponse.comments.data[0].message;
console.log(msg);
});

只有当您像这样使用批处理API()时,这才是可能的:

curl \
   -F 'access_token={your_app_access_token}' \
   -F 'batch=[{ "method":"GET","name":"get-id","relative_url":"v2.1/?ids=http://therealsingapore.com/content/16-year-old-schoolboy-had-sex-3-underage-girls",},{"method":"GET","relative_url":"{result=get-id:$.*.og_object.id}/comments?limit=500"}]' \
   https://graph.facebook.com/
在节点中,这相当于

var request = require('request');
var app_access_token = "{your_app_access_token}";

request({
    url: "https://graph.facebook.com",
    body: "access_token="+app_access_token+"&batch="+JSON.stringify([{ "method":"GET","name":"get-id","relative_url":"/v2.1/?ids=http://therealsingapore.com/content/16-year-old-schoolboy-had-sex-3-underage-girls",},{"method":"GET","relative_url":"/{result=get-id:$.*.og_object.id}/comments?limit=500"}]),
    method: "POST"
}, function (error, response, body) {

    if (!error && response.statusCode == 200) {

        var parsedResponse = JSON.parse(body);
        console.log(parsedResponse);

    }

});

您需要将
{your_app_access_token}
替换为真实的应用访问令牌。

好吧,结果实际上是空的,因为查询不正确。谢谢您的回答!我会去尝试tmr。但我必须告诉你,结果不是空的。当我以字符串形式打印obj时,它包含了我需要的所有内容。数据数组为空: