OneSignal POST /notifications 似乎不起作用

OneSignal POST /notifications doesn't seem to work

我一直在尝试操作POST请求api为多个用户发送推送通知,遇到了以下问题。

端点不解析 'contents' 参数,因此中断了端点。

这是我的要求:

POST /api/v1/notifications HTTP/1.1
Host: onesignal.com
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded

app_id=e10b31ff-e4f4-4692-be1b-2d1cf76a7d55&contents=%7B+%22en%22+%3A+%22Message%22+%7D&isAndroid=true&include_player_ids%5B%5D=9918cda9-45a7-4ee2-9865-4da42fe346cf

内容是 { "en" : "Message" } 如果推送的消息是英文,则内容完全相同 should be

对我来说似乎是死胡同。

运行 您的 contents 参数通过 decodeURIComponent returns "{+"en"+:+"Message"+}" 无效 JSON。我猜你的 JSON 中有空格,但编码不正确。

所以最后我设法通过将所有必需的参数添加到一个 json 中,将其添加到请求的 body 并设置 header 的 Content-type 在 application/json 上,以便 OneSignal 的服务器知道请求 body 的类型。

此外,我遇到了上述@jwilm 所述的格式问题。我在 Java 上开发,所以我设法使用 URLEncoder.

修复了它