当前位置: 首页>>代码示例>>PHP>>正文


PHP Google_Client::setCache方法代码示例

本文整理汇总了PHP中Google_Client::setCache方法的典型用法代码示例。如果您正苦于以下问题:PHP Google_Client::setCache方法的具体用法?PHP Google_Client::setCache怎么用?PHP Google_Client::setCache使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Google_Client的用法示例。


在下文中一共展示了Google_Client::setCache方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testFileCache

 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);
 }
开发者ID:jvidor,项目名称:google-api-php-client,代码行数:43,代码来源:CacheTest.php

示例2: createClient

 private function createClient()
 {
     $options = ['auth' => 'google_auth', 'exceptions' => false];
     if ($proxy = getenv('HTTP_PROXY')) {
         $options['proxy'] = $proxy;
         $options['verify'] = false;
     }
     // adjust constructor depending on guzzle version
     if (!$this->isGuzzle6()) {
         $options = ['defaults' => $options];
     }
     $httpClient = new GuzzleHttp\Client($options);
     $client = new Google_Client();
     $client->setApplicationName('google-api-php-client-tests');
     $client->setHttpClient($httpClient);
     $client->setScopes(["https://www.googleapis.com/auth/plus.me", "https://www.googleapis.com/auth/urlshortener", "https://www.googleapis.com/auth/tasks", "https://www.googleapis.com/auth/adsense", "https://www.googleapis.com/auth/youtube", "https://www.googleapis.com/auth/drive"]);
     if ($this->key) {
         $client->setDeveloperKey($this->key);
     }
     list($clientId, $clientSecret) = $this->getClientIdAndSecret();
     $client->setClientId($clientId);
     $client->setClientSecret($clientSecret);
     $client->setCache($this->getCache());
     return $client;
 }
开发者ID:knedle,项目名称:twitter-nette-skeleton,代码行数:25,代码来源:BaseTest.php

示例3: get_client

 /**
  * Returns an instance of Google_Client. Automatically handles set up of the
  * client, including:
  * - authentication using configuration in SiteConfig
  * - caching support via an implementation of the caching interface defined
  *   by the Google API.
  */
 public static function get_client()
 {
     $client = new Google_Client();
     // If we are going through a proxy, set that up
     $proxy = static::get_config('external_proxy');
     if ($proxy) {
         $io = $client->getIo();
         $parts = static::decode_address($proxy, 'http', '80');
         $io->setOptions(array(CURLOPT_PROXY => $parts['Address'], CURLOPT_PROXYPORT => $parts['Port']));
     }
     $client->setClientId(static::get_config('client_id'));
     $client->setApplicationName(static::get_config('application_name'));
     // absolute if starts with '/' otherwise relative to site root
     $keyPathName = static::get_config('private_key_file');
     if (substr($keyPathName, 0, 1) !== '/') {
         $keyPathName = Director::baseFolder() . "/" . $keyPathName;
     }
     $client->setAssertionCredentials(new Google_Auth_AssertionCredentials(static::get_config('service_account'), explode(',', static::get_config('scopes')), file_get_contents($keyPathName)));
     $client->setAccessType('offline_access');
     // Set up custom database cache handler.
     $client->setCache(new GoogleAPICacheHandler());
     return $client;
 }
开发者ID:guttmann,项目名称:silverstripe-googleapi,代码行数:30,代码来源:GoogleAPI.php

示例4: testSettersGetters

 public function testSettersGetters()
 {
     $client = new Google_Client();
     $client->setClientId("client1");
     $client->setClientSecret('client1secret');
     $client->setState('1');
     $client->setApprovalPrompt('force');
     $client->setAccessType('offline');
     $client->setRedirectUri('localhost');
     $client->setConfig('application_name', 'me');
     $client->setCache($this->getMock('Psr\\Cache\\CacheItemPoolInterface'));
     $this->assertEquals('object', gettype($client->getCache()));
     try {
         $client->setAccessToken(null);
         $this->fail('Should have thrown an Exception.');
     } catch (InvalidArgumentException $e) {
         $this->assertEquals('invalid json token', $e->getMessage());
     }
     $token = array('access_token' => 'token');
     $client->setAccessToken($token);
     $this->assertEquals($token, $client->getAccessToken());
 }
开发者ID:jvidor,项目名称:google-api-php-client,代码行数:22,代码来源:ClientTest.php


注:本文中的Google_Client::setCache方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。