Отправка push-уведомлений с использованием OneSignal в коде разбора облака

Я в значительной степени скопировал и вставил в документ OneSignal пример того, как выглядит функция синтаксического анализа, чтобы просто попытаться выполнить простой тестовый запуск. Вот мой облачный код:

Parse.Cloud.define('followPush', function(request, response) {
send = function(request) {

var promise = new Parse.Promise();

var jsonBody = {
app_id: "XXX",
included_segments: ["All"],
contents: {en: "English Message"},
data: {foo: "bar"}
};

Parse.Cloud.httpRequest({
                        method: "POST",
                        url: "https://onesignal.com/api/v1/notifications",
                        headers: {
                        "Content-Type": "application/json;charset=utf-8",
                        "Authorization": "Basic XXX"
                        },
                        body: JSON.stringify(jsonBody)
                        }).then(function (httpResponse) {
                                promise.resolve(httpResponse)
                                },
                                function (httpResponse) {
                                promise.reject(httpResponse);
                                });

return promise;
};

exports.send = send;

});

Я получаю "тайм-аут запроса" в журналах сервера, а "JSON-текст не начинается с..." на стороне клиента. Если я отправляю push-уведомление с веб-сайта OneSignal, оно достигает пользователя. Я работал с Parse, но не понял с oneSignal.

1 ответ

Решение

Похоже, вы смогли связаться с командой разработчиков OneSignal, чтобы решить эту проблему. (Помогаю работать на OneSignal)

В интересах других пользователей Stackru решение состояло в том, чтобы изменить httpRequest код должен быть следующим:

Parse.Cloud.httpRequest({ 
  url: "https://onesignal.com/api/v1/notifications", 
  method: "POST", 
  headers: { 
    "Content-Type": "application/json;charset=utf-8", 
    "Authorization": "Basic XXX" 
  }, 
  body: JSON.stringify(jsonBody), 
  success: function(httpResponse) { 
    response.success("sent"); 
  }, 
  error: function(httpResponse) { 
    response.error('Failed with: ' + httpResponse.status); 
  } 
});
Другие вопросы по тегам