2016-07-30 214 views
1

我使用Firebase Cloud Messaging作爲我的Android開發,PHP作爲服務器端語言。現在,我能夠:從Firebase雲消息傳遞獲取「InvalidTokenFormat,Error 400」

  1. 接收推送通知使用火力地堡控制檯不是都是真實的應用和仿真器發送。

  2. 得到了終端(捲曲)測試它時,它的工作

那麼,我試圖從apps server發送(使用PHP捲曲)而不是Firebase Console。而現在,每當我要求POST請求時,都會遇到這個奇怪的消息InvalidTokenFormat, Error 400。任何想法?

這裏是鏈接,火力地堡阿比作了:FirebaseApi Class

可以隨時從meif要求任何輸入上面使用的情況下沒有足夠清晰的。謝謝。

+0

也許你錯過了'php curl'中的東西! (AutorizationToken)?! –

+0

@IsmailRBOUH你的意思是'授權:密鑰=一些密鑰'標題? –

+0

是的,您可以添加您的捲髮請求嗎? –

回答

8

我的錯誤。該網址應該是(沒有在最後的斜線):

https://fcm.googleapis.com/fcm/send 
0

您需要從服務器向服務器發送請求併發送通知消息和用戶令牌,然後Firebase將接受請求並以消息的形式將消息廣播給所有用戶(我們提供的令牌)通知。

Firebase和設備在輪詢模式下工作,因此只有Firebase可以在設備上發送通知,您可以使用設備設置您的輪詢,但谷歌不允許這樣做,因爲如果每個應用都開始與設備,它會佔用大量的資源。

+0

是的,我做到了。但得到了這些錯誤 –

0

你可以發佈原始請求curl發送到服務器?通常curl確實提供了打印輸出,不知道有關php的版本。

+0

已經解決了這個問題 –

0

CURLOPT_POSTFIELDS不想要JSON。如果你想發送一個application/x-www-form-urlencoded請求,使用http_build_query($ message),或者如果你想發送一個multipart/form-data請求,直接給它$ $ message數組。

+0

事實上,但在FCM的情況下,它確實需要'application/json'頭和'json'數據,因爲我選擇'application/json'而不是'text' –

+0

@NorlihazmeyGhazali哦,那麼我認爲*你應該使用CURLOPT_INFILE/CURLOPT_READFUNCTION,而不是CURLOPT_POSTFIELDS – hanshenrik

+0

謝謝,將檢查出來 –

相關問題