Frage

Ich habe auf die OAuth .NET Google APIs gesucht, um sich über OAuth zu authentifizieren und die Google Drive-APIs verwenden zu können.

Insbesondere möchte ich ein Aktualisierungs-Token verwenden, das ich bereits gespeichert habe, um ihn zu verwenden, um einen GoogleLRIVE-Dienst zu instanziieren.

Ich habe Proben gefunden https://code.google.com/p/google-api-dotnet-klient/Source/Browse/Tasks.simpleoAuth2/program.cs?repo=samples

das scheinbar "GoogleWebautorizationBroker.AuthorInsEsync" scheint, aber ich bin nicht sicher, wie ich diese Methode mit einem Erfrischungs-Token nutzen kann, anstatt die Clientgeheimnisse, die Sie in diesem Beispiel füttern scheinen.

War es hilfreich?

Lösung

Wenn ich Sie richtig verstehe, fragen Sie, wie Sie einen neuen Google-Service erstellen, basierend auf einem vorhandenen AktRelsh-Token.

Sie können also folgendes tun:

generasacodicetagpre.

Sie können dann Ihre Anmeldeinformationen an den Initialisierer des Dienstes weitergeben.

Wenn Sie das oben genannte tun, wird googleauthorizationcodeflow ein neues Zugangsstoken basierend auf Ihrem Token- und Clientgeheimnis erhalten.

Beachten Sie, dass Sie hier Kundengeheimnisse haben müssen, ohne dass Sie kein Zugangsstoken erhalten können.

Andere Tipps

Die client_secrets.json enthält die Client-ID und das Client Secret (der Ihre OAuth 2.0-Informationen für Ihre Anwendung hat).

Ich denke, dieser Artikel erklärt besser, wie Sie oAuth 2.0 auf Google Apps APIs aufrufen können, insbesondere wenn Sie eine Webanwendung aufbauen.

https://developers.google.com/Accounts/docs/oAuth2webserver

Wenn Sie an einem Codierungsbeispiel interessiert sind, gibt es eine in Stackoverflow: Google+ API: Wie kann ich RefreshTokens verwenden, um zu vermeiden, dass jeder App auf den Zugriff auf den Zugriff wird, wenn meine App startet?

GoogleWebAuthorizationBroker erfordert, dass Sie eine Implimetation von idatastore in diesem Fall senden, in diesem Fall FileDatAstore gesendet wird.FileDatAstore speichert die Daten in% AppData%.Wenn Sie einen erfrischenden Refreshtoken verwenden möchten, haben Sie irgendwo teil, sonst müssen Sie Ihre eigene Implimitisierung von idatastore erstellen.

Der Code für den eigentlichen DataStore I ist etwas lang, um hier zu posten. http://daimto.com/google-oauth2-csharp/

Sie verwenden es dann, genau wie Sie würden die FileDataTaTore

generasacodicetagpre.

Es gibt ein Beispielprojekt, das diesem Tutorial angehängt ist.

Um das Aktualisierung des Tokens zu verwenden:

generasacodicetagpre.

Was ist, wenn Sie kein Aktualisierungs-Token haben?Am einfachsten ist es, den Anweisungen auf Google SDK docs zu folgen.Zuerst Laden Sie Ihre Anmeldeinformationen vom Google-API-Projekt herunter.Nennen Sie den Dateicredentials.json.Führen Sie dann den Code aus:

generasacodicetagpre.

Hiermit sollte ein Ordner-Token.JSON- und Inner-Ordner erstellen, ist eine andere JSON-Datei, die Sie hat refresh_token.

generasacodicetagpre.

Ich ziehe es vor, den GoogleWebauthorization-Broker nicht zu verwenden, da es automatisch einen Webbrowser startet, wenn Das Token wird nicht gefunden.Ich bevorzuge die alte Schule, um das Aktualisierungs-Token mit dem Zugangscode zu erhalten. Dies ist sehr ähnlich der Verwendung des GoogleOAuthUtil.CreateOAuth2AuthorizationUrl und des generationspflichten in der älteren OAuth-API von Google.

generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top