Articles of twitter

如何使用node.js twit获取用户的twitterstream?

我正在使用node.js Twit模块; 用户通过身份validation后,如何获取该用户的推文? 文档没有解释如何去做。 以下内容返回null: var Twit=require('twit'); var T = new Twit({ consumer_key: nconf.get('twitterAuth:consumerKey') , consumer_secret: nconf.get('twitterAuth:consumerSecret') , access_token: user.token , access_token_secret: user.tokenSecret }); var username=user.profile.username; T.get('search/tweets', {screen_name: username, count:100 }, function(err, data, response) { //q: 'banana since:2011-11-11', count: 100 res.send(data); }) 感谢任何帮助 – 一定是明显的东西。 (我已经确认了代码作品)。

如何通过nodejs获取twitter帐号的邮件标识

我试图从twitter用户通过nodejs的邮件编号,结果我只有用户的推文和其他细节,但我没有得到邮件编号。 我附上我的代码,任何人都告诉我,我的代码是否写入方式获取邮件编号 // twitter api script var config = require("./config"); // In config file I have my consumer_key, consumer_secret, access_token_key,access_token_secret var fs = require('fs'); var Twitter = require('twitter'); var client = new Twitter(config.twitter); var writer = fs.createWriteStream('tweets.json') var start_time = 0; var handles = ""; fs.readFile('./t_handle.csv', 'utf8', function(err, contents) { var params = { 'include_email' […]

错误或规格更改(Twitter API 1.1)

在我的节点应用程序项目中,我将Twitter API从v1.0迁移到了v1.1。 我在日志文件中发现了一些错误。 错误 {"message":"Could not authenticate you","code":32} 原因 如果发布数据(1.1 /状态/更新)包括… ! “ ( ) * 解 我修补了node-oauth的node_modules / oauth / lib / oauth.js(只使用了node-twitter)… 从 327 if( (method == "POST" || method == "PUT") && ( post_body == null && extra_params != null) ) { 328 post_body= querystring.stringify(extra_params); 329 } 至 327 if( (method == […]

叽叽喳喳request_token端点总是返回“无法validation你”

我正在写一个简单的twitterlogin,并尝试获取请求令牌,以redirect用户访问令牌,但我总是以couldn't authenticate you错误,我试图添加签名作为最后的头,它不工作了。 当我删除一些头我得到错误的authentication数据错误,所以这个configuration我认为一切都是正确的我只是不能确定我做错了什么,叽叽喳喳拒绝发回请求令牌。 这是我的代码 'use strict'; const https = require("https"); const cfg = require('./config'); // const cfg=require(`${__dirname}/config`); const qs = require("querystring"); const esc = qs.escape; const crypto = require('crypto'); const HMAC = crypto.createHmac; class twitter { constructor(o) { // if (!o || !o.consumer_key || !o.consumer_secret) throw new Error("Missing Paramaters"); this.id = o.consumer_key; this.secret = […]

nodejs – parsing分块twitter json

nodejs服务器从Twitter获取这个JSONstream并将其发送到客户端: stream.twitter.com/1/statuses/filter.json?track=gadget 返回给客户端的数据是'chunked'JSON,客户端的JSON.parse(chunk)和eval('('+ chunk +')')导致parsing错误。 连接夹块并等待“结束”事件也不是解决scheme 我注意到之前的样本在客户端使用了类似于以前的工作: socket.onmessage = function(chunk) { data = eval("(" + chunk.data + ")"); alert(data.user.screen_name); 我在客户端使用它,并导致parsing错误: var socket = new io.Socket(); socket.on('message', function(chunk) { var data = eval('(' + chunk + ')'); // parsing error alert(data.screen_name): 我知道它成功地返回一个JSON块: var socket = new io.Socket(); socket.on('message', function(chunk) { alert(chunk): // shows a JSON chunk […]

最好的MongoDB架构的Twitter克隆?

我知道类似的问题已经被问到,但是对一个基本问题寻找一个非常基本的答案。 我是MongoDB的新手,做一个Twitter风格的应用程序(博客,追随者等),我想知道最好的模式使用。 现在我有(非常高): Member { login: string, pass: string, posts: [ { title: string, blog: string, comments: [ { comment: string } ] } ] } 还有更多,但是这给你的想法。 现在的问题是我正在寻找添加“追随”function,我不知道最好的路线去。 我可以给成员添加一个“以下”embedded式文档,但是我不确定使用mongoDB最聪明的方法是什么。 我的主要观点显然是主要的“饲料”页面,你可以看到所有你关注的人的post。

使用Oauth在Node.js中将图像发布到twitter

我正在尝试使用Oauth模块将图像发布到Twitter。 这是我有什么: 它抛出了一个403错误,我知道我做了错误的方式如何添加媒体的post,但林只是不知道该从哪里去。 var https = require('https'); var OAuth= require('oauth').OAuth; var keys = require('./twitterkeys'); var twitterer = new OAuth( "https://api.twitter.com/oauth/request_token", "https://api.twitter.com/oauth/access_token", keys.consumerKey, keys.consumerSecret, "1.0", null, "HMAC-SHA1" ); var params = { status : "Tiger!", media : [("data:" + mimeType + ";base64,") + fs.readFileSync(path,'base64')] }; //function(url, oauth_token, oauth_token_secret, post_body, post_content_type, callback) twitterer.post("https://upload.twitter.com/1/statuses/update_with_media.json", keys.token, keys.secret, params, "multipart/form-data", […]

在Node中使用Passport中间件进行Twitter身份validation

我正在开发一个网站与Node.js(使用Express框架)。 为了使用Twitter身份validation,我正在使用passport模块(http://passportjs.org),他的Twitter包装器称为passport-twitter 。 我的服务器端脚本是: /** * Module dependencies. */ var express = require('express') , routes = require('./routes') , user = require('./routes/user') , http = require('http') , path = require('path') , passport = require('passport') , keys = require('./oauth/keys') , TwitterStrategy = require("passport-twitter").Strategy; var app = express(); app.configure(function(){ app.set('port', process.env.PORT || 3000); app.set('views', __dirname + '/views'); app.set('view […]

如何将base64映像从客户端传输到服务器或从s3存储桶下载binary / base64?

在我的应用程序中,我直接从客户端发送照片到S3,使用类似于这个build议的英雄推荐: https ://devcenter.heroku.com/articles/s3-upload-node 主要好处是它节省了服务器成本(我假设,因为块没有被发送到服务器使用诸如multipart-yforms的数据)。 不过,我希望能够将这些图像分享给Twitter,其中说明了这一要求: 确保POST是一个多部分/表单数据请求。 请上传文件的原始二进制文件(媒体参数)或其base64编码的内容(media_data参数)。 尽可能使用原始二进制,因为base64编码会导致较大的文件大小 我曾尝试将客户端s3上传所需的base64发送回服务器,但根据照片大小的不同,我经常会收到一个错误,说明发送回来太大了。 TLDR 我是否需要使用mulitparty / multipart表单数据将我的照片发送到我的服务器,以便我可以将所需的base64 /二进制文件分享到Twitter的照片,还是可以将照片从我的客户端发送到s3? 然后,不知何故, 有效地获得所需的base64 /二进制在服务器上(可能使用请求模块),所以我可以发送图像到Twitter?

使用twitter API有时会得到错误

我使用下面的代码有时工作,但它不稳定,当我运行程序有时我得到错误420与JSONparsing错误,这不给你很多提示如何解决它。 任何想法我做错了什么? 错误是: 获取推文时出错:错误:状态码:420获取推文时出错:SyntaxError:位于0的JSON中的意外标记E var Twitter=require('twitter'); var lclconf = require('../config.json'); var client=new Twitter({ consumer_key: lclconf.twitter.consumer_key, consumer_secret: lclconf.twitter.consumer_secret, access_token_key: lclconf.twitter.access_token_key, access_token_secret: lclconf.twitter.access_token_secret }); stream.on("data", function(data){ console.log(data.id_str); var tweet_id="https://api.twitter.com/1.1/statuses/oembed.json?id="+data.id_str; request.get(tweet_id) .end(function(err,res){ if(err){ console.log("Error from Twitter API: " + err); }else{ //console.log(res.body); io.emit('tweet',res.body); } }); }); stream.on('error', function(err){ console.log("Error getting tweets: "+err); }); io.on('connection', function(client){ client.on("join", function(data){ console.log(data); […]