【OneSignal】【NCMB】【Node.js】プッシュ通知は送信できるがInternal Server Error 500エラーが発生する

実現したいこと

PWAアプリで通知を送るOneSignalをNode.jsで実装していてプッシュ通知が遅れるが500エラーが返ってくるのでその修正を行いたいです

前提

PWAアプリを開発しています。

NCMBサーバーにあるスクリプトファイル(Node.js)を使用しています。

OneSignal(プッシュ通知サービス) - https://onesignal.com/
NCMB(サーバー) - https://mbaas.nifcloud.com/

発生している問題・エラーメッセージ

{ "Status": "ERROR", "RequestHeaders": "{\"host\":\"script.mbaas.api.nifcloud.com\",\"connection\":\"close\",\"content-length\":\"71\",\"x-ncmb-timestamp\":\"2023-09-10T07:30:52.971Z\",\"x-ncmb-signature\":\"BcIPtxXfCEdeCkrceFTbDvCwdd0g1AbU5zA8IYA1cpI=\",\"user-agent\":\"Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1\",\"content-type\":\"application/json\",\"accept\":\"text/plain\",\"x-ncmb-apps-session-token\":\"PNKOARLrD9yGkakQDCKwvtwvw\",\"x-ncmb-sdk-version\":\"javascript-3.1.1\",\"x-ncmb-application-key\":\"xxxxxxxxxxxxxxxxxxxx\",\"origin\":\"http://127.0.0.1:5500\",\"sec-fetch-site\":\"cross-site\",\"sec-fetch-mode\":\"cors\",\"sec-fetch-dest\":\"empty\",\"referer\":\"http://127.0.0.1:5500/\",\"accept-encoding\":\"gzip, deflate, br\",\"accept-language\":\"ja-JP,ja;q=0.9,en-US;q=0.8,en;q=0.7\"}", "RequestQuery": "{}", "ResponseHeaders": "{}", "Error": "ScriptError: TypeError: Cannot read properties of undefined (reading 'then')\n at module.exports (/tmp/script/all_push.js:12:5)\n at Module._compile (node:internal/modules/cjs/loader:1256:14)\n at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)\n at Module.load (node:internal/modules/cjs/loader:1119:32)\n at Module._load (node:internal/modules/cjs/loader:960:12)\n at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)\n at node:internal/main/run_main_module:23:47", "Duration": 702, "created_at": "2023-09-10T07:30:54.000Z", "updated_at": "2023-09-10T07:30:55.000Z", "ResponseStatus": 500, "ScriptIdentifier": "all_push.js" }

該当のソースコード

module.exports = (req) => { // 通知を送る sendNotificationToSpecific( req.body.title, req.body.contents ); }; sendNotificationToSpecific = function (push_title, push_contents) { var sendNotification = function (data) { const headers = { "Content-Type": "application/json; charset=utf-8", "Authorization": "Basic MzE0ZjUyZjItNGEwNS00YjJkLTk2MGItNmQyYmZiNTUzZDkx" }; var options = { host: "onesignal.com", port: 443, path: "/api/v1/notifications", method: "POST", headers: headers }; var https = require('https'); var req = https.request(options, function (res) {}); req.write(JSON.stringify(data)); req.end(); }; var message = { app_id: "de1014b8-82ce-480a-aa5b-acbb88968428", included_segments : ["Total Subscriptions"], headings: {"en": push_title}, contents: {"en": push_contents}, ios_badgeType : "Increase", ios_badgeCount : 1 }; sendNotification(message); };

``

補足情報(FW/ツールのバージョンなど)

500エラーが起きているがプッシュ通知は正常に送信できています。

コメントを投稿

0 コメント