我一直在尝试操作POST请求api,以便为多个用户发送推送通知,并遇到以下问题。
端点不解析内容'参数等会破坏端点。
这是我的要求:
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" :"消息"如果推送消息是英文的话,就像它should be一样。
对我来说似乎是个死路一条。
答案 0 :(得分:1)
通过contents
运行decodeURIComponent
参数会返回{J}无效的"{+"en"+:+"Message"+}"
。我猜你的JSON中有空格,没有正确编码。
答案 1 :(得分:0)
所以最后我设法通过将所有必需的参数添加到单个json中,将其添加到请求的主体并在application / json上设置标头的Content-type以便OneSignal的服务器知道请求正文类型。
另外我有一个格式问题,如上面所述@jwilm。我正在开发Java,所以我设法使用URLEncoder来修复它。