2013-07-27 47 views
4

我想获得一个使用API​​的subreddit中的所有链接,但它只返回一个url。这里是我有的代码:Reddit API只返回一个职位

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个帖子。

回答

2

那是因为只有1顶

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

你可以使用热水代替

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

而且,你不需要登录到做公益的GET请求存在

编辑:你得到这么少的结果,因为你没有正确登录

在登录时,使用

"op" => "login" 

参数和测试返回什么饼干和数据。

我也建议使用SSL登入网址,因为这对我的作品

https://ssl.reddit.com/api/login/ 
+2

我看到的多个链接。当我在浏览器中访问此页面时,显示100个链接:http://www.reddit.com/r/AmazonUnder5/top.json?limit=100 –