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:
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?
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.
Passen Sie GoogleAuthenticationServer.Description
an, um einen Autorisierungsendpunkt-URI zu haben, der ?access_type=offline
in der Abfragezeichenfolge enthält.
Tags und Links asp.net-mvc oauth dotnetopenauth oauth-2.0