私は困惑しています。Perl を使用してミラー API でアクセス トークンをロードするために更新トークンを手動で取得しようとしていますが、資格情報エラーが発生し続けます。PHP のサンプル コードで正確な HTTP 要求を読み込むと (比較のために HTTP を出力しました)、同じ refresh_token が正常に機能します。
私のPerl HTTPリクエストは次のとおりです。
*POST https://accounts.google.com/o/oauth2/token Host: accounts.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*
同じ refresh_token の PHP は次のとおりです。
*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*
私のPerlは次のようになります。
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',
],
);
ヘルプ!:-)