Tag: reddit

需要帮助与nodejs设置reddit oauth

我一直在挣扎几天,Reddit API文档没有提供我需要使用节点来访问oauth的信息。 我注册我的应用程序与Reddit并input“http:// localhost:3000 / authorize”作为我的redirect_ URL,因为这是testing。 然后,Reddit给我提供了一个消费者密钥和秘密。 我不知道该从哪里出发。 据我所知,我不得不以某种方式将浏览器redirect到“https://ssl.reddit.com/api/v1/authorize”,并提供我的consumer_key和secret。 用户可以login,然后redirect到我的演示站点。 我需要的是一个小指南或演示,我可以学习如何使用节点设置整个过程。

监视由Node.js发送的请求标头

所以我正在调用一个subreddit的服务,并在JSON中请求最热门的文章。 现在,Reddit喜欢使用reddit API的人修改他们的User-Agent Header是描述性的(这里是格式的链接 )。 所以使用Node.JS和Request插件,我写了这样的东西 var subreddit = 'somesupercoolsubreddit'; var stories = '5'; var options ={ url : url.parse(REDDIT_URL+"/r/"+subreddit+"/hot.json"+"?"+"limit="+stories), headers : {'User-Agent' : 'Super Cool Reddit Service for Local Widgets! by /u/mrkaiser'}, json: true }; request(options,function(err,response,body){ serverResponse.send(body); }); 但是我怎么知道这个工作? 有什么方法可以知道请求头实际上是否被填充,或者Reddit是否有合适的用户代理?

在“www”子域中使用Reddit OAuthvalidation问题

我现在已经为我的Node应用程序设置了Reddit授权,就像本例中一样 。 我有在Reddit设置callbackurlhttp://example.com/auth/reddit/callback的应用程序,一切都很好。 用户可以inputhttp://example.com/auth/reddit并login,一切都很好。 用户尝试通过http://www.example.com/login时出现问题。 看起来,Reddit的CSRF保护将这些请求视为一个问题。 按照这个例子: /** * Authentication route */ app.get('/auth/reddit', function(req, res, next) { var n = crypto.randomBytes(32).toString('hex'); req.session.state = n; passport.authenticate('reddit', { state : n, duration : 'permanent' })(req, res, next); }); /** * Authentication callback */ app.get('/auth/reddit/callback', function(req, res, next) { // Check for origin via state token if (req.query.state […]

从redditurl获取原始url

考虑以下链接: https://www.reddit.com/r/todayilearned/comments/6x6iz8/til_princess_diana_on_live_tv_shook_the_hand_of/?ref=share&ref_source=link : https://www.reddit.com/r/todayilearned/comments/6x6iz8/til_princess_diana_on_live_tv_shook_the_hand_of/?ref=share&ref_source=link link 原来的样子是 http://www.bbc.com/news/av/magazine-39490507/how-princess-diana-changed-attitudes-to-aids 使用Javascript,我怎么能从第一个链接到原始链接,而不使用Reddit API?

如何在Node.js中模拟POST请求之后访问响应体?

我现在一直在尝试这个很长一段时间。 我想要从具有成人内容的subreddit中取消内容。 但是,问题是,你必须回答一个简单的问题,才能访问该页面,即如果你是18+或不。 我做了一些关于源代码的研究,发现这个解决scheme是一个简单的POST请求。 你需要发送参数“over18 = yes”。 但我的问题是,我无法访问post后的响应主体。 这里是在节点中使用http请求的代码。 我甚至用节点“请求”模块尝试过,但没有任何帮助。 希望find能够帮助我的人。 var http = require("http"); var options = { host: 'www.reddit.com', port: 80, path: '/over18?dest=http%3A%2F%2Fwww.reddit.com%2Fr%2Fnsfw&over18=yes', method: 'POST' }; var req = http.request(options, function(res) { console.log('STATUS: ' + res.statusCode); console.log('HEADERS: ' + JSON.stringify(res.headers)); res.setEncoding('utf8'); res.on('data', function (chunk) { console.log('BODY: ' + chunk); }); }); req.on('error', function(e) […]

Reddit Api错误试图通过snoocore node.js获取reddit自己的文本

我tryng得到self.text上的post,并使用此路线: reddit('/r/Denmark/comments/2jc5yk/how_to_live_in_denmark.json').listing({ context: 1, limit: 10, sort: 'hot', }) .then(function(result) { console.log(result); }); 我也尝试使用.get() ,没有/how_to_live_in_denmark和/how_to_live_in_denmark但仍然是相同的错误。 当我在浏览器中input路由时,我得到所需的JSON。 我得到的错误: Uncaught Error: Invalid path provided! This endpoint does not exist. Make sure that your call matches the routes that are defined in Reddit's API documentation 我究竟做错了什么?

Reddit API只返回一个post

我正在尝试使用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个post。

使用NodeJs请求模块向Reddit API发表评论

所以我正在为Redditor的同事构build一个非常愚蠢的机器人。 它需要login,然后发表评论。 Reddit的文档相当稀less,恕我直言,所以我希望有人能告诉我我要去哪里错了。 据我了解,我需要张贴到https://ssl.reddit.com/api/login ,检索一个cookie,然后发送该cookie,以及提供的modhash https://api.reddit.com/api /评论 。 但是当我遵循这些步骤时,我一直得到一个403 statusCode。 我敢肯定,我错过了一些愚蠢的东西,但我似乎无法告诉它是什么。 相关代码: var request = require('request') , modhash; request.defaults({jar:true}); function login () { var options = { url : 'https://ssl.reddit.com/api/login?api_type=json&user=USERNAME&passwd=PASSWORD&rem=true', headers : { 'User-Agent' : 'fooBot/0.1 by USERNAME' }, method : 'POST' }; request(options, function (err, res, body) { if (err) { console.log(err.json.errors); return; } […]

无法调用reddit的/ api /提交

我无法得到reddit / r / redditdev的任何帮助,所以我希望你很好的人在stackoverflow可以帮助 我试图调用/ API /提交 。 我可以成功login用户并检索承载/访问令牌。 (我使用passport-reddit节点模块) 我可以成功地调用/ api / needs_captcha 当/ needs_captcha返回true时,我可以成功调用/ api / new_captcha 我可以向用户显示validation码图像 现在我尝试使用nodejs的请求模块像这样调用提交 var options = { url: 'https://oauth.reddit.com/api/submit', method: 'POST', headers: { 'Authorization': 'bearer '+usertoken , 'user-agent': 'node.js' }, json: data } request(options, function(error, response, body) … 我的“数据”variables的示例如下所示: { api_type: 'json', kind: 'self', sr: 'test', […]