1

我正在尝试使用 node.js 向 C2DM 服务器推送通知,但我什么也没得到。尝试端口 80 会产生 404,而尝试端口 143 不会产生任何结果。

我已经成功运行了这个 curl 命令:

curl --header "Authorization: GoogleLogin auth=[auth cookie]" "https://android.apis.google.com/c2dm/send" -d registration_id=[reg id] -d "data.payload=payload" -d collapse_key=0

但是,虽然看起来很相似,但我无法让 node.js 对应工作。有任何想法吗?

var querystring = require('querystring');
var http = require('http');

var post_domain = 'https://android.apis.google.com';
var post_port = 143;
var post_path = '/c2dm/send';

var post_data = querystring.stringify({
  'registration_id' : '[reg id]',
  'collapse_key': '0' ,
  'data.payload' : 'Hello!'
});

var post_options = {
  host: post_domain,
  port: post_port,
  path: post_path,
  method: 'POST',
  headers: {
  'Authorization: GoogleLogin auth': '[auth cookie]'
  }
};

var post_req = http.request(post_options, function(res) {
  res.setEncoding('utf8');
  res.on('data', function (chunk) {
    console.log('Response: ' + chunk);
  });
});

// write parameters to post body
post_req.write(post_data);
post_req.end();
4

1 回答 1

0

您应该查看 Instagram 的库,用于将消息推送到 C2DM:https ://github.com/Instagram/node2dm

于 2012-08-31T15:48:06.347 回答