我使用Twitter api(和twitter节点模块https://www.npmjs.com/package/twitter)来检索属于特定列表的用户的数字用户ID列表。我想要做的是利用这些数据在流式api中使用来从列表中传输推文。
所有代码:
// Call Twitter, Senti, and jQuery Node Modules
var Twitter = require('twitter');
// Verify App with Twitter via oAuth
var client = new Twitter({
consumer_key: 'KEY',
consumer_secret: 'SECRET',
access_token_key: 'TOKEN',
access_token_secret: 'TOKEN SECRET'
});
// Calls list Membership data (RESTful -- Will need to be timed)
client.get('lists/members', {slug:'LIST SLUG', owner_screen_name: 'SOMETHING', count: 500}, function(error, tweets, response){
if (!error) {
console.log("Connected");
}
// Pulls user[].id values and pushes them to idArray
var idArray = [];
for(var i in tweets.users) {
idArray.push(tweets.users[i].id);
}
// create object to be used as follow paramater and push idArray values to it as individual properties (All are named follow).
var idObj = new Object();
for(var i in idArray) {
var follow = "follow";
idObj.follow = Number(idArray[i]);
}
console.log(idObj);
// Call Streaming api to begin stream
client.stream('statuses/filter', idObj, function(stream) {
stream.on('data', function(tweet) {
console.log(tweet);
});
stream.on('error', function(error) {
console.log(error);
});
});
});
Step1(Works) 我调用了api,检索用户ID列表并将它们存储在一个数组中。
client.get('lists/members', {slug:'LIST SLUG', owner_screen_name: 'SOMETHING', count: 500}, function(error, tweets, response){
if (!error) {
console.log("Connected");
}
// Pulls user[].id values and pushes them to idArray
var idArray = [];
for(var i in tweets.users) {
idArray.push(tweets.users[i].id);
}
问题
为了在调用流式api时将用户id用作参数,它们必须全部包含在一个对象中,其中每个属性都被调用。
我试图通过创建一个新对象并在for循环中创建一个follow属性来循环遍历数组我实现这一点我将存储用户ID,但它只返回一个对象中的数组值。
var idObj = new Object();
for(var i in idArray) {
var follow = "follow";
idObj.follow = Number(idArray[i]);
}
我已经完成了一堆谷歌搜索,但还没有找到解决方案。如果有人有任何想法,我真的很想听他们。