Firebase 云消息传递 - 发布消息说 JSON 有效负载无效
Posted
技术标签:
【中文标题】Firebase 云消息传递 - 发布消息说 JSON 有效负载无效【英文标题】:Firebase Cloud Messaging - Posting Message Says Invalid JSON Payload 【发布时间】:2019-06-12 00:18:25 【问题描述】:所以我使用 jQuery Ajax 发布使用我必须从某人的 node.js 应用程序获取的不记名令牌,因为我找不到有关如何使用您的首选语言获取不记名令牌的 Google 文档仅限 FCM 使用。我正在使用JSON.stringify
准备有人在此处的*** 上显示的有效负载数据。我试过没有,但我只收到Invalid_Arguments
的基本错误消息。使用JSON.stringify
会显示更多错误。它指出 "to"
和 "notification
" 属性是未知名称,但它们是 Google 文档中使用的属性名称。那我做错了什么?
这是有人说JSON.stringify
工作的链接。在此之前,我尝试不使用JSON.stringify
,这导致Invalid JSON Payload
和我提出这个问题的原因。
send post request to firebase cloud messaging by ajax?
"error":
"code": 400,
"message": "Invalid JSON payload received. Unknown name \"to\": Cannot find field.\nInvalid JSON payload received. Unknown name \"notification\": Cannot find field.",
"status": "INVALID_ARGUMENT",
"details": [
"@type": "type.googleapis.com/google.rpc.BadRequest",
"fieldViolations": [
"description": "Invalid JSON payload received. Unknown name \"to\": Cannot find field."
,
"description": "Invalid JSON payload received. Unknown name \"notification\": Cannot find field."
]
]
$.post(
method: "POST",
url: "https://fcm.googleapis.com/v1/projects/floridarecycling-b91ec/messages:send",
dataType: "json",
contentType: "application/json",
headers:
'Authorization': 'Bearer ' +
'ya29.c.ElqUBiCx...wyKqUqKlrg7yhPw'
,
data: JSON.stringify(
"to": "user_token",
"notification":
"title": "Test",
"body": "test"
)
success: function ()
console.log("Success")
,
error: function (err)
console.log("error ", err)
);`
【问题讨论】:
仅供参考,您可以使用编辑器中的 按钮缩进代码块。 我总是尝试,但每次我做的页面错误,我不能发布。如果我删除页面上的每个字符,我仍然会显示存在错误,我必须丢弃并重新开始。但感谢您的编辑。 “错误输出”是什么意思?人们一直将文本格式化为代码。 如果我错了,请纠正我,但JSON.stringify
不返回 String 值吗?该请求需要一个实际的 JSON 有效负载。不是 JSON 格式的字符串(不确定是否仅通过设置 contentType 会立即处理)您可以尝试sending the request using Postman 看看它是否仍然返回相同的错误?您提到的 *** 帖子的链接也可能会有所帮助。
@DougStevenson 如果您使用大括号按钮并且间距有错误,那么您会在框周围看到红色轮廓、红色感叹号和文字说明。即使删除整个框中的所有文本,它也不会消失。
【参考方案1】:
您正在将旧版 JSON 发送到 v1 端点。
如果您使用“to”字段,则需要发送到旧版 Firebase 云消息传递端点,即:
https://fcm.googleapis.com/fcm/send
如果您想使用新的 Firebase 云消息传递,新格式和参数的文档在这里:
https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages
【讨论】:
以上是关于Firebase 云消息传递 - 发布消息说 JSON 有效负载无效的主要内容,如果未能解决你的问题,请参考以下文章
无法在 angularjs App 中配置 Firebase 云消息传递。