FCM with Postman - 请求缺少身份验证密钥(FCM令牌)

时间:2017-07-25 17:08:18

标签: firebase firebase-cloud-messaging postman

enter image description here

//身体就像这样

{
    "to":
    "/topics/NEWS"
    ,
    "data":{
        "extra_information": "This is some extra information"
    },

//我需要提供的通知

"notification":{
            "title": "ChitChat Group",
            "text": "You may have new messages",
            "click_action":"ChatActivity"
        }
    }

4 个答案:

答案 0 :(得分:54)

401错误与您的授权密钥无效或不正确有关。

使用Postman时,为Authorization的值添加key=前缀,如下所示:

key=AAA...

请参阅下文,了解使用Postman发送下游FCM消息的教程。

此外,对于您的notification邮件有效内容,text不是其中一个有效参数,我认为您正在寻找message

使用邮递员发送下游邮件

要在Postman中执行此操作,您只需设置以下内容:

  1. 将请求类型设置为POST
  2. 标头中,设置以下内容:
  3. Body 中设置有效负载参数(*在此示例中,我们使用了 raw 选项,请参见屏幕截图(2)*)
  4. 将请求发送至https://fcm.googleapis.com/fcm/send
  5. 截图:

    (1) enter image description here

    注意:始终保密您的服务器密钥。我的钥匙只有一部分在这里可见,所以应该没问题。

    (2) enter image description here

    (3) enter image description here

    请注意,响应中的message_id请求成功。

答案 1 :(得分:3)

尽管以上答案仍然正确,但是您可以选择使用HTTP v1。这需要Bearer而不是key=,并且使用Oauth2访问令牌而不是服务器密钥字符串。要查看HTTP v1规范,请参考以下链接:

https://firebase.google.com/docs/cloud-messaging/migrate-v1

答案 2 :(得分:0)

我在PHP中也遇到了同样的错误,使用以下标头解决了该问题:

$header = array("authorization: key=" .  $this->apiKey . "","content-type: application/json");

答案 3 :(得分:0)

错误:

  

授权AIzaSyDDk77PRpvfhh ......

正确:

  

授权密钥= AIzaSyDDk77PRpvfhh ......

完整示例:

https://fcm.googleapis.com/fcm/send
Content-Type:application/json
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA

{ "data": {
    "score": "5x1",
    "time": "15:10"
  },
  "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..."
}