Позвольте мне попробовать (только с curl):
Сначала мы подаем заявку на токен авторизации:
curl.exe -v -k <a href="https://www.google.com/accounts/ClientLogin" rel="nofollow">https://www.google.com/accounts/ClientLogin</a> -d Email=xyz@gmail.com -d Passwd=secret -d accountType=GOOGLE -d source=your.registered.domain -d service=ac2dm
В результате вы получаететокен аутентификации:
< HTTP/1.1 200 OK<br>
SID=XXX<br>
LSID=XXX<br>
Auth=XXX<br>
* Connection #0 to host www.google.com left intact<br>
* Closing connection #0<br>
* SSLv3, TLS alert, Client hello (1):
Обратите внимание, что ответ Auth находится в результате с заглавной первой буквой: "Auth = XXX"!
Теперь мыиспользуя результат для следующего запроса, но с заглавной первой буквой:
curl.exe -v -k --header "Authorization: GoogleLogin <strong>auth</strong>=XXX" <a href="https://android.apis.google.com/c2dm/send" rel="nofollow">https://android.apis.google.com/c2dm/send</a> -d "registration_id=XXX" -d "data=helloooo" -d collapse_key=Z
И это работает!Но вы получаете ошибку 401, если вы используете аутентификацию, как в первом ответе (верхний регистр A в «аутентификации»):
curl.exe" -v -k --header "Authorization: GoogleLogin <strong>Auth</strong>=XXX" <a href="https://android.apis.google.com/c2dm/send" rel="nofollow">https://android.apis.google.com/c2dm/send</a> -d "registration_id=XXX" -d "data=helloooo" -d collapse_key=Z
Таким образом, «аутентификация»запрос 2 чувствителен к регистру.Я думаю, что это ловушка, в которую входят 50% пользователей.Надеюсь, это поможет.