Gibt es einen Grund, warum der GCM (Google Cloud Messaging) Service von Google plötzlich eine 401 für eine Anfrage zurückgibt, um eine Android-Push-Benachrichtigung zu senden? Der Aufruf sieht wie folgt ausGCM (Google Cloud Messaging) kehrt plötzlich zurück 401
curl --header "Authorization: key=<my_android_key>" --header Content-Type:"application/json" https://android.googleapis.com/gcm/send -d "{\"to\":\"/topics/my_topic\", \"data\":{\"category\":\"help\", \"title\":\"Test\", \"text\":\"Test\", \"param\":\"\"}}"
Das Ergebnis ist
<HTML>
<HEAD>
<TITLE>Unauthorized</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Unauthorized</H1>
<H2>Error 401</H2>
</BODY>
</HTML>
UPDATE:
Google nennt vier mögliche causes for this error:
- Authorization-Header fehlt oder mit ungültiger Syntax in HTTP-Anforderung .
- Ungültige Projektnummer als Schlüssel gesendet
- Schlüssel gültig, jedoch mit deaktiviertem GCM-Dienst.
- Anforderung stammt von einem Server, der nicht in den Serverschlüssel-IPs auf die weiße Liste gesetzt wurde.
Ich überprüft die Gültigkeit des API-Schlüssels in Frage here, und es scheint ungültig zu sein. Die Frage ist warum? Bisher hat es funktioniert. Argh. : -/
API-Schlüssel geändert/gelöscht? Fügen Sie auch einen Code hinzu, der die Anfrage anzeigt. – COBB
Wir haben versehentlich das Konto gelöscht und es etwas später wiederhergestellt. Könnte dies das Token ungültig machen? :-/ Nicht sicher. – 0x4a6f4672
Versuchen Sie möglicherweise, einen neuen Server-API-Schlüssel für das Projekt zu erstellen, für das der GCM-Dienst aktiviert ist. – COBB