Отправка 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);
}
});