2016-08-08 109 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測試生成新的令牌。

相關問題