FCM发送HTTP Post请求提供错误代码400()

时间:2017-11-24 06:14:30

标签: javascript firebase-cloud-messaging

我正在使用HTTP POST请求向我的网络应用程序上的作者发出通知,告知他们的故事是由我们的管理员批准的。

我的有效负载看起来像这样



var payload = {
  "notification": {
    "title": "Story Approved!",
    "body": "Your story is approved"
  },
  "to" : to
}




这是我的要求



$.ajax({
  type: 'POST',
  url: 'https://fcm.googleapis.com/fcm/send',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'key='+serverKey
  },
  data: payload,
  success: function(response){
    console.log(response);
  },
});




每当我尝试发送请求时,它都会给我以下错误

  

POST https://fcm.googleapis.com/fcm/send 400()

根据Firebase Error Response Codes

,我对此有点新鲜
  

无效的JSON 400检查JSON消息是否格式正确并包含有效字段(例如,确保传入正确的数据类型)。

但我无法弄清楚我错在哪里。任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

将您的有效负载转换为json,如下所示:

 data: JSON.stringify(msg)

您的代码将是这样的:

$.ajax({
  type: 'POST',
  url: 'https://fcm.googleapis.com/fcm/send',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'key='+serverKey
  },
  data: JSON.stringify(msg),
  success: function(response){
    console.log(response);
  },
});