2013-12-10 114 views
1

我試圖將通知發送到安裝了我的應用程序的設備。我已按照this Tutorial中的說明操作,併成功獲取我的設備的註冊ID。但是,當我從我的服務器發送我的請求時,我總是得到401響應。從GCM服務器獲取401錯誤響應狀態

<HTML> 
<HEAD> 
<TITLE>Unauthorized</TITLE> 
</HEAD> 
<BODY BGCOLOR="#FFFFFF" TEXT="#000000"> 
<H1>Unauthorized</H1> 
<H2>Error 401</H2> 
</BODY> 
</HTML> 

這是我測試過它:

api_key=MY_API_KEY 
curl --header "Authorization: key=$api_key" --header Content-Type:"application/json" https://android.googleapis.com/gcm/send -d "{\"registration_ids\":[\"MY_REGISTRATION_ID\"]}" 

我把它換成MY_API_KEY與雲端控制檯項目編號,並MY_REGISTRATION_ID與Android代碼gcm = GoogleCloudMessaging.getInstance(context); gcm.register(SENDER_ID);

我知道的結果有幾個人發表了同樣的問題,而且我已經閱讀了所有這些文章幾個小時。可悲的是,他們的解決方案並沒有解決我的錯誤。請幫助,併爲我可憐的英語感到抱歉。

回答

0

我解決了使用瀏覽器密鑰而不是api密鑰..

+0

這很奇怪,我在哪裏可以找到瀏覽器密鑰? –

+0

在你的谷歌API控制檯進入你的項目。然後在左邊找到API&Auth>註冊應用程序。在那裏您應該找到瀏覽器密鑰 – allemattio

+0

您似乎在雲控制檯的平臺字段中使用「Web App」而不是「Android」。服務器API密鑰和瀏覽器API密鑰都可以在沒有401錯誤的情況下工作。不過,我還沒有成功收到任何通知。以下是來自GCM的響應:{{「multicast_id」:462805484xxxxxxxxx,「success」:1,「failure」:0,「canonical_ids」:0,「results」:[{「message_id」:「0:1386725281760300%fde9a7xxxxxxxxx」}] }' –