2016-07-19 25 views
1

Ich kopiert und eingefügt OneSignal doc Beispiel, wie eine Parse-Cloud-Funktion aussieht einfach versuchen und einen einfachen Test Push-out. Hier ist mein Cloud-Code:Senden Sie Push-Benachrichtigung mit OneSignal in Pars Cloud-Code

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; 

}); 

ich eine „Zeitüberschreitung der Anforderung“ auf meinen Server-Logs zu bekommen und ein „JSON Text nicht starten mit ...“ auf Client-Seite. Wenn ich eine Push-Benachrichtigung von der OneSignal-Website sende, erreicht sie den Benutzer. Ich hatte es mit Parse arbeiten, aber nicht mit oneSignal verstehen.

Antwort

0

Es sieht so aus, als könnten Sie sich mit dem OneSignal-Entwicklerteam in Verbindung setzen, um das Problem zu beheben. (I helfen Arbeit auf OneSignal)

Zum Wohle anderer Benutzer Stackoverflow wurde die Lösung Ihrer httpRequest Code wie folgt zu ändern sein:

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