我正在尝试在我的控制台perl脚本中使用来自oAuth2 web redirect auth的刷新令牌.我的javascript中使用的客户端ID是相同且正确的客户端ID,我检查了5次,它与我在谷歌API控制台中的相同.
客户端密钥被检查两次,这是正确的.
刷新令牌是使用创建的 approval_prompt=force&access_type=offline
这是我使用的perl示例代码:
# -----------------------------------------------------------------------------------
my $CLIENT_ID = 'XXXXX.apps.googleusercontent.com';
my $CLIENT_SECRET = 'YYYYYYYYYYY';
# -----------------------------------------------------------------------------------
# TESTING
my $refresh_token = '1/is_5_minutes_old';
# -----------------------------------------------------------------------------------
my $string = '';
$string .= 'grant_type=refresh_token';
$string .= '&client_id=' . $CLIENT_ID;
$string .= '&client_secret=' . $CLIENT_SECRET;
$string .= '&refresh_token=' . $refresh_token;
$ua = LWP::UserAgent->new;
my $req =
HTTP::Request->new( POST => 'https://accounts.google.com/o/oauth2/token' );
$req->content_type('application/x-www-form-urlencoded');
$req->content($string);
print $string . "\n";
my $res = $ua->request($req);
print $res->as_string;
Run Code Online (Sandbox Code Playgroud)
它的回应:
HTTP/1.1 400 Bad Request
Cache-Control: no-cache, …Run Code Online (Sandbox Code Playgroud)