如何定义搜索字词框以使用Twitter流API和meteor.js搜索用户的特定时间轴

时间:2015-02-17 19:09:41

标签: javascript mongodb twitter meteor real-time

您好我目前有一个Twitter流npm包,名为twit,检索特定用户时间轴并将这些推文和图片存储在数组中。

var x = [];
var y = [];
var z = [];
var imageUrl ;
var result;
var Stringify;


 if (Meteor.isServer) {

  var Twit = Meteor.npmRequire('twit');
  Future = Meteor.npmRequire('fibers/future');

Tweets = new Meteor.Collection("tweets");

    var twit = new Twit({
    consumer_key:         'xxxxxxxxxxxxxxxxxx'
  , consumer_secret:      'xxxxxxxxxxxxxxxxxx'
  , access_token:         'xxxxxxxxxxxxxxxxxx'
  , access_token_secret:  'xxxxxxxxxxxxxxxxxx'
    });


   twit.get('statuses/user_timeline', {screen_name: 'DopestClothes', count:20}, function(err, item) {
   console.log(err, item);

   for(var i=0 ; i < 19 ; i++)
     {    
        console.log(item[i].entities.media+"YES");
        console.log(item[i].entities.media+" media");
       if(item[i].entities.media) {

         imageUrl = item[i].entities.media[0].media_url;
         z.push(imageUrl);
         x.push(item[i].text+"\n");
         y.push(item[i].created_at+"\n");


       }

}




)}

这对我来说完全没问题,但我的问题是我如何在Meteor模板HTML中创建一个用户输入框,它会在单击时更改请求中使用的变量screen_name。

换句话说,允许用户指定应检索哪个用户时间线,并且响应将刷新。从那时起,将var z(新的twitter搜索数组结果)的结果存储到mongoDB集合中。

任何帮助或指导都会得到真正的赞赏。

1 个答案:

答案 0 :(得分:1)

我认为你需要的是meteor methods

所以你可以详细说明这个

<template name="example">
 <input type="text" id="testInput">
 <button type="submit" id="testButton">Click to change the screen_name</button>
</template>
<{1}}

上的

使用此

server/server.js

event handler

中使用此方法
Meteor.methods({
    changeScreenName:function(newName){
     twit.get('statuses/user_timeline', {screen_name: newName, count:20}, function(err, item) {
   console.log(err, item);
    }
  })