2

i am trying to pass the authorization to then get data from google plus but the data variable keeps showing a value of "moved temporarily" what am i doing wrong?

<?php session_start(); $client_id = ''; $client_secret = ''; $api_key = ''; $redirect_uri = 'http://localhost:8888/oauth'; $scope = "https://www.googleapis.com/auth/plus.me"; if (!isset($_REQUEST['code'])) { $login_path = "https://accounts.google.com/o/oauth2/auth?"; $login_path .= "redirect_uri=" . $redirect_uri; $login_path .= "&response_type=code"; $login_path .= "&client_id=" . $client_id; $login_path .= "&approval_prompt=force"; $login_path .= "&scope=" . $scope; $login_path .= "&access_type=offline"; echo "<a href='" . $login_path . "'>login</a>"; } else { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://accounts.google.com/o/oauth2/auth"); curl_setopt($ch, CURLOPT_POST, TRUE); // This option is set to TRUE so that the response // doesnot get printed and is stored directly in // the variable curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); $post_params = "code=" . $_REQUEST['code'] . "&"; $post_params = "redirect_uri=" . $redirect_uri . "&"; $post_params .= "client_id=" . $client_id . "&"; $post_params .= "scope=" . $scope . "&"; $post_params .= "client_secret=" . $client_secret . "&"; $post_params .= "grant_type=authorization_code&"; $post_params .= "response_type=code"; curl_setopt($ch, CURLOPT_POSTFIELDS, $post_params); $data = curl_exec($ch); curl_close($ch); //commented this since data was showing empty //$data = json_decode($data); print '<pre>'; print $data; print '</pre>'; } 
2
  • 2
    Don't forget to convert that edit into an answer and mark it accepted when the system permits you to. Commented Mar 9, 2012 at 7:21
  • thanks i did it , i guess i have to wait 2 days to accept it. Commented Mar 9, 2012 at 14:54

1 Answer 1

3

Update: For anyone else having the same problem i figured it out. here is my working code.

$client_id = ''; $client_secret = ''; $api_key = ''; $redirect_uri = 'http://localhost:8888/oauth'; $scope = "https://www.googleapis.com/auth/plus.me"; $api_call = "https://www.googleapis.com/plus/v1/people/me?access_token="; if (!isset($_REQUEST['code'])) { $login_path = "https://accounts.google.com/o/oauth2/auth?"; $login_path .= "redirect_uri=" . $redirect_uri; $login_path .= "&response_type=code"; $login_path .= "&client_id=" . $client_id; $login_path .= "&approval_prompt=force"; $login_path .= "&scope=" . $scope; $login_path .= "&access_type=offline"; echo "<a href='" . $login_path . "'>login</a>"; } else { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://accounts.google.com/o/oauth2/token"); curl_setopt($ch, CURLOPT_POST, TRUE); // This option is set to TRUE so that the response // doesnot get printed and is stored directly in // the variable curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); $post_params = "code=" . $_REQUEST['code'] . "&"; $post_params .= "redirect_uri=" . $redirect_uri . "&"; $post_params .= "client_id=" . $client_id . "&"; $post_params .= "scope=" . $scope . "&"; $post_params .= "client_secret=" . $client_secret . "&"; $post_params .= "grant_type=authorization_code&"; curl_setopt($ch, CURLOPT_POSTFIELDS, $post_params); $data = curl_exec($ch); curl_close($ch); $data = json_decode($data); $access_token = $data->access_token; $refresh_token = $data->refresh_token; // end of oauth now call google plus api. not $api_call holds the request uri value $call = $api_call . $access_token; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $call); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); $out = curl_exec($ch); echo '<pre>'; print_r($out); echo '</pre>'; 

}

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.