J'essaie d'obtenir un jeton d'accès Google OAuth 2.0 pour un compte de service, mais je reçois un invalid_grant
error à la place. J'ai vérifié mes différents artefacts (clé privée, etc.) et les horaires d'horloge, mais je n'ai pas réussi à résoudre ce problème jusqu'à présent.OAuth 2.0 pour les applications serveur à serveur: deux ou trois paramètres? (Ou: Certains ingénieurs de Google peuvent-ils ne pas compter jusqu'à trois? :)
Il y a un peut-élément connexe qui semble étrange: Google documentation dit
Trois paramètres sont nécessaires dans le HTTPs POST, et ceux-ci sont présentés ci-dessous
Il est suivi par une table avec deux lignes qui spécifie deux paramètres (grant_type
et assertion
). Se pourrait-il qu'un troisième est également nécessaire (j'ai vu des exemples qui utilisent également assertion_type
d'une certaine façon)? Se pourrait-il que (certains) ingénieurs Google (ou peut-être le vôtre) ne peut pas compter jusqu'à trois? :)
En résumé: Quels sont les paramètres appropriés? Il semble peu clair de la documentation actuelle de Google.
MISE À JOUR: Voici quelques autres informations: Je ne peux pas utiliser la bibliothèque API Google API, car mon application requiert une autre langue que celles actuellement non prises en charge par Google. Par conséquent, je dois mettre en œuvre la logique de création et de signature de JWT, etc., comme cela est normalement déconseillé. J'ai confirmé que les artefacts de mon compte de service sont en ordre: je peux les utiliser avec la bibliothèque des API Google API pour Java pour accéder au même calendrier (à partir d'un autre calendrier que ma plateforme cible, c'est-à-dire). En particulier, mon "client_id" est de la forme "... @ developer.gserviceaccount.com" et ma clé est une clé privée RSA de 128 bits, tous deux obtenus à partir du Google APIs Dashboard.