Ich entwickle derzeit die Web-Komponente für Google API Cross Client-Autorisierung wie in diesem Artikel beschrieben. https://developers.google.com/identity/protocols/CrossClientAuthGoogle Cross Client Authorization und invalid_grant Fehler
Zusätzlich ist die Umgebung, die ich in bin, ist Rails und so verwende ich das Google-api-Client gem wie in diesem Artikel beschrieben https://developers.google.com/identity/protocols/OAuth2WebServer#handlingtheresponse
Der Autorisierungscode über den Android-App erhalten wird, über das Web Client-ID und wurde an die Web-API übergeben, um sie auszutauschen. Meine Verwendung des Edelstein- und Code zum Austausch ist als
auth_client = Google::APIClient::ClientSecrets.load("/path/to/client_secrets.json").to_
authorization
auth_client.code = code
auth_client.fetch_access_token!
folgt ich zusätzlich
auth_client = Google::APIClient::ClientSecrets.load("/path/to/client_secrets.json").to_
authorization
auth_client.update!(
:grant_type => 'authorization_code'
)
auth_client.code = code
auth_client.fetch_access_token!
tun In allen Fällen versucht habe ich erhalten einen ungültigen Zuschuss Fehler von Google ohne Beschreibung.
Ich habe versucht, die URLs zu konstruieren, um andere API-Tools wie Curl und Postman zu nutzen, und den Edelstein zu umgehen, mit dem Google OAUTH Spielplatz ohne Erfolg.
Irgendein Einblick in, was möglicherweise die ungültigen Gewährungsfehler erzeugt oder wie man die Drehungsanforderungen erzeugt, um das Zeichen direkt mit Google außerhalb des Edelsteins zu tauschen, würde sehr geschätzt werden.
Mein Verständnis ist, dass der Android-Client nur die Client-ID benötigt, um den Autorisierungscode anzufordern. Wenn dies der Fall ist, kann ich bestätigen, dass dieselbe Client-ID verwendet wird, um den Autorisierungscode anzufordern, wie er zum Austausch verwendet wird. – rantingsonrails
Sie sagen, Sie erhalten es in Android tgen verwenden Sie es im Web können Sie nicht tun, dass Web und Android haben zwei völlig unterschiedliche Client-ID und Geheimnis seine verschiedenen Anmeldeinformationen – DaImTo
Ich verweise die Dokumentation hier. https://developers.google.com/identity/protocols/CrossClientAuth#offlineAccess Ich verstehe, dass der Android-Client die Web-Client-ID als Parameter übergibt, um den Autorisierungscode zu erhalten. – rantingsonrails