【问题标题】:Unauthorized (Error 401) Postman未经授权(错误 401)邮递员
【发布时间】:2018-07-01 13:58:04
【问题描述】:

我正在尝试通过 PostMan Chrome 应用程序将推送通知(使用 Firebase 平台)发送到我的 Android 应用程序,但我无法使其正常工作。我已按照有关连接它的所有说明进行操作,但它不起作用。我可以看到这不是一个不寻常的问题,因此我检查了thisthisthis 等等。一些控制台布局/设置发生了变化,从字面上理解并不容易,但我可以看到授权密钥是秘密。

但是,即使进行了所有检查和更改,我也有这个:

当我按下发送到我的应用程序时,它给出未经授权和错误 401。很明显问题是什么,但我不知道如何解决它。 Firebase 控制台和 *.JSON 文件中的授权密钥相同,而正文包含以下内容:

{
  "to": 
    "/topics/NEWS"
  ,
  "data": {
    "extra_information": "This is some extra information"
  },
  "notification": {
    "title": "NEW NOTIFICATION!",
    "text": "Click me to open an Activity!",
    "click_action": "SOMEACTIVITY"
  }
}

我什至尝试在to:之后添加密钥

从 JSON 文件中提取的内容如下所示: 没有任何效果。有人可以帮我解决这个问题吗?我是否需要使用 JSON 文件中的其他代码?帮忙?

【问题讨论】:

  • 您的网络上没有需要身份验证的代理吗?这也可能导致该错误
  • 有趣的一点,但我不是。可能会尝试禁用防火墙
  • 禁用防火墙无效
  • 我之前没有在 Auth 标头中看到 key=*。这对我来说不合适。是否应该是 Bearer 之类的,然后是键的值?
  • 嗯。我会尝试使用 Bearer。我在很多教程中都看到了这一点,包括这个:youtube.com/watch?v=heJmdX_djHs

标签: android firebase firebase-cloud-messaging postman


【解决方案1】:

授权标头中指定的密钥必须是 Server keyLegacy Server key 显示在 Project Settings > Cloud Messaging 的 Firebase 控制台选项卡中时间>。 Project Settings > General 选项卡上显示的 Web API 密钥将不起作用。

另外,通知文本的属性是body,而不是text

{
  "to": 
    "/topics/NEWS"
  ,
  "data": {
    "extra_information": "This is some extra information"
  },
  "notification": {
    "title": "NEW NOTIFICATION!",
    "body": "Click me to open an Activity!", // <= CHANGED
    "click_action": "SOMEACTIVITY"
  }
}

【讨论】:

  • 谢谢你,鲍勃。我刚刚尝试过,但没有任何改变。我想这是造成这些问题的身份验证方法。
  • 顺便说一句,感谢您指出这一点。我的代码中有正文和 Postman 上的文本,所以我现在更正了。
  • 对于标头中授权密钥的值,您是否使用 Firebase 控制台的“项目设置/云消息传递”选项卡上显示的 服务器密钥?我认为 Server keyLegacy server key 应该可以工作。
  • 我都试过了。我最初尝试使用 google-services.json 中的一个(OP 中的那个)和 Firebase > Project Settings > General 中的一个,其中我也有 ID。然而,关键是不同的。它们应该相同吗?
  • 我不知道这是否相关,但在 PostMan 的第一个选项(授权)中,我没有。 Authorization Type: None。我只有那个键在标题中
猜你喜欢
  • 1970-01-01
  • 2020-09-17
  • 2021-01-24
  • 2021-03-19
  • 2023-03-07
  • 2017-02-23
  • 1970-01-01
  • 2018-03-30
  • 2015-04-19
相关资源
最近更新 更多