Javascript 对FCM执行POST请求时服务器密钥无效?
我在跟踪推送通知,但我被它说的部分卡住了 要触发推送消息,请对此URL发出POST请求 在调用Javascript 对FCM执行POST请求时服务器密钥无效?,javascript,firebase,push-notification,firebase-cloud-messaging,Javascript,Firebase,Push Notification,Firebase Cloud Messaging,我在跟踪推送通知,但我被它说的部分卡住了 要触发推送消息,请对此URL发出POST请求 在调用registration.pushManager.subscribe之前,我使用生成了公钥和私钥,并将公钥放入applicationServerKey密钥中,然后得到格式正确的JSON响应,但是我不确定如何准确地生成授权头,以便在发送通知的POST请求中使用。以下是来自subscribe的JSON响应: { "endpoint":"https://fcm.googleapis.com/fcm/sen
registration.pushManager.subscribe
之前,我使用生成了公钥和私钥,并将公钥放入applicationServerKey
密钥中,然后得到格式正确的JSON响应,但是我不确定如何准确地生成授权
头,以便在发送通知的POST请求中使用。以下是来自subscribe
的JSON响应:
{
"endpoint":"https://fcm.googleapis.com/fcm/send/asdf:qwer",
"expirationTime":null,
"keys":{"p256dh":"key","auth":"auth"}
}
我推测/send
之后的部分应该放在to
字段中,但我不确定如何格式化授权
标题。当然,我需要以某种方式使用私钥,但我不确定如何使用
我的假设是,我需要对我的私钥、p256dh
字段和auth
字段执行某种操作,并且该结果将放在POST请求的key=
字段中,但我找不到该字段的引用
您是否需要创建Firebase项目来执行此操作?我不确定情况是否如此。是的,所有对Firebase产品和服务的访问都需要创建Firebase项目。不能使用任意键调用FCM。您必须使用已被授予调用API权限的服务帐户。那么Google教程中提到的要点是什么?如果不能使用,为什么要生成密钥?我不知道。试着遵循FCM文档。我就是这么做的?Firebase不是谷歌所有吗?在他们的教程中正式提到了设置推送通知。“您可以通过访问来创建一组公共和私有的应用程序服务器密钥…”另外,VAPID背后的整个思想不就是您不需要创建Firebase项目吗?因此,您应该能够使用生成的私钥/公钥?正式的FCM文档可在此处找到: