我一直在尝试操作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”},如果推送的消息是英文的话,它与应该是完全一样。
在我看来是死胡同。
发布于 2016-03-17 11:53:27
最后,我只需将所有所需的参数添加到单个json中,将其添加到请求的主体中,并在application/json上设置标头的内容类型,这样OneSignal的服务器就可以知道请求主体的类型。
此外,正如上面所述的@jwilm,我遇到了格式化问题。我是在Java上开发的,所以我成功地用URLEncoder修复了它。
发布于 2016-03-16 17:44:25
通过contents运行decodeURIComponent将返回"{+"en"+:+"Message"+}",这是无效的JSON。我猜您的JSON中有未正确编码的空格。
https://stackoverflow.com/questions/36041839
复制相似问题