Error de autorización de GCM http 401

Cuando mi servidor backend envía solicitudes posteriores a los servidores GCM, obtengo un error de autorización HTTP 401.

Seguí los pasos descritos aquí:

http://developer.android.com/google/gcm/http.html#auth_error

>> api_key=AIzaSyDEy3...

>> curl --header "Authorization: key=$api_key" --header Content-Type:"application/json" https://android.googleapis.com/gcm/send  -d "{\"registration_id\":\"ABC\"}"

Entiendo esto:

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

En la resolución de problemas dice:

Authentication Error
The sender account that you're trying to use to send a message couldn't be authenticated. Possible causes are:
    1. Authorization header missing or with invalid syntax.
    2. Invalid project number sent as key.
    3. Key valid but with GCM service disabled.
    4. Request originated from a server not whitelisted in the Server Key IPs.

Tengo preguntas sobre eso:

¿Es correcto el encabezado en la solicitud de enrollamiento?¿Significan "api_key" (AIzaSy ...) o el número del proyecto como 8305134 ...?¿Cómo hago una lista blanca de mi IP de la clave del servidor?Si ejecuto el comando curl, ¿tengo que incluir en la lista blanca la dirección IP de mi computadora?

Respuestas a la pregunta(14)

Su respuesta a la pregunta