Fayland Lam
Fayland Lam

Reputation: 1016

google oauth2 grant_type=authorization_code returns Error processing OAuth 2 request

the piece of the code as

the post url as https://accounts.google.com/o/oauth2/token

the scope is 'https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email https://www.google.com/m8/feeds/'

grant_type as authorization_code

code is from the google

        my %args = (
            client_id     => $config->{client_id},
            client_secret => $config->{client_secret},
            redirect_uri  => $config->{redirect_uri},
            scope         => $config->{scope},
            grant_type    => $config->{grant_type},
            code          => $code,
        );
        my $ua = LWP::UserAgent->new;
        my $ua_response = $ua->post( $uri, \%args );

and what I get is something like below: (the response is html escaped)

$VAR1 = \bless( {

'_content' => '<HTML> <HEAD> <TITLE>Error processing OAuth 2 request</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> <H1>Error processing OAuth 2 request</H1> <H2>Error 500</H2> </BODY> </HTML> ',
'_headers' => bless( { 'cache-control' => 'no-cache, no-store, max-age=0, must-revalidate', 'client-date' => 'Wed, 16 May 2012 09:21:26 GMT', 'client-peer' => '173.194.74.84:443', 'client-response-num' => 1, 'client-ssl-cert-issuer' => '/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA', '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', 'connection' => 'close', 'content-type' => 'text/html; charset=UTF-8', 'date' => 'Wed, 16 May 2012 09:21:21 GMT', 'expires' => 'Fri, 01 Jan 1990 00:00:00 GMT', 'pragma' => 'no-cache', 'server' => 'GSE', 'title' => 'Error processing OAuth 2 request', 'x-content-type-options' => 'nosniff', 'x-frame-options' => 'SAMEORIGIN', 'x-xss-protection' => '1; mode=block' }, 'HTTP::Headers' ),

'_msg' => 'Error processing OAuth 2 request',

'_protocol' => 'HTTP/1.1',

'_rc' => '500',

'_request' => bless( { '_content' => 'grant_type=authorization_code&redirect_uri=http%3A%2F%2Fwww.xxx.com%2Foauth%2Fcallback%2Fgoogle&client_secret=xxx&client_id=xxx.apps.googleusercontent.com&code=4%2FSihUM4Zw1OPiWLMi-gdGvKOfiY4M.cggfQHKT31QagrKXntQAax3e4-qpbgI&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.google.com%2Fm8%2Ffeeds%2F', 
'_headers' => bless( { 'content-length' => 424, 'content-type' => 'application/x-www-form-urlencoded', 'user-agent' => 'libwww-perl/6.04' }, 'HTTP::Headers' ),
 '_method' => 'POST', 
'_uri' => bless( do{\(my $o = 'https://accounts.google.com/o/oauth2/token')}, 'URI::https' ), 
'_uri_canonical' => ${$VAR1}->{'_request'}->{'_uri'} }, 

'HTTP::Request' ) }, 'HTTP::Response' );

and actually it works sometimes but not for all the cases.

is there anything wrong?

Upvotes: 4

Views: 3792

Answers (1)

laura
laura

Reputation: 35

We are also facing the same problem when trying to fetch the access token for some clients. The location of these clients is Australia, Japan, China, etc. and our server is in Germany. Other people are having the same problem ( https://groups.google.com/d/msg/google-content-api-for-shopping/Cx2hp8Ey5Sc/uBHqkwbTbXoJ ) so this hasn't been fixed yet unfortunatelly...

Upvotes: 0

Related Questions