本文整理汇总了PHP中AdWordsUser::RefreshOAuth2AccessToken方法的典型用法代码示例。如果您正苦于以下问题:PHP AdWordsUser::RefreshOAuth2AccessToken方法的具体用法?PHP AdWordsUser::RefreshOAuth2AccessToken怎么用?PHP AdWordsUser::RefreshOAuth2AccessToken使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AdWordsUser
的用法示例。
在下文中一共展示了AdWordsUser::RefreshOAuth2AccessToken方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: GetHeaders
/**
* Gets the HTTP headers for the report download request.
* @param AdWordsUser $user the AdWordsUser to get credentials from
* @param string $url the URL the request will be made to
* @param array $options the options for the download
* @return array and array of strings, which are header names and values
*/
private static function GetHeaders($user, $url, array $options = NULL)
{
$headers = array();
$version = !empty($options['version']) ? $options['version'] : $user->GetDefaultVersion();
// Authorization.
if ($user->GetOAuthInfo()) {
$oauthParams = $user->GetOAuthHandler()->GetSignedRequestParameters($user->GetOAuthInfo(), $url, 'POST');
$headers['Authorization'] = 'OAuth ' . $user->GetOAuthHandler()->FormatParametersForHeader($oauthParams);
} elseif ($user->GetOAuth2Info()) {
if (!$user->IsOAuth2AccessTokenValid() && $user->CanRefreshOAuth2AccessToken()) {
$user->RefreshOAuth2AccessToken();
}
$oauth2Header = $user->GetOAuth2Handler()->FormatCredentialsForHeader($user->GetOAuth2Info());
$headers['Authorization'] = $oauth2Header;
} else {
$headers['Authorization'] = 'GoogleLogin auth=' . $user->GetAuthToken();
}
// Developer token.
$headers['developerToken'] = $user->GetDeveloperToken();
// Target client.
$email = $user->GetEmail();
$clientId = $user->GetClientId();
if (isset($clientId)) {
if (strpos($clientId, '@') !== FALSE) {
if ($version < 'v201109') {
$headers['clientEmail'] = $clientId;
} else {
throw new ReportDownloadException('Client emails are not supported ' . 'in versions v201109 and later.');
}
} else {
$headers['clientCustomerId'] = $clientId;
}
} else {
if ($version < 'v201109' && isset($email)) {
$headers['clientEmail'] = $email;
} else {
throw new ReportDownloadException('The client customer ID must be ' . 'specified for report downloads.');
}
}
// Flags.
if (isset($options['returnMoneyInMicros'])) {
$headers['returnMoneyInMicros'] = $options['returnMoneyInMicros'] ? 'true' : 'false';
}
return $headers;
}