本文整理汇总了PHP中apiClient::setAssertionCredentials方法的典型用法代码示例。如果您正苦于以下问题:PHP apiClient::setAssertionCredentials方法的具体用法?PHP apiClient::setAssertionCredentials怎么用?PHP apiClient::setAssertionCredentials使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类apiClient
的用法示例。
在下文中一共展示了apiClient::setAssertionCredentials方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getServiceClient
public static function getServiceClient()
{
if (!self::isServiceConfigured()) {
return false;
}
$config = self::getConfig();
$client = new apiClient(array("ioFileCache_directory" => PIMCORE_CACHE_DIRECTORY));
$client->setApplicationName("pimcore CMF");
$key = file_get_contents(self::getPrivateKeyPath());
$client->setAssertionCredentials(new apiAssertionCredentials($config->email, array('https://www.googleapis.com/auth/analytics.readonly', "https://www.google.com/webmasters/tools/feeds/"), $key));
$client->setClientId($config->client_id);
// token cache
$tokenFile = PIMCORE_SYSTEM_TEMP_DIRECTORY . "/google-api.token";
if (file_exists($tokenFile)) {
$tokenData = file_get_contents($tokenFile);
$tokenInfo = Zend_Json::decode($tokenData);
if ($tokenInfo["created"] + $tokenInfo["expires_in"] > time() - 900) {
$token = $tokenData;
}
}
if (!$token) {
$client->getAuth()->refreshTokenWithAssertion();
$token = $client->getAuth()->getAccessToken();
file_put_contents($tokenFile, $token);
}
$client->setAccessToken($token);
return $client;
}