是否可以在没有 SDK 的情况下使用 Firebase 云消息传递?

问题描述 投票:0回答:1

Google 将于 2024 年 6 月弃用用于发送 Firebase Cloud Messaging 推送通知的旧版 HTTP 协议。他们的迁移指南仅提到如何使用 Node.js、Java、Python、Go 或C#。

主要障碍似乎是 HTTP v1 所需的身份验证过程。查看 Firebase 身份验证 的指南,似乎也只有 Node.js、Java、Python、Go 或 C# 的选项。

如果我想使用其他没有 SDK 的语言怎么办?可以用原始 HTTP 请求来完成吗?

firebase firebase-authentication firebase-cloud-messaging firebase-admin
1个回答
0
投票

通过 v1 REST API 通过 Firebase Cloud Messaging 发送消息的有线协议已完整记录,例如文档中的代码片段将消息发送到特定设备

POST https://fcm.googleapis.com/v1/projects/myproject-b5ae1/messages:send HTTP/1.1

Content-Type: application/json
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA

{
   "message":{
      "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
      "notification":{
        "body":"This is an FCM notification message!",
        "title":"FCM Message"
      }
   }
}

您可以编写自己的代码,向同一端点发送此消息格式,并绕过对 SDK 的需求。

授权对此 API 的请求记录在here,其中表示:

FCM HTTP v1 API 使用短期 OAuth 2.0 访问令牌授权请求。要创建此令牌,您可以使用 Google 应用程序默认凭据(在 Google 服务器环境中)和/或从为服务帐户生成的 JSON 私钥文件中手动获取所需的凭据。

虽然文档仅包含使用 SDK 的代码片段,但您可以使用任何想要获取 OAuth 2 令牌的方法。例如,搜索 在没有 sdk 的情况下从 google 获取 oath 2 令牌 会得到这个有希望的结果:如何在没有 api 库的情况下从 Google 获取访问令牌?

© www.soinside.com 2019 - 2024. All rights reserved.