Ich versuche, einen OAuth-Token zu erhalten, den ich mit gmail_xauth (Ruby-Juwel) verwenden kann. um die Mail eines Benutzers zu sehen. Ich habe meine App zuerst mit Google und registriert dann richten Sie das Gerät ein, um Zugriff auf die Mail zu beantragen:
%Vor%Ich gehe dann durch den outh / openid flow und Google fordert mich auf genehmigen Sie den Zugriff auf Google Mail und leiten Sie mich mit einem Token zurück zur App und geheim in den Omniuth Credentials & amp; Mein Google-Konto listet meine App auf als autorisiert, auf meine Daten zuzugreifen. So weit, ist es gut.
Nun, wenn ich diese Anmeldedaten nehme und versuche, sie mit zu benutzen gmail_xoauth gefällt mir:
%Vor%Ich erhalte einen Fehler "Net :: IMAP :: NoResponseError: Ungültige Anmeldeinformationen (Fehler) ".
Interessanterweise folgt die README von gmail_xoauth, um ein Token zu generieren mit einem Verbraucher, der ein Python-Skript verwendet, funktioniert es.
Das funktioniert für mich:
%Vor%Ich verwende das Gmail-Juwel, also sieht es so aus:
%Vor% Ich übergebe ein Authentifizierungsobjekt, aber Sie erhalten es von der env-Variablen env ["omniauth.auth"] . Ich verwende anonyme / anonyme für den Schlüssel / das Geheimnis, da ich meine Domain nicht bei Google registriert habe, aber ich glaube, dass Sie hier
Das OAuth1-Protokoll von Google ist jetzt veraltet und viele Edelsteine wurden noch nicht aktualisiert, um ihr OAuth2-Protokoll zu verwenden. Hier sehen Sie ein Beispiel für den Abruf von E-Mails von Google mit dem OAuth2-Protokoll. In diesem Beispiel wird mail
, % co_de verwendet % , gmail_xoauth
und omniauth
Edelsteine.
Sie müssen Ihre App auch in der Google-API-Konsole registrieren, um API-Token zu erhalten.
> %Vor%