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();