J'ai essayé pour les deux derniers jours en essayant d'obtenir un jeton d'accès et de rafraîchissement jeton à l'aide de Google oauth2 mais ne va nulle part.Get Google jeton d'accès API client à l'aide CURL
La documentation est des ordures et je ne peux pas trouver des exemples qui fonctionnent.
Je viens de commencer à utiliser CURL en essayant d'obtenir le code d'accès et le jeton de rafraîchissement, mais je continue à avoir des erreurs avec la réponse.
J'ai essayé d'utiliser cette
// init the resource
$url = 'https://accounts.google.com/o/oauth2/token';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FAILONERROR, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/x-www-form-urlencoded',
'Content-length: 0'
));
curl_setopt($ch, CURLOPT_POSTFIELDS,
'code=' . urlencode('AUTHORISATION_CODE') . '&' .
'client_id=' . urlencode('MY_CLINET_ID.apps.googleusercontent.com') . '&' .
'client_secret=' . urlencode('MY_CLIENT_SECRET') . '&' .
'redirect_uri=http://www.example.com/' . '&' .
'grant_type=authorization_code'
);
// execute
$output = curl_exec($ch);
echo $output;
// free
curl_close($ch);
mais je reçois juste cette réponse
{
"error" : "invalid_request",
"error_description" : "Required parameter is missing: grant_type"
}
et je l'ai essayé de courir CURL de la ligne de commande
curl --data "code=AUTHORISATION_CODE&client_id=MY_CLIENT_ID.apps.googleusercontent.com&client_secret=MY_CLIENT_SECRET&redirect_uri=http://www.example.com/&grant_type=authorization_code" https://accounts.google.com/o/oauth2/token
mais je obtenir une réponse différente
{
"error" : "invalid_client",
"error_description" : "The OAuth client was not found."
}
Pourquoi est-il si difficile juste pour obtenir un jeton d'accès?
MISE À JOUR
Je ne sais pas ce qui se passe, mais je ne reçois pas cette erreur plus et je reçois un jeton d'accès mais pas un jeton rafraîchissement
Je l'ai regardé ce poste Not receiving Google OAuth refresh token et je l'ai annulé l'accès de mon application pour régénérer l'actualisation jeton mais en utilisant ce code affiche une erreur au sujet d'un code invalide
Juste une idée, mais omettent le dernier '/' 'du redirect_uri'. Ou échapper à cela en quelque sorte. – loveNoHate
Cela ne fait aucune différence – AdRock
Qu'avez-vous fait? – loveNoHate