Я в тупике. Я пытаюсь вручную получить токен обновления, чтобы загрузить токен доступа для меня в Mirror API с помощью Perl, и он продолжает выдавать мне ошибки учетных данных. Когда я загружаю точный HTTP-запрос в примере кода PHP (я распечатал HTTP для сравнения), тот же самый refresh_token работает нормально.
Вот мой HTTP-запрос Perl:
* POST https://accounts.google.com/o/oauth2/token Хост: account.google.com User-Agent: libwww-perl/6.02 Content-Length: 175 Content-Type: application/x-www-form-urlencoded client_id=client_id_goes_here&client_secret=client_secret_goes_here&refresh_token=refresh_token_goes_here&grant_type=refresh_token*
Вот PHP на том же Refresh_token:
*POST /o/oauth2/token HTTP/1.1 content-type: application/x-www-form-urlencoded content-length: 175 client_id=client_id_goes_here&client_secret=client_secret_goes_here&refresh_token=refresh_token_goes_here&grant_type=refresh_token*
Мой Перл выглядит так:
my $auth_response = $ua->request(POST 'https://accounts.google.com/o/oauth2/token',
'Host' => 'accounts.google.com',
'Content_Type' => 'application/x-www-form-urlencoded',
'Content' => [
'client_id' => $client_id,
'client_secret' => $client_secret,
'refresh_token' => $credentials->{'refresh_token'},
'grant_type' => 'refresh_token',
],
);
ПОМОЩЬ! :-)