android - not - Intermitente 401 no autorizado de Google GCM
error invalidregistration (1)
Estamos recibiendo 401 errores no autorizados intermitentes del servicio GCM de Google. En el pasado funcionó el 100% del tiempo. El problema podría coincidir con que nuestros enrutadores acepten el tráfico IPv6, pero el problema continúa ahora incluso si deshabilitamos IPv6 en el adaptador. Tampoco funciona en una red separada solo IPv4. También reintentamos nuestras solicitudes utilizando el retroceso exponencial recomendado por Google ( http://developer.android.com/google/gcm/adv.html#retry ), por lo que el problema podría haberse ido desarrollando con el tiempo y es posible que no lo hayamos notado.
Todas las direcciones de producción IPv4 e IPv6 que hemos probado se enumeran en nuestro proyecto en: https://console.developers.google.com
Así es como se ve nuestra clave, tenemos toda nuestra subred de acceso público para la prueba, pero también he intentado con solo direcciones IP individuales.
A veces funciona:
C:/Users/Administrator>curl --header "Authorization: key=REDACTED" --header Content-Type:"application/json" https://android.googl
eapis.com/gcm/send -d "{/"registration_ids/":[/"test/"],/"data/":{/"code/":123}
}" -k
{"multicast_id":REDACTED,"success":0,"failure":1,"canonical_ids":0,"r
esults":[{"error":"InvalidRegistration"}]}
Pero, a veces obtenemos esta respuesta:
C:/Users/Administrator>curl --header "Authorization: key=REDACTED" --header Content-Type:"application/json" https://android.googl
eapis.com/gcm/send -d "{/"registration_ids/":[/"test/"],/"data/":{/"code/":123}
}" -k
<HTML>
<HEAD>
<TITLE>Unauthorized</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Unauthorized</H1>
<H2>Error 401</H2>
</BODY>
</HTML>
Actualización menor (4/10/2014)
Cambiar la configuración a "Cualquier IP permitida" soluciona el problema, pero cambiar a cualquier otra dirección IP o direcciones lo rompe nuevamente.
Vuelva a generar la clave del servidor dejando el campo de dirección IP en blanco para resolver el problema.