У меня проблема, когда я генерирую первый ответ oauth через uber api, я получаю всю необходимую информацию (access_token, refresh_token)
Но когда я хочу обновить access_token для конкретного пользователя, яполучить invalid_grant (я знаю, что это означает, что срок действия маркера обновления истек, но я генерирую коды и вначале пытаюсь завершиться ошибкой, даже если коды все еще действительны)
это код, который я использую для обновления токена,Может кто-нибудь объяснить, почему он не может дать мне новый код?
function refreshToken()
{
$url = 'https://login.uber.com/oauth/v2/token';
$fields = array(
'client_id' => MY_CLIENT_ID,
'client_secret' => MY_CLIENT_SECRET,
'grant_type' => "refresh_token",
'refresh_token' => MY_REFRESH_TOKEN
);
$fields_string = '';
foreach ($fields as $key => $value) {
$fields_string .= $key . '=' . $value . '&';
}
$fields_string = rtrim($fields_string, '&');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
У меня есть коды, хранящиеся в базе данных, возьмите их и попробуйте использовать их оттуда, код авторизации работает нормально послея прошу, но мне нужно иметь возможность обновить токен доступа, чтобы запросить API UBER для получения сообщения о готовности получения на моем веб-крюке, если токен истек, я не могу получить доступ к вызову с помощью текущего токена аутентификации, который у меня есть (токен на предъявителя)
это ответ, который я получаю каждый раз:
[error] => invalid_grant