c2dm 401 Fehler beim Senden von Nachrichten nach dem Empfang von ID und Authentifizierungs-Token

8

Ich habe viele ähnliche Fragen gesehen, aber keine gute Antwort, obwohl einige von ihnen akzeptiert wurden. Ich habe mich für C2DM angemeldet. Ich habe eine Bestätigungsmail erhalten. Dann schrieb ich eine einfache App, um sich für C2DM zu registrieren. Ich bekomme die ID (versucht am Emulator und am echten Gerät). Dann habe ich das Authentifizierungs-Token (mit Curl) für meine E-Mail erhalten, das ich für die C2DM-Registrierung verwendet habe (die gleiche E-Mail, die ich in der App zum Erwerben der ID verwendet habe).
Wenn ich versuche, den Push (auch mit Curl) zu machen, bekomme ich 401 Fehler (wie der Authentifizierungs-Token ist falsch).

Ich lese viele Tutorials und mir gehen die Ideen aus.

    
DixieFlatline 03.10.2011, 19:27
quelle

2 Antworten

1

Lass es mich versuchen (nur mit Locken):

Zuerst beantragen wir den Authentifizierungs-Token:

curl.exe -v -k https://www.google.com/accounts/ClientLogin -d [email protected] -d Passwd=secret -d accountType=GOOGLE -d source=your.registered.domain -d service=ac2dm

Im Ergebnis erhalten Sie das Authentifizierungs-Token:

< HTTP/1.1 200 OK
SID=XXX
LSID=XXX
Auth=XXX
* Connection #0 to host www.google.com left intact
* Closing connection #0
* SSLv3, TLS alert, Client hello (1):

Bitte beachten Sie, dass die Auth-Antwort im Ergebnis mit einem Großbuchstaben ersten Buchstaben: "Auth = XXX"!

ist

Jetzt verwenden wir das Ergebnis für die nächste Anfrage, aber mit kleingeschriebenem Anfangsbuchstaben:
curl.exe -v -k --header "Authorization: GoogleLogin auth=XXX" https://android.apis.google.com/c2dm/send -d "registration_id=XXX" -d "data=helloooo" -d collapse_key=Z

Und das funktioniert! Aber Sie erhalten einen Fehler 401, wenn Sie die Auth wie in der ersten Antwort verwenden (Großbuchstabe A in "Auth"):

curl.exe" -v -k --header "Authorization: GoogleLogin Auth=XXX" https://android.apis.google.com/c2dm/send -d "registration_id=XXX" -d "data=helloooo" -d collapse_key=Z

Also ist die "Auth" von Anfrage 2 Groß-und Kleinschreibung. Ich denke, das ist eine Falle, in die 50% der Nutzer einsteigen. Hoffe das hilft.

    
ChrLipp 14.10.2011 18:06
quelle
0

Vielleicht ist das das Problem?

Ссылка

Grundsätzlich muss der Parameter "sender", den Sie auf dem Android-Gerät angeben, dieselbe E-Mail-Adresse sein, die als Absender (serverseitig) registriert ist.

    
Ted 04.12.2011 17:32
quelle

Tags und Links