如何测试发送 Firebase 无声推送通知?

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

我没有使用 Firebase 的经验,我正在尝试测试通过 FCM 向我正在开发的 Android 应用发送静默推送通知。看来我只能从 Firebase 管理员发送定期通知(我已经能够做到),但不能发送我正在尝试测试的静默通知。

我正在尝试使用 cURL 以这种方式访问 FCM 的 HTTP V1 API:

curl -H "Content-type: application/json" -H "Authorization: Bearer <OAuth id>" -X POST -d '{ "data":{ "foo":"1", "bar":"2" }, "to":"<token>", "android":{ "priority":"high" }}' https://fcm.googleapis.com/v1/projects/{project name}/messages:send

token:我通过测试设备上的 Android 应用程序获得的 FCM 注册令牌似乎是正确的。
OAuth id:我从

https://console.cloud.google.com/iam-admin/serviceaccounts?project={project name}&supportedpurview=project
获得的“OAuth 2 客户端 ID”,我不确定是否应该使用它。

enter image description here


我收到

UNAUTHENTICATED
作为回复。

{
  "error": {
    "code": 401,
    "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
    "status": "UNAUTHENTICATED"
  }
}

是否有一种直接的方法来测试静默推送通知,或者它应该如此复杂?如果是这样,我在这里缺少什么?

firebase push-notification firebase-cloud-messaging
1个回答
0
投票

根据响应本身,发送 FCM 通知的请求包含无效的 OAuth 2.0 访问令牌。要生成有效的 OAuth 2.0 访问令牌,请按照本文档中给出的说明进行操作。

出于测试目的,您可以尝试使用以下选项生成 OAuth 2.0 访问令牌:

  1. 使用 Google Developers OAuth 2.0 Playground

  2. 使用 Firebase 云消息传递 Node.js 快速入门项目

    • 安装 Firebase 管理 SDK 和 Node.js
    • 下载快速入门项目并按照 README.md 文件中的指南进行操作
    • 更新index.js并记录访问令牌
    • 复制访问令牌并在请求中使用它

请注意,访问令牌的常见前缀是ya29。

授权:承载ya29.ElqKBGN2Ri_Uz...HnS_uNreA

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