try { // Grab the logged in user's User Object, /me will include the entire User object $user = $client->api('/me'); echo '<h3 id="message">Welcome</h3> <h4>Logged in as <span id="name" style="color:blue">' . $user['displayName'] . '</span> <small>id: <span id="userId" style="color:green">' . $user['userId'] . '</span> email: <span id="email" style="color:purple">' . $user['email'] . '</span></h4>'; if (isset($_GET['order_id'])) { echo '<pre>' . print_r($client->api('/order/' . $_GET['order_id']), true) . '</pre>'; } } catch (VGS_Client_Exception $e) { if ($e->getCode() == 401) { // access denied, in case the access token is expired, try to refresh it try { // refresh tokens using the session saved refresh token $client->refreshAccessToken($session['refresh_token']); $_SESSION['sdk']['access_token'] = $client->getAccessToken(); $_SESSION['sdk']['refresh_token'] = $client->getRefreshToken(); // Sesssion refreshed with valid tokens header("Location: " . $client->getCurrentURI(array(), array('code', 'login', 'error', 'logout', 'order_id', 'spid_page'))); exit; } catch (Exception $e2) { /* falls back to $e message bellow */ } } if ($e->getCode() == 400) { header("Location: " . $client->getLoginURI(array('redirect_uri' => $client->getCurrentURI(array(), array('logout', 'error', 'code', 'order_id', 'spid_page'))))); exit; } // API exception, show message, remove session as it is probably not usable unset($_SESSION['sdk']); echo '<h3 id="error" style="color:red">' . $e->getCode() . ' : ' . $e->getMessage() . '</h3>'; }