Warum erhalte ich von einer Google OAuth-Anfrage kein RefreshToken?

7

Ich versuche Google Kalender in meine Anwendung zu integrieren und habe Probleme mit der OAuth-Autorisierung, die ein RefreshToken abgibt. Ich erhalte ein AccessToken ohne Problem, aber die RefreshToken-Eigenschaft ist null. Siehe die Zeile "FEHLER HIER" für wo ich das Problem habe

Mein Asp.Net MVC-Controller (mit dem Namen OAuthController ) sieht folgendermaßen aus:

%Vor%

Ich sehe in den API-Dokumenten von Google, dass ich sicherstellen muss, dass die angeforderte access_type auf offline gesetzt ist, damit ein RefreshToken gesendet wird. Wie setze ich diesen Wert in meiner Authenticator-Anfrage?

    
Jeff Fritz 05.07.2012, 14:24
quelle

3 Antworten

12

Nach stundenlangem Fiedeln mit DotNetOpenAuth und Google-APIs für .Net veröffentlicht, ich kam nirgendwohin schnell. Ich beschloss, die Bibliotheken zu umgehen und ging direkt in die Google REST-API mit nativen HttpRequest- und HttpResponse-Objekten. Mein sanierter Code für meinen MVC-Controller folgt:

%Vor%

Vielen Dank an Kelp für ein bisschen Code in diesem Ausschnitt.

    
Jeff Fritz 06.07.2012, 11:57
quelle
9

Passen Sie GoogleAuthenticationServer.Description an, um einen Autorisierungsendpunkt-URI zu haben, der ?access_type=offline in der Abfragezeichenfolge enthält.

    
Andrew Arnott 05.07.2012 15:59
quelle
0

Einfach hinzufügen

AccessType="offline",

zum GoogleOAuth2AuthenticationOptions () - Objekt.

    
Ali 26.06.2015 05:39
quelle