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.
修复了它
我一直在尝试操作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.
修复了它