7
votes

Autorisation Google Oauth 2 - Échange de code pour jeton

J'essaie de mettre en œuvre Google Oauth 2 pour avoir accès à Google Apis. Je suis Ce Guide, à l'aide de scénario côté serveur.

Je n'ai aucun problème à obtenir le code, redirige du serveur vers localhost (qui est le seul serveur autorisé à rediriger les URI pour le moment). Pour y parvenir, je vais à https://accounts.google.com/o/oauthth2/auth?client_id=whatever.apps.googleReContent.com&redirect_uri=http://localhost/&scope=HTTPS://wwww. google.com/m8/feeds/&reesponse_type=code page.

Alors, j'ai essayé d'utiliser Curl (comme dans le guide) pour tester, si le serveur de Google répond avec jeton d'accès. Cependant, il semble échouer très fort. Seule la réponse que je peux obtenir est {"erreur": "invalid_client"} . Je suis sûr que je fournis tout ce que Google veut que je fournisse - code, identifiant client, secret client, redirect uri (localhost) et accord_type = autorisation_code .

La ligne de commande est la suivante: xxx

suis-ce que je manque quelque chose? Comment puis-je échanger du code pour un jeton d'accès?


0 commentaires

3 Réponses :


3
votes

Avez-vous URLENCODE Votre client secret et votre URL de redirection? Ça marche pour moi.

devrait être http% 3a% 2f% 2flocalhost au lieu de https: // localhost . .


0 commentaires

3
votes

J'ai eu la même erreur jusqu'à ce que je réalisais que j'essayais de vous connecter avec un identifiant client que j'ai créé pour iOS. Donc, pour moi, la solution consistait à créer une nouvelle paire d'API-Secret sur le Console API avec le Plate-forme définie sur "Autre".

Maintenant, je reçois d'autres erreurs, mais c'est une autre histoire. ;)


2 commentaires

Brillant. Il se peut que des versions plus récentes du code GDATA fonctionnent lorsque vous utilisez le paramètre IOS.


C'était exactement la solution à mon problème lorsque vous testez sur le simulateur ... Cette réponse raccourci ma recherche, merci Lvsti!



1
votes

arrive lorsque vous utilisez le mauvais secret client. Assurez-vous d'utiliser le secret du client correct de la console API Google. J'utilisais l'adresse e-mail depuis la console API affiche les informations dans l'ordre suivant:

  1. ID client
  2. adresse e-mail
  3. secret client

0 commentaires