【发布时间】:2019-06-12 00:18:25
【问题描述】:
所以我使用 jQuery Ajax 发布使用我必须从某人的 node.js 应用程序获取的不记名令牌,因为我找不到有关如何使用您的首选语言获取不记名令牌的 Google 文档仅限 FCM 使用。我正在使用JSON.stringify 准备有人在此处的stackoverflow 上显示的有效负载数据。我试过没有,但我只收到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 看看它是否仍然返回相同的错误?您提到的 StackOverflow 帖子的链接也可能会有所帮助。 -
@DougStevenson 如果您使用大括号按钮并且间距有错误,那么您会在框周围看到红色轮廓、红色感叹号和文字说明。即使删除整个框中的所有文本,它也不会消失。
标签: firebase firebase-cloud-messaging