流星Twilio MRT包

时间:2014-05-17 18:51:44

标签: javascript node.js meteor twilio

快速提问(我希望) - 我尝试使用Meteor Twilio软件包(" mrt add twilio")从我的应用程序发送短信。

所有内容都设置正确(并且我预先安装了文档中提到的Moment),我认为......但是我得到了一个" Twilio没有定义"我的代码在事件处理程序中运行时出错。

据推测,这与包裹所要求的方式有关' NPM包代码?还有其他人遇到过这个吗?

Template.registration.events({
  'click #registerButton': function (e) {
    e.preventDefault();
    var accountSid = 'AC758eaf30370ee2ba8b64f64ce19769c8';
    var authToken = 'f8a0ee4560d3368a461e1f751b98fd90';

    twilio = Twilio(accountSid, authToken); //this appears to be the issue

    twilio.sendSms({
      to:'+966533444837',
      from: '+18654072438',
      body: 'Hi this is a test from Twilio.'
    }, function(err, responseData) { 
      if (!err) { 
        console.log(err)
      }
    });
  }
});

1 个答案:

答案 0 :(得分:4)

您使用的代码仅在服务器端运行。您需要将其与方法/调用

连接

服务器端:

Meteor.methods({
    sendsms:function(param1, param2..) {
        var accountSid = 'AC758eaf30370ee2ba8b64f64ce19769c8';
            var authToken = 'f8a0ee4560d3368a461e1f751b98fd90';

            twilio = Twilio(accountSid, authToken); //this appears to be the issue

            twilio.sendSms({
              to:'+966533444837',
              from: '+18654072438',
              body: 'Hi this is a test from Twilio.'
            }, function(err, responseData) { 
              if (!err) { 
                console.log(err)
              }
        });
    }
});

然后在客户端..

Meteor.call("sendsms", "something", "something");

您可能需要考虑使用同步代码或将twilio.sendSms包裹在Meteor._wrapAsync中以便在客户端上获得结果。