2012-04-24 5 views
5

Ich programmiere einen Webserver, um oAuth2 für Google APIs zu unterstützen, und folge this documentation. Alles scheint so gut zu funktionieren, dass ich versuche, mit dem Access Token eine Google API zu erstellen. Beispielaufruf aus der Dokumentation:Sieht mein Google oAuth2 Token richtig aus?

https://www.googleapis.com/oauth2/v1/userinfo?access_token=1/fFBGRNJru1FQd44AzqT3Zg 

Wenn ich versuche, es mit meinen Zugriffstoken I 401 ungültig Token Fehler.

Durch die Literatur, alle Beispiele zeigen die Access Token im Format 1/fFBGR ....... Mein Access Token ist von Form ya29.AHES67z ....... und ist viel länger (siehe das Snippet unten mit Antwort von Google).

oauth2 request:{ 
"access_token" : "ya29.AHES67zeEn-RDg9CA5gGKMLKuG4uVB7W4O4WjNr-NBfY6Dtad4vbIZ", 
"token_type" : "Bearer", 
"expires_in" : 3600 
} 

So scheint es, dass mein Token falsch ist. Muss ich es kodieren/decodieren?

+1

Hmmm - vielleicht ist mein Token in Ordnung. Gefunden ein [Beispiel] (http://are4.us/raysblog/?p=2932), wo jemand ein Token hat, das mit ya29 beginnt. –

Antwort

11

Ich habe kürzlich mit OAuth2.0 von VBA gespielt.

Authorization Code Begins With: 4/Omoy (30 Characters Long) 
Access_Token Begins With:  ya29.AHES (60 Characters Long)  
Refresh_Token Begins With:  1/Ry68 (45 Characters Long) 

Ich musste keine Decodierung oder Codierung vornehmen, um diese Werte zu verwenden. Dies waren funktionierende, funktionale Werte.

+0

Ja - richtig. Ich habe mich die ganze Zeit geirrt. –

+0

gute information! Ich dachte, ich hätte Probleme mit den ya29.AHES Tokens, die so unterschiedlich sind und Fehler auf meinem Server verursachen, aber als ich diese Antwort gelesen habe, wusste ich zumindest, dass ich das Richtige habe. Beim Nachdenken über die "Anmelden mit Google +" -Dokumentation stellte ich fest, dass in einem winzigen Kleingedruckten erwähnt wurde, dass beim Erstellen einer App auf der API-Konsole diese als "andere" und nicht als "iOS" gekennzeichnet werden muss. Als ich diese Änderung vorgenommen habe, hat sie richtig funktioniert. An dem Punkt, an dem ich mit google + teilen möchte, erstelle ich wahrscheinlich eine andere API-Konsolen-ID, für die iOS aktiviert ist. –

Verwandte Themen