node.js – Reddit API只返回一个帖子

我试图使用API​​获取subreddit中的所有链接,但它只返回一个URL.这是我的代码:

var request = require('request');
webpage = 'http://www.reddit.com/r/AmazonUnder5/top.json?limit=100';

//login
request.post('http://www.reddit.com/api/login',{form:{api_type:'json', passwd:'password', rem:true, user:'username'}});

//get urls
request({uri : webpage, json:true, headers:{useragent: 'mybot v. 0.0.1'}}, function(error, response, body) {
    if(!error && response.statusCode == 200) {
        for(var key in body.data.children) {
            var url = body.data.children[key].data.url;
            console.log(url);
        }

    }
});

当我在浏览器中访问json链接时,它会返回所有100个帖子.

最佳答案 那是因为顶部只有1个

http://www.reddit.com/r/AmazonUnder5/top

你可以使用hot代替

http://www.reddit.com/r/AmazonUnder5/hot.json

此外,您无需登录即可执行公共获取请求

编辑:您收到的结果很少,因为您没有正确登录

登录时,请使用

"op" => "login"

参数并测试返回的cookie和数据.

我还建议使用ssl登录URL,因为这对我有用

https://ssl.reddit.com/api/login/
点赞