小编Hac*_*ard的帖子

通过refresh_token谷歌oAuth2 unauthorized_client

我正在尝试在我的控制台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)

perl google-plus google-oauth

9
推荐指数
1
解决办法
8084
查看次数

标签 统计

google-oauth ×1

google-plus ×1

perl ×1