2016-02-27 4 views
2

Я пытаюсь отправить сообщение на сервер GCM для пересылки на другой телефон. В запросе говорится о 400. Я проверил код почти сто раз, но на всякий случай я его выложу. Я также изменил параметр токена регистрации на register_id и другие другие, а также изменил данные на массивы и т. Д. Просто чтобы быть понятным, что ключ API и идентификатор регистрации работают, я могу получить push-уведомление с этого веб-сайта:Node.js отправить сообщение серверу GCM

http://demo.androidhive.info/gcm_chat/push_test.php

Вот код:

var gcm = require('node-gcm'); 
var gcmSender = new gcm.Sender('A......1234568AAA'); //my api key 

var GCMmessage = new gcm.Message(); 
GCMmessage.addData("message", message); 
GCMmessage.addData("from", from); 

GCMmessage.addNotification('title', 'Alert!!!'); 
GCMmessage.addNotification('body', 'Abnormal data access'); 
GCMmessage.addNotification('icon', 'ic_launcher'); 

var regtoken = response.GCM.RegID; //data returned from another function 
            //Gives the RegID for a specific user  

gcmSender.send(GCMmessage, {"to" : regtoken}, function(err, gcmResponse) { 
    if(err){ 
     console.log(err); 
    } else { 
     console.log(gcmResponse); 
     console.log("message sent"); 
    } 
}); 

ответ

0

Хорошо, кажется, что лучше, чтобы отправить сообщение GCM непосредственно с помощью модуля NPM, как «запроса» или что-то подобное. Когда я отправил сообщение, используя это, я получил очень подробное сообщение об ошибке, сообщающее мне, что «от» - это зарезервированное слово. Я не уверен, что это была целая проблема, но с подробным сообщением об ошибке было очень легко изменить код.

Смежные вопросы