小编Byr*_*ang的帖子

通过 HTTP v1 身份验证的 Firebase 云消息传递设备组管理

我正在将 FCM 实现从旧版 API 迁移到新的 HTTP v1 API。

我已经使用 firebase-adminsdk 创建了我的服务帐户

我还设法使用 HTTP v1 将推送通知发送到使用从服务帐户 json 生成的新 JWT 身份验证令牌的设备组令牌。

我的问题是从旧版 API 管理设备组时收到 401 未经授权的错误

https://firebase.google.com/docs/cloud-messaging/android/device-group

https://fcm.googleapis.com/fcm/notification
Content-Type:application/json
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
project_id:SENDER_ID

{
   "operation": "create",
   "notification_key_name": "appUser-Chris",
   "registration_ids": ["bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
                        "cR1rjyj4_Kc:APA91bGusqbypSuMdsh7jSNrW4nzsM...",
                        ... ]
Run Code Online (Sandbox Code Playgroud)

从文档中可以看出,他们正在使用新的 JWT 令牌来授权管理设备组,而不是旧的服务器密钥。(服务器密钥也将于明年停用)。我的问题是我在这里到底错过了什么?具体如何使用新服务帐户来管理设备组?

尝试使用 firebase-admin-sdk json 生成 JWT 令牌以在设备组 API 中使用。返回 401

更新

有关 FCM 设备组的详细信息可以在此处找到:https ://firebase.google.com/docs/cloud-messaging/android/device-group#creating_a_device_group

以下是显示问题的示例请求和后续响应。

要求:

 POST /fcm/notification HTTP/1.1
 Host: fcm.googleapis.com
 Content-length: 194
 Project_id: XXXXREMOVEDXXXX
 Content-type: application/json
 Authorization: Bearer ya29.removed:removed
 {
     "operation": "create",
     "notification_key_name": "test-group", …
Run Code Online (Sandbox Code Playgroud)

firebase-cloud-messaging

6
推荐指数
1
解决办法
683
查看次数

标签 统计

firebase-cloud-messaging ×1