我正在尝试在云功能上订阅用户 Firebase 主题。所以根据官方文档我尝试了以下代码
request({
method: 'POST',
url: "https://iid.googleapis.com/iid/v1:batchAdd",
json: true,
headers: {
'Content-Type':'application/json',
'Authorization':'key=server key,
},
body: JSON.stringify({
"to": "/topics/name",
"registration_tokens": ["token value"]
})
}, function (error, response, body){
console.log('error:', error);
console.log('statusCode:', response && response.statusCode);
if (response.statusCode >= 400) {
console.error('HTTP Error: '+response.statusCode+' - '+response.statusMessage);
}
});
但是它给出的是 400 状态代码而不是 200。谢谢。
最佳答案
您需要适当的授权才能使用 Google API。你输入了吗? (在代码的标题部分)。也许是一个线索:如果您在浏览器的地址栏中输入代码上指示的 URL,您会发现:
{"error":"MissingAuthorization"}
正如您所指出的,错误 400 是错误的请求,即您的请求操作可能犯了一些错误。 W3C 规定:
由于语法错误,服务器无法理解该请求
也许这个格式错误的语法是由于缺乏此授权,从而引发此错误 400。
关于node.js - 用户在云函数中订阅主题时出现 400 Bad Request 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43553717/