Tôi đang cố sử dụng mã thông báo làm mới từ xác thực chuyển hướng web oAuth2 trong tập lệnh perl trên bảng điều khiển của mình. Các id khách hàng là cùng một id khách hàng chính xác và tôi được sử dụng trong javascript của tôi một tôi đã kiểm tra nó 5 lần nó ist giống như tôi có trong giao diện điều khiển của Google API của tôi.Google oAuth2 authorized_client by refresh_token
Bí mật của khách hàng được chọn hai và điều đó là chính xác.
Các dấu hiệu làm mới được tạo ra với approval_prompt=force&access_type=offline
Dưới đây là mẫu mã perl của tôi sử dụng:
# -----------------------------------------------------------------------------------
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;
Câu trả lời của nó:
HTTP/1.1 400 Bad Request
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Connection: close
Date: Mon, 02 Sep 2013 10:50:26 GMT
Pragma: no-cache
Server: GSE
Content-Type: application/json
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Alternate-Protocol: 443:quic
Client-Date: Mon, 02 Sep 2013 10:50:26 GMT
Client-Peer: 74.125.136.84:443
Client-Response-Num: 1
Client-SSL-Cert-Issuer: /C=US/O=Google Inc/CN=Google Internet Authority G2
Client-SSL-Cert-Subject: /C=US/ST=California/L=Mountain View/O=Google Inc/CN=accounts.google.com
Client-SSL-Cipher: RC4-SHA
Client-SSL-Warning: Peer certificate not verified
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
{
"error" : "unauthorized_client"
}
tôi hy vọng bạn có một ý tưởng Cứu giúp.
greatings