<?php // Require the osapi library require_once "../src/osapi.php"; // Enable logger. osapiLogger::setLevel(osapiLogger::INFO); osapiLogger::setAppender(new osapiConsoleAppender()); $consumerKey = 'CONSUMER_KEY'; $consumerSecret = 'CONSUMER_SECRET'; $callbackUrl = 'CALLBACK_URL'; // needed to scope the access token storage $localUserId = ''; $storage = new osapiFileStorage('/tmp/osapi'); $provider = new osapiVzOAuth2Provider(osapiVzOAuth2Provider::STUDIVZ); if (isset($_GET['platform']) && $_GET['platform'] === 'schuelervz') { $provider = new osapiVzOAuth2Provider(osapiVzOAuth2Provider::SCHUELERVZ); } $auth = osapiOAuth2::performOAuthLogin($consumerKey, $consumerSecret, $storage, $provider, $callbackUrl, 'openid', array('gender', 'emails', 'thumbnailUrl'), 'my custom message', 'state', $localUserId); if ($auth->getAccessToken()->getplatform() === 'schuelervz') { $provider = new osapiVzOAuth2Provider(osapiVzOAuth2Provider::SCHUELERVZ); } $osapi = new osapi($provider, $auth); // Start a batch so that many requests may be made at once. $batch = $osapi->newBatch(); // Fetch the current user. $self_request_params = array('userId' => '@me', 'groupId' => '@self', 'fields' => array()); $batch->add($osapi->people->get($self_request_params), 'self'); $result = $batch->execute(); var_dump($result);
/** * * @param string $consumerKey * @param string $consumerSecret * @param osapiStorage $storage * @param osapiProvider $provider * @param string $callbackUrl * @param string $scope optional * @param array $fields optional * @param string $message optional * @param string $state optional * @param string $localUserId optional * @return osapiOAuth2 */ public static function performOAuthLogin($consumerKey, $consumerSecret, osapiStorage $storage, osapiProvider $provider, $callbackUrl, $scope = null, array $fields = array(), $message = '', $state = null, $localUserId = null) { $auth = new osapiOAuth2($consumerKey, $consumerSecret, $storage, $provider, $callbackUrl, $scope, $state, $localUserId); if (($token = $storage->get($auth->storageKey)) !== false) { $auth->accessToken = $token; if ($token->getSignature() && $token->getIssued_at()) { $this->verifySignature($token->getSignature(), $consumerSecret, $token->getAccess_token(), $token->getIssued_at(), $token->getUser_id() ? $token->getUser_id() : '', ''); $auth->userId = $token->getUser_id(); } } else { if (isset($_GET['code'])) { $auth->service->getAccessToken(); $auth->redirectToOriginal(); } else { if (isset($_GET['error'])) { throw new osapiException($_GET['error'] . (isset($_GET['error_description']) ? ' ' . $_GET['error_description'] : ''), null, null); } else { $auth->storeCallbackUrl(); $auth->service->authorize($fields, $message); } } } return $auth; }