2015-07-24 22 views
5

Nie mogę uzyskać odpowiedzi z GCM, nawet jeśli dostarczam prawidłowy klucz API serwera wygenerowany przez google.GCM Nieautoryzowany błąd 401

Problem: Chcę wysłać powiadomienie push przy użyciu GCM z aplikacji żagle. jestem delegowania poniżej kod do "https://android.googleapis.com/gcm/send"

Kod: 1

{ 
    "headers":{ 
    "Content-Type":"application/json", 
    "Authorization":"key=xxxxxxxxxxxxxxxxxxxx" 
    }, 
"notification":{ 
    "title":"Hello Notify", 
    "text":"Notification By Sails" 
}, 
"registration_ids":["xxxxxxxxxxxx","xxxxxxxxxxxx","xxxxxxxxxxxx"] 
} 

Kod: 2

{ 
    "headers":{ 
    "Content-Type":"application/json", 
    "Authorization":"key=xxxxxxxxxxxxxxxxxxxx" 
    }, 
"body":{ 
    "notification":{ 
     "title":"Hello Notify", 
     "text":"Notification By Sails" 
    } 
    }, 
"registration_ids":["xxxxxxxxxxxx","xxxxxxxxxxxx","xxxxxxxxxxxx"] 
} 

Dostaję odpowiedź poniżej.

"statusCode": 401, 
"body": "<HTML>\n 
      <HEAD>\n<TITLE>Unauthorized</TITLE>\n</HEAD>\n 
      <BODY BGCOLOR=\"#FFFFFF\" TEXT=\"#000000\">\n 
       <H1>Unauthorized</H1>\n 
       <H2>Error 401</H2>\n 
      </BODY>\n 
     </HTML>\n", 

Odpowiedz

2

Nagłówki powinny być nagłówkami HTTP, a nie elementem w polu danych.

+0

czy możesz podać przykład pracy? – DebuggerCoder

+0

Ten przykład powinien bardziej odpowiadać temu, co chcesz osiągnąć: http://code.runnable.com/U4kVi8yKO58ptG0l/%5Bandroid-api%5D-gcm-send-using-node-js –

+0

@DebuggerCoder curl -X POST - -header "Content-Type: application/json" --header "Authorization: key = AIzaXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "https://android.googleapis.com/gcm/send" --data-ascii "{" notification ": {" body ":" yyy "}," to ":" XXXXXXXXXX: YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY -ZZZZZZZZZZZZZZZZZZZZZ "} ' – TheWonderBird

0

Upewnij się, że włączyłeś właściwy interfejs API w Cloud Console. Jeśli wysyłasz kluczem Server API, musisz mieć włączoną opcję "Google Cloud Messaging dla Androida".

A screenshot from Cloud Console

Powiązane problemy