如何使用 nodejs 发送 pushwoosh 通知?

Posted

技术标签:

【中文标题】如何使用 nodejs 发送 pushwoosh 通知?【英文标题】:how to send pushwoosh notification with nodejs? 【发布时间】:2014-08-29 07:17:42 【问题描述】:

我研究过pushwoosh romote api,发送通知的基本过程是发送一条JSON数据到http://cp.pushwoosh.com/json/1.3/createMessage,具体来说,数据会被打包成这样的格式

 '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)...);

很遗憾,我收到了格式错误的回复

[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/

【问题讨论】:

【参考方案1】:

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

“要求”: "应用":"APPLICATION_CODE", "applications_group":"GROUP_CODE", // 可选。可以代替“应用程序”使用 "auth":"api_access_token", “通知”:[]

所以剩下的事情是您需要将您的 json 请求包装在一个名为“request”的对象中,如上所示。我实际上正在编写一个节点模块来使用 pushwoosh。我想我会发布这个,以防有人在寻找答案。完成后,我将发布 npm 模块名称,但如果你真的想让它现在工作,这就是你所要做的。

【讨论】:

【参考方案2】:

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

【讨论】:

nluo,标签限制发送怎么办...? @ChrisH 我相信你可以在选项参数中做标签 非常感谢。我一直在修补并让它工作。很抱歉我没有回来编辑/删除我的评论。他们的标签机制工作正常,虽然可能有点冗长和重复。谢谢!

以上是关于如何使用 nodejs 发送 pushwoosh 通知?的主要内容,如果未能解决你的问题,请参考以下文章

推送通知在开发和生产模式下如何工作(pushwoosh)

Pushwoosh,使用 vb.net 和 json 发送推送消息

如何从 java 代码为 android 应用程序配置 Pushwoosh

Android pushwoosh:从通知(带触发器)启动应用程序时,如何避免显示“使用完成操作”对话框

用于科尔多瓦的 Pushwoosh 远程 API

pushwoosh 错误无法识别的选择器发送到实例 Cordova 1.7.0