nodejs インスタンスを使用して OpenShift クラウド サーバーを試しています。oneSignal API に対して POST リクエストを実行しようとしています。
POST は成功しますが、oneSignal は 1 つの POST に対して 4 つの通知を送信します。
ローカル マシンで次のコードを実行すると 1 つの通知を受け取りますが、コードが OpenShift にデプロイされると 4 つの通知を受け取るため、OpenShift サーバーに問題があることを突き止めたと思います。
以下はテストコードです。
var request = require('request');
function sendNotification() {
var data = {};
data.headings = {"en": "Trial Push Heading"}
data.contents = {"en": "Trial Push Contents"};
data.app_id = MY_APP_ID;
data.included_segments = ["All"];
var headers = {
"Content-Type": "application/json",
"Authorization": "Basic "+ MY_AUTH_KEY
};
var options = {
url: "https://onesignal.com/api/v1/notifications",
method: "POST",
headers: headers,
json: data
};
request(options, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body) // Print the shortened url.
}
});
};