2016-08-08 145 views
13

我试图使用Postman使用Firebase云消息传递服务发送单个推送通知。使用Firebase消息传递通过邮递推送

这是一个工作cURL命令为相同的目的,我用它作为参考。

curl -X POST --header "Authorization: key=<API_ACCESS_KEY>" --Header "Content-Type: application/json" https://fcm.googleapis.com/fcm/send -d "{\"to\":\"<YOUR_DEVICE_ID_TOKEN>\",\"notification\":{\"body\":\"Firebase\"} \"priority":\"10"}" 

我迄今所做..

1 - 设置适当

enter image description here

2-在身体,我使用raw

{ 
    "to" : "<YOUR_DEVICE_ID_TOKEN>" 
    , 

    "notification": { 
    "body": "Firebase Cloud Message" 
    } 

    } 

执行时,我回到401 - Unauthorized

什么是缺少正确发送推送通知?

+0

{ “multicast_id”:4790719999662534961, “成功”:0, “失败”:1, “canonical_ids”:0, “结果”:[ { “错误”: “InvalidRegistration” } ] }得到这个错误 –

回答

21

正确的方法来设置Authorization关键在头是

key=<API_ACCESS_KEY>

不仅

<API_ACCESS_KEY>

愚蠢的错误,但由于这可能是有人测试火力地堡有用邮递员的消息我打开了问题。

6

请看下面的截图授权密钥是如何设置

授权:**键= ** abcdefghijklmnopr2qrst253uv124wxyz_9shg

enter image description here

14

发帖FCM通过邮差

身体 - 以是令牌ID(应通过实例令牌生成) 在原始二进制应用程序中写入body/json body tye

{ 
    "to": "cpa8cZPjq-w:APA91bF122f1Rnhu9v47bL 
    YMajaNTHAIU5SzItDwTy9o2MCIveG0PlK78VPvp3d 
    CqjwnUKZ4 
    ngi1trSyM3_aXttW62iknFfbPGtjRLhZr6wq-3qFdboz8gzdOGPz**********", 

    "notification": { 

    "body": "Hello", 
    "title": "This is test message." 
    } 
    } 

头:应该有授权:服务器密钥

内容类型:应用程序/ JSON headerimage 张贴在这里成功的消息后: success message image

+0

工作就像一个魅力! –

+0

如何获得令牌?有没有API? – Asymptote

+0

阅读firebase android开发人员文档 –

1

对于新的FCM HTTP 1.0版API中,通过Postman测试推送通知的方法已更改,现有解决方案仅解决传统测试推送通知的方法:https://firebase.google.com/docs/cloud-messaging/send-message

要使用FCM HTTP v1 API测试Postman,您需要首先获取短暂的Oauth 2令牌。您可以生成一个按照在火力地堡现场这里的信息:https://firebase.google.com/docs/cloud-messaging/auth-server

我矿使用使用Python下面的代码生成 - 记得点子安装包,这样就可以导入的包到您的代码成功:

from oauth2client.service_account import ServiceAccountCredentials 

def _get_access_token(): 
    """Retrieve a valid access token that can be used to authorize requests. 

    :return: Access token. 
    """ 
    credentials = ServiceAccountCredentials.from_json_keyfile_name(
     'service-account.json', FCM_SCOPE) 
    access_token_info = credentials.get_access_token() 
    return access_token_info.access_token 

一旦你的令牌 - 你可以将其插入到你的邮差下授权:

enter image description here

重要:

就我而言,我努力尝试测试一个计划任务,每隔几分钟向FCM发送一次推送通知,我就挣扎了一下,以使其工作。 我已经将令牌打印到我的日志中,然后将该令牌带给我的邮差进行测试,但没有意识到它已经用于FCM的预定调用。

在这种情况下,因为它已经被使用,令牌将不再有效,我的邮差测试全部失败。在这种情况下,您需要为Postman测试生成新的令牌。

相关问题