public function tryToGetAnAccessToken(Google_Client $client) { $this->checkClientCredentials(); $client->setRedirectUri("urn:ietf:wg:oauth:2.0:oob"); $client->setConfig('access_type', 'offline'); $authUrl = $client->createAuthUrl(); echo "\nPlease enter the auth code:\n"; ob_flush(); `open '{$authUrl}'`; $authCode = trim(fgets(STDIN)); if ($accessToken = $client->fetchAccessTokenWithAuthCode($authCode)) { if (isset($accessToken['access_token'])) { return $accessToken; } } return false; }
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()); }