簡體   English   中英

GCM的API密鑰突然無效? 未經授權(401)錯誤

[英]API key for GCM is suddenly invalid? Unauthorized (401) error

我為我的Android應用程序創建了一個用於GCM推送通知的Android API密鑰。從過去兩天開始,GCM服務器在PHP中返回Unauthorized(401)響應。

Android API密鑰是否有任何原因無效/過期? 或者GCM是否棄用了Android API密鑰?

我還沒有得到關於為什么Android API密鑰無效的正確解釋? 他們中的大多數人更喜歡使用服務器密鑰而不是GCM的Android API密鑰,但沒有提到為什么不使用Android API密鑰。

為什么不在GCM中使用Android API Key? Android API密鑰有任何限制嗎? 或者,如果通知消息超過每日限制,GCM服務器是否阻止通知/ GCM服務器使Android API密鑰無效?

更新 :使用的術語是返回服務器密鑰

就在最近,現在正在推出Firebase雲消息傳遞令牌 (FCM令牌)。 這在Firebase控制台的Cloud Messaging選項卡中可見。


更新GCM文檔中現在有一個明顯的說明:

從2016年9月開始,只能使用“設置”面板的“ 雲消息傳遞”選項卡在Firebase控制台中創建新的服務器密鑰。 可以在Firebase控制台中導入需要創建新服務器密鑰的現有項目,而不會影響其現有配置。


更新 :似乎從GCM遷移到FCM修復了401 Unauthorized Error的問題。

如果您剛剛開始使用GCM ,而不是在Google Developers Console中創建項目,請在Firebase控制台中執行此操作。 創建項目后,只需使用自動生成的服務器密鑰。 以下是查找服務器密鑰的步驟:

  1. 轉到Firebase控制台 ,然后單擊“ 創建新項目”
  2. 填寫您想要的項目名稱並選擇您的國家/地區。 在此之后,新項目應該是活躍的。
  3. 然后在左側面板上,單擊齒輪按鈕並選擇“ 項目設置”
  4. 然后轉到Cloud-Messaging選項卡

對於舊的GCM項目 ,您只需將項目導入Firebase控制台:

  1. 轉到Firebase控制台 ,然后單擊IMPORT PROJECT
  2. 選擇要導入的項目和您所在的國家/地區。
  3. 單擊ADD FIREBASE 在此之后,新項目應該是活躍的。
  4. 然后在左側面板上,單擊齒輪按鈕並選擇“ 項目設置”
  5. 然后轉到Cloud-Messaging選項卡

出於某種原因,現在只有一個服務器密鑰可用於GCM。 Android Key並不是唯一似乎無效的,所有其他客戶端API密鑰(瀏覽器,iOS,Android)都是。


當涉及Server Key的描述時:

如果應用程序在服務器上運行,請創建並使用服務器密鑰。

使用服務器密鑰是合乎邏輯的,因為您在服務器上使用API​​密鑰,並且它正在與GCM連接服務器一起使用。

如果將FCM文檔GCM文檔 (在憑據下)進行比較,則可以看到在GCM中,它僅表示API密鑰,而在FCM中,它已指定服務器密鑰。 那么,FCM是GCM的新版本,可能與它有關嗎? 我不太確定,但我認為你得到了我所說的要點。

更新 :在GCM文檔中,現在指示了服務器密鑰。


默認情況下,在完成配置API項目步驟后,將生成服務器API密鑰(我通過選擇Android應用程序對其進行了測試)。 每當我創建一個新項目時,它只會自動生成一個服務器密鑰。

希望將來能解釋原因。


繼續前進並添加有關如何創建服務器密鑰的步驟。 以防其他人感到困惑,或者新手不確定如何。

  1. 轉到您的Google Developers Console
  2. 在左窗格中,單擊“ 憑據”
  3. 在“憑據”選項卡下,單擊“ 創建憑據”
  4. 選擇API密鑰

--- 開發人員控制台中的更新減少了這里的步驟 ---

  1. 選擇服務器密鑰
  2. 填寫詳細信息。
  3. 單擊“ 創建”

那時服務器密鑰應該可用。


更新 :生成API密鑰似乎最近發生了變化。 直到我上面提到的第4步,它才一樣。 但是,在您選擇API密鑰后,它將直接創建API密鑰,而不會詢問它是什么類型的密鑰(服務器,Android,瀏覽器,iOS)。 它只允許您設置一些可見的限制 ,具體取決於您要生成的API密鑰。


更新 :創建沒有限制的API密鑰時,它會顯示一個通知(感嘆號),表明您的API密鑰容易受到攻擊,這就是為什么強烈建議您為API密鑰添加限制 有一個帖子有這個問題,並且添加限制能夠解決它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM