Когда мой сервер backend отправляет почтовые запросы на серверы GCM, я получаю ошибку авторизации HTTP 401.
Я выполнил следующие шаги:
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\"}"
Я получаю это:
<HTML>
<HEAD>
<TITLE>Unauthorized</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Unauthorized</H1>
<H2>Error 401</H2>
</BODY>
</HTML>
В устранении неполадок говорится:
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.
У меня есть вопросы по этому поводу:
- Правильно ли указан заголовок в запросе завивки?
- Они означают "api_key" (AIzaSy...) или номер проекта, например 8305134....?
- Как изменить белый IP-адрес сервера?
- Если я выполняю команду curl, мне нужно присваивать белый список IP-адресу моего компьютера?