I want to get users info after they login with Google Oauth 2.0. But I keep getting errors asking for refresh tokens after 1 hour. I dont want to use the refresh tokens, as I have set access type for online and approval prompt to auto.
This is the code that is causing issues, in particular I get errors with the get() function.
$service = new Google_Service_Oauth2($client);
if ($client->getAccessToken())
{
//For logged in user, get details from google using access token
$user = $service->userinfo->get();
$user_id = $user['id'];
$user_name = filter_var($user['name'], FILTER_SANITIZE_SPECIAL_CHARS);
$first_name = filter_var($user['given_name'], FILTER_SANITIZE_SPECIAL_CHARS);
$last_name = filter_var($user['family_name'], FILTER_SANITIZE_SPECIAL_CHARS);
$email = filter_var($user['email'], FILTER_SANITIZE_EMAIL);
$profile_url = filter_var($user['link'], FILTER_VALIDATE_URL);
$profile_image_url = filter_var($user['picture'], FILTER_VALIDATE_URL);
$gender = filter_var($user['gender'], FILTER_SANITIZE_SPECIAL_CHARS);
$personMarkup = "$email<div><img src='$profile_image_url?sz=50'></div>";
$_SESSION['token'] = $client->getAccessToken();
}