1

私は困惑しています。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',
            ],
        );

ヘルプ!:-)

4

1 に答える 1