Heroku 如何在解析服务器上配置Twilio?

Heroku 如何在解析服务器上配置Twilio?,heroku,parse-platform,twilio,parse-cloud-code,parse-server,Heroku,Parse Platform,Twilio,Parse Cloud Code,Parse Server,我正在尝试将Twilio合并到我的应用程序中,该应用程序运行在与Heroku和MongoLab一起部署的解析服务器上。我正试图在cloud/main.js文件中使用此代码进行配置 var twilio = require("twilio"); twilio.initialize("87se46bovanw4v5aiwy4o57","ia8o57awyov57yn875vyboe"); Parse.Cloud.define("inviteWithTwilio", function(reques

我正在尝试将Twilio合并到我的应用程序中,该应用程序运行在与Heroku和MongoLab一起部署的解析服务器上。我正试图在cloud/main.js文件中使用此代码进行配置

var twilio = require("twilio");
twilio.initialize("87se46bovanw4v5aiwy4o57","ia8o57awyov57yn875vyboe");


Parse.Cloud.define("inviteWithTwilio", function(request, response) {
// Use the Twilio Cloud Module to send an SMS
twilio.sendSMS({
    From: "6543211234",
    To: 8065456703,
    Body: "Start using Parse and Twilio!"
  }, {
success: function(httpResponse) { response.success("SMS sent!"); },
error: function(httpResponse) { response.error("Uh oh, something went wrong"); }
  });
});
然而,我得到了这样的回应

    UserInfo={NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.} [NSDebugDescription: JSON text did not start with array or object and option to allow fragments not set.]

我已经确定,在尝试初始化Twilio时,问题在于前两行。我想这是因为Twilio云模块没有像解析托管云代码那样集成到解析服务器中,但我不确定。我如何解决这个问题?谢谢您的时间。

我认为这是Twilio版本的问题

您应该使用twilio.sendMessage

var twilio = require("twilio");
twilio.initialize("87se46bovanw4v5aiwy4o57","ia8o57awyov57yn875vyboe");


Parse.Cloud.define("inviteWithTwilio", function(request, response) {
// Use the Twilio Cloud Module to send an SMS
twilio.sendMessage({
    From: "6543211234",
    To: 8065456703,
    Body: "Start using Parse and Twilio!"
  }, {
success: function(httpResponse) { response.success("SMS sent!"); },
error: function(httpResponse) { response.error("Uh oh, something went wrong"); }
  });
});
希望能帮助你

谢谢

///////////////////////////////

这是我的代码工作很好

Parse.Cloud.define("sendSMS", function(request, response) {

    console.log(request);
    var twilio = require("twilio")("ACCOUNT_SID","AUTH_TOKEN");

    twilio.sendMessage({

        to: request.params.number,
        from: request.params.from,
        body: request.params.message

    }, function(err, responseData) { 

        if (err) {
            response.error(err);
        } else { 
            response.success("SMS sent.");
        }

    });

});

这里是Twilio开发者福音传道者

从我们在评论中的对话来看,您似乎还没有安装。在解析时,您不必安装该模块,因为它是默认包含的。要使用Parse server使用Twilio模块,需要安装它

要安装模块,请在终端中打开应用程序并键入:

$ npm install twilio --save
--save
标志很重要,因为它将依赖项保存到
包.json
文件中。签入更新的
package.json
,然后再次部署代码。现在,当部署到Heroku时,将安装npm模块,包括Twilio模块

马林也已经回答了,他说得很有道理。我还建议使用
twilio.sendMessage
。它使用更新和更好的功能(而不是不推荐的SMS资源)


让我知道这是否有帮助。

我试过了,但问题是一样的。我认为这不是问题所在,因为即使我不调用云函数,我也会得到响应。但是,如果我在上面两行进行注释,服务器将正常运行。cloud/main.js中的代码是否在解析服务器上?//////Yes//to和from值是字符串还是整数?如果它们是字符串,它们的格式是什么?它们是字符串类型。您是否在应用程序中安装了Twilio模块<代码>npm安装twilio--保存。另外,您显示的bug看起来像是来自iOS,您是否有关于服务器中错误发生位置的更多信息?只要云端出现错误,我就会收到该错误。我还没有安装twilio模块,但是,我的服务器是通过web版的github与heroku一起部署的(我没有使用命令行工具)。安装这个会有效果吗?万岁!希望你的应用程序的其他部分进展顺利。