如何使用nodejs发送pushwoosh通知?

时间:2014-08-29 07:17:43

标签: node.js push-notification pushwoosh

我研究了pushwoosh romote api,发送通知的基本过程是将一段JSON数据发布到http://cp.pushwoosh.com/json/1.3/createMessage,具体来说,数据将以< / p>

 {'application' : PW_APPLICATION,
    'auth'      : PW_AUTH,
    'notifications':{
           'send_date' : 'now',
           'content'   : 'test',
           'data'      : {
                'custom' : 'json data'
            },
           'link' : 'http://pushwoosh.com/'
     }
 }
pushwoosh指南列出了Java,PHP,Ruby等几个示例代码。我很困惑pushwoosh没有提供nodejs版本,所以我必须自己执行它。我使用&#39; HTTP&#39;模块发送请求和参数以及部分主要代码如下所示

var bodyArgs = 
{'application' : PW_APPLICATION,
    'auth'      : PW_AUTH,
    'notifications':{
           'send_date' : 'now',
           'content'   : 'test',
           'data'      : {
                'custom' : 'json data'
            },
           'link' : 'http://pushwoosh.com/'
     }
 }

var bodyArgsArray = [];
for (var i in bodyArgs) {
    if (bodyArgs.hasOwnProperty(i)) {
        if(typeof bodyArgs[i] == 'object'){
            bodyArgsArray.push(i + '=' + (JSON.stringify(bodyArgs[i])));
        }else{
            bodyArgsArray.push(i + '=' + (bodyArgs[i]));
        }
    }
}
var options = {
    host: 'cp.pushwoosh.com',
    method: 'POST',
    path: '/json/1.3/createMessage',
    headers: {'Content-Length': bodyStr.length,
    'Content-Type':'application/json',
    'Access-Control-Allow-Origin':'*'
}
var req = http.request(options, function (res){...});

不幸的是,我收到了错误的回复

[syntax error at end of input]

如果请求处理成功,则正确的响应应该是

{
    "status_code":200,
    "status_message":"OK",
    "response": {
        "Messages":["{Notification code}", "{Notification code}", ...]
    }  
}

我非常希望找到正确的请求格式。如果可能的话,我会非常感谢某人的nodejs版本!

pushwoosh remote-api-guide网站

https://www.pushwoosh.com/programming-push-notification/pushwoosh-push-notification-remote-api/

2 个答案:

答案 0 :(得分:1)

我想出了如何让它发挥作用。你真的很亲密

{    &#34;请求&#34;:{       &#34;应用&#34;:&#34; APPLICATION_CODE&#34 ;,       &#34; applications_group&#34;:&#34; GROUP_CODE&#34;,//可选。可以用来代替&#34; application&#34;       &#34; AUTH&#34;:&#34; api_access_token&#34 ;,       &#34;通知&#34;:[] }}

所以停止的是你需要将你的json请求包装在一个名为&#34; request&#34;的对象中。正如你在上面看到的那样。我实际上正在编写节点模块以使用pushwoosh。我想我会发布这个以防万一有人在寻找答案。我完成它后会发布npm模块名称,但是如果你真的想让它现在正常工作,那就是你需要做的一切。

答案 1 :(得分:0)

嘿,我写了一个node module来向Pushwoosh API的移动设备发送推送通知