如何用nodejs发送pushwoosh通知?
问题描述:
我研究了pushwoosh三层架构的远程API,基本流程发送通知到一块JSON数据的发布到http://cp.pushwoosh.com/json/1.3/createMessage,具体而言,该数据将被打包格式类似如何用nodejs发送pushwoosh通知?
{'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版本,所以我必须自己执行它。我使用'http'模块发送请求和主要代码的参数和部分如下所示
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){...});
不幸的是,我得到了ma lformed响应
[syntax error at end of input]
如果请求被成功处理,正确的反应shoule是
{
"status_code":200,
"status_message":"OK",
"response": {
"Messages":["{Notification code}", "{Notification code}", ...]
}
}
我有一个伟大的愿望,以找出正确的请求format.I将是非常欣赏的一个人的版本的NodeJS如果可能的话!
而且pushwoosh远程API导向的网站是
https://www.pushwoosh.com/programming-push-notification/pushwoosh-push-notification-remote-api/
答
我想出如何得到这个工作。你是非常接近
{ “请求”:{ “应用程序”: “APPLICATION_CODE”, “applications_group”: “GROUP_CODE”,//可选。可以用来代替“应用” “身份验证”:“api_access_token”, “通知”:[] }}
这样就剩关闭的事情是,你需要用一个对象的JSON请求所谓的“请求”,你可以看到上面。我实际上正在编写一个节点模块来使用pushwoosh。我想我会张贴这个以防有人在寻找答案。我会在完成后发布npm模块名称,但是如果您真的想让它工作,那么这就是您所要做的。
nluo,怎么样的标签,以限制发送...? – ChrisH 2016-09-09 01:42:12
@ChrisH我相信你可以做的标签内选项参数 – nluo 2016-09-23 01:54:38
非常赞赏。我一直在修补,并得到了工作。很抱歉,我没有回来编辑/删除我的评论。他们的标签机制工作正常,如果可能有点冗长和重复。谢谢! – ChrisH 2016-09-23 11:23:20