0

我一直在尝试操作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" : "Message" },这与推送消息是英文的情况完全相同

对我来说似乎是个死胡同。

4

2 回答 2

1

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

于 2016-03-16T17:44:25.113 回答
0

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

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

于 2016-03-17T11:53:27.593 回答