Прерывистый 401 Несанкционированный от Google GCM

Мы получаем прерывистые 401 Несанкционированные ошибки из сервиса Google GCM. Раньше это работало в 100% случаев. Проблема может совпадать с нашими маршрутизаторами, принимающими трафик IPv6, но проблема остается, даже если мы отключим IPv6 на адаптере. Он также не работает в отдельной сети только для IPv4. Мы также повторяем наши запросы с использованием рекомендованного Google экспоненциального отступления (http://developer.android.com/google/gcm/adv.html#retry), поэтому проблема могла развиваться с течением времени, и мы могли бы не заметил.

Все производственные адреса IPv4 и IPv6, которые мы тестировали, перечислены в нашем проекте по адресу: https://console.developers.google.com

Вот как выглядит наш ключ, у нас есть вся общедоступная подсеть для тестирования, но я пробовал только с одиночными IP-адресами.

enter image description here

Иногда он работает:

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"}]}

Но иногда мы получаем этот ответ:

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>

Незначительное обновление (4/10/2014)

Изменение настроек на "Любой разрешенный IP-адрес" устраняет проблему, но изменение на любой другой IP-адрес или адреса снова разрывает его.

Ответы

Ответ 1

Восстановите ключ сервера, оставив поле ip-адреса пустым, решив проблему.