我想使用打字稿从Firebase触发器向苹果iPhone发送推送通知。
https://firebase.google.com/docs/cloud-messaging/http-server-ref
https://firebase.google.com/docs/cloud-messaging/ios/certs
我尝试生成一个新的私有服务密钥并将其上传到我的源代码中(我知道我不建议这样做)-那样我就可以克服401错误。我确实克服了401错误,但现在有了
TypeError: The header content contains invalid characters
其他人是否会感到奇怪,即类型为json但标头上写有等号?
在标题中,我尝试过:
Authorization:key=encodeURIComponent(token)
看看对组件进行编码是否可以解决标题问题。
下面的完整代码
import * as service_account from "../utility/dev-service-account"
let token = service_account.default.private_key;
const json = {"validate_only":"false","message":{"apns":"..4D81CBF73A1374ADD8327D2FAE87885AC0D9A1A16FA55F8264660284CF1AEB", "notification" : {"title":"hi","body":"no"}}};
const url = "https://fcm.googleapis.com/fcm/send";
const auth = `key=${token}`;
let instance = axios.default.create(
{
headers:
{
post:
{
"Content-Type": 'application/json',
Authorization: auth
}
}
});
await instance.post(url, json).then(function (response)
{
console.log("post success", response);
}).catch(function (error)
{
console.log("post failed ", error);
});
实际结果应该是我的axios请求返回了“成功”并向我的手机发送了推送通知。
我认为我没有做任何更改,现在出现401错误,所以我不知道怎么回事。