SMS不是通过解析云代码通过PLIVO发送的

时间:2016-06-29 13:43:34

标签: parse-platform cloud-code plivo

我在parse.com上开发了一个应用程序

我创建了以下函数来使用plivo发送短信。

function sendRSVPSMS(PlivoNumber, GuestNumber, Message) {
    var payLoad = {
        src: PlivoNumber,
        dst: GuestNumber,
        text: Message
    };
    Parse.Cloud.httpRequest({
        url: "<My Plivo URL>",
        method: "POST",
        body: payLoad,
        success: function (httpResponse) {
            console.log('httpRequest success');
            response.success("Sent successfully");
        },
        error: function (httpResponse) {
            console.log('SendSMS: Request failed');
            response.error('Request failed');
        }
    });
}

可能是什么原因?

2 个答案:

答案 0 :(得分:3)

Plivo销售工程师。

帕万是对的。您需要为Parse指定Content-Type标题为application/json以生成正文的JSON字符串:

        headers: {
            "Content-Type": "application/json"
        },

您还应console.log(httpResponse)(也称为Plivo API响应),它将告诉您是否做错了(发送错误数据,未正确验证)或者您做了正确的事情。无论哪种方式,它都会显示api_id,您可以使用api_id查看Plivo account dashboard debug logs并找出需要更改的内容。您还可以直接转到特定https://manage.plivo.com/logs/debug/api/e58b26e5-3db5-11e6-a069-22000afa135b/的调试日志,方法是创建这样的网址:e58b26e5-3db5-11e6-a069-22000afa135b并将api_id替换为您Parse.Cloud.httpRequest返回的content = sudo('git status | sed -n 2p | grep -w "Your branch is up-to-date"') print (content) }

答案 1 :(得分:1)

可能是您忘记指定内容类型的标题。

“Content-Type”:“application / json”

所以你的代码如下

function sendRSVPSMS(PlivoNumber, GuestNumber, Message) {
    var payLoad = {
        src: PlivoNumber,
        dst: GuestNumber,
        text: Message
    };
    Parse.Cloud.httpRequest({
        url: "<My Plivo URL>",
        method: "POST",
        body: payLoad,
            headers: {
                "Content-Type": "application/json"
            },
        success: function (httpResponse) {
            console.log('httpRequest success');
            response.success("Sent successfully");
        },
        error: function (httpResponse) {
            console.log('SendSMS: Request failed');
            response.error('Request failed');
        }
    });
}