2013-12-10 2 views
1

Я пытался отправлять уведомления на устройства, установленные моим приложением. Я выполнил инструкции в this Tutorial и успешно получил идентификатор регистрации моих устройств. Тем не менее, я всегда получаю ответ 401, когда я отправляю свои запросы с моего сервера.Получение статуса ошибки 401 с сервера GCM

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

Это, как я тестировал:

api_key=MY_API_KEY 
curl --header "Authorization: key=$api_key" --header Content-Type:"application/json" https://android.googleapis.com/gcm/send -d "{\"registration_ids\":[\"MY_REGISTRATION_ID\"]}" 

Я заменил MY_API_KEY с номером проекта на Cloud Console, и MY_REGISTRATION_ID с результатом Android кода gcm = GoogleCloudMessaging.getInstance(context); gcm.register(SENDER_ID);

я знаю есть пара людей, отправляющих одну и ту же проблему, и я читал их все часы. К сожалению, их решения не исправили мою ошибку. Пожалуйста, помогите, и извините за моего бедного английского.

ответ

0

Я решил использовать ключ браузера вместо ключа api.

+0

Это странно, где я могу найти ключ браузера? –

+0

В консоли google api зайдите в свой проект. Затем слева вы найдете API & Auth> Registered Apps. Там вы должны найти ключ браузера – allemattio

+0

Кажется, что вы используете «Веб-приложение» вместо «Android» в поле платформы на Cloud Console. И ключ API сервера, и ключ API браузера работают для меня без ошибки 401. Тем не менее, я еще не получил никаких уведомлений. Вот ответ от GCM '{" multicast_id ": 462805484xxxxxxxxx," success ": 1," failure ": 0," canonical_ids ": 0," results ": [{" message_id ":" 0: 1386725281760300% fde9a7xxxxxxxxx "}] } ' –

Смежные вопросы