Meteor Twitter帮助(Meteor NOOB)

时间:2015-07-25 08:10:51

标签: twitter meteor

我刚刚开始学习MeteorJS,在完成教程后,我决定使用Twitter API。最初,我遵循了本教程

http://artsdigital.co/exploring-twitter-api-meteor-js/

完成后,我想做的是从推文中抓取数据并在客户端显示。

N / A =正确认证

以下是我编写的代码:

if (Meteor.isClient) {
    Session.setDefault('screen_name', 'John');
    Template.hello.helpers({
       screen_name: function () {
          return Session.get('screen_name');
       }
    });

    Template.hello.events({
      'click button': function () {

       T.get('search/tweets',
       {
          q: '#UCLA',
          count: 1
       },
       function(err,data,response) {
          var user_name = data.statuses[0].users.screen_name;
          Session.set('screen_name', user_name);
       }
    )
  }
 });
}

if (Meteor.isServer) {
   Meteor.startup(function () {
// code to run on server at startup

var Twit = Meteor.npmRequire('twit');

 var T = new Twit({
     consumer_key:         'N/A', // API key
     consumer_secret:      'N/A', // API secret
     access_token:         'N/A', 
     access_token_secret:  'N/A'
   });
 });
}

我认为问题在于,点击按钮'功能,' T'被认为是未定义的,因此编译器不知道它是什么或它来自何处。这个想法确实激发了我想在

中移动我所写的内容的想法
if (Meteor.isServer)  to  if (Meteor.isClient)

但无济于事。它没有用。我的理由是,一旦Meteor启动,服务器就会启动,所以如果服务器声明变量T,我们也不能在客户端访问它吗?

我不确定我的方法是否正确/不知道Meteor / Meteor NOOB的惯例。如果有人可以帮助我,那将非常感谢! 谢谢!

1 个答案:

答案 0 :(得分:0)

你放了一个" var"在你的" T"面前宣言变量。这会将范围绑定到应用程序的服务器端上下文。我敢打赌,如果你摆脱了var并制造了" T"全局,那么你也可以从客户端访问它。