public function testFileCache() { $this->onlyPhp55AndAbove(); $this->checkServiceAccountCredentials(); $client = new Google_Client(); $client->useApplicationDefaultCredentials(); $client->setScopes(['https://www.googleapis.com/auth/drive.readonly']); // filecache with new cache dir $cache = $this->getCache(sys_get_temp_dir() . '/cloud-samples-tests-php-cache-test/'); $client->setCache($cache); $token1 = null; $client->setTokenCallback(function ($cacheKey, $accessToken) use($cache, &$token1) { $token1 = $accessToken; $cacheItem = $cache->getItem($cacheKey); // expire the item $cacheItem->expiresAt(new DateTime('now -1 second')); $cache->save($cacheItem); $cacheItem2 = $cache->getItem($cacheKey); }); /* Refresh token when expired */ if ($client->isAccessTokenExpired()) { $client->refreshTokenWithAssertion(); } /* Make a service call */ $service = new Google_Service_Drive($client); $files = $service->files->listFiles(); $this->assertInstanceOf('Google_Service_Drive_FileList', $files); sleep(1); // make sure the token expires $client = new Google_Client(); $client->useApplicationDefaultCredentials(); $client->setScopes(['https://www.googleapis.com/auth/drive.readonly']); $client->setCache($cache); $token2 = null; $client->setTokenCallback(function ($cacheKey, $accessToken) use(&$token2) { $token2 = $accessToken; }); /* Make another service call */ $service = new Google_Service_Drive($client); $files = $service->files->listFiles(); $this->assertInstanceOf('Google_Service_Drive_FileList', $files); $this->assertNotEquals($token1, $token2); }
// MUST be using composer require_once '/var/www/relle/vendor/autoload.php'; session_start(); $client = new Google_Client(); // Name of proj in GoogleDeveloperConsole $client->setApplicationName("relle-analytics"); // Generated in GoogleDeveloperConsole --> Credentials --> Service Accounts $client->setAuthConfig('/var/www/relle/relle-analytics-3753dd041a88.json'); $client->addScope(Google_Service_Analytics::ANALYTICS_READONLY); // Grab token if it's set if (isset($_SESSION['service_token'])) { $client->setAccessToken($_SESSION['service_token']); } // Refresh if expired if ($client->isAccessTokenExpired()) { $client->refreshTokenWithAssertion(); } // Pin to Session $_SESSION['service_token'] = $client->getAccessToken(); $myToken = $client->getAccessToken(); ?> {{Analytics::trackEvent('Página', 'Logs')}} @extends ('layout.dashboard') @section('page') {{trans('interface.name', ['page'=>trans('log.title')])}} @stop @section("title_inside") {{trans('log.title')}} @stop