/** * 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. $authHeader = NULL; $oAuth2Info = $user->GetOAuth2Info(); $oAuth2Handler = $user->GetOAuth2Handler(); if (!empty($oAuth2Info)) { $oAuth2Info = $oAuth2Handler->GetOrRefreshAccessToken($oAuth2Info); $user->SetOAuth2Info($oAuth2Info); $authHeader = $oAuth2Handler->FormatCredentialsForHeader($oAuth2Info); } else { DeprecationUtils::CheckUsingClientLoginWithUnsupportedVersion($user, AdWordsUser::FINAL_CLIENT_LOGIN_VERSION, $version); $authHeader = sprintf(self::CLIENT_LOGIN_FORMAT, $user->GetAuthToken()); } $headers['Authorization'] = $authHeader; // Developer token. $headers['developerToken'] = $user->GetDeveloperToken(); // Target client. $email = $user->GetEmail(); $clientCustomerId = $user->GetClientCustomerId(); if (isset($clientCustomerId)) { $headers['clientCustomerId'] = $clientCustomerId; } 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'])) { DeprecationUtils::CheckUsingReturnMoneyInMicrosWithUnsupportedVersion(self::FINAL_RETURN_MONEY_IN_MICROS_VERSION, $version); $headers['returnMoneyInMicros'] = $options['returnMoneyInMicros'] ? 'true' : 'false'; } return $headers; }
/** * 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. $authHeader = null; $oAuth2Info = $user->GetOAuth2Info(); $oAuth2Handler = $user->GetOAuth2Handler(); if (!empty($oAuth2Info)) { $oAuth2Info = $oAuth2Handler->GetOrRefreshAccessToken($oAuth2Info); $user->SetOAuth2Info($oAuth2Info); $authHeader = $oAuth2Handler->FormatCredentialsForHeader($oAuth2Info); } else { throw new ServiceException('OAuth 2.0 authentication is required.'); } $headers['Authorization'] = $authHeader; // Developer token. $headers['developerToken'] = $user->GetDeveloperToken(); // Target client. $clientCustomerId = $user->GetClientCustomerId(); if (isset($clientCustomerId)) { $headers['clientCustomerId'] = $clientCustomerId; } else { throw new ReportDownloadException('The client customer ID must be ' . 'specified for report downloads.'); } // Flags. if (isset($options['skipReportHeader'])) { $headers['skipReportHeader'] = $options['skipReportHeader'] ? 'true' : 'false'; } if (isset($options['skipColumnHeader'])) { $headers['skipColumnHeader'] = $options['skipColumnHeader'] ? 'true' : 'false'; } if (isset($options['skipReportSummary'])) { $headers['skipReportSummary'] = $options['skipReportSummary'] ? 'true' : 'false'; } if (isset($options['includeZeroImpressions'])) { $headers['includeZeroImpressions'] = $options['includeZeroImpressions'] ? 'true' : 'false'; } return $headers; }
/** * 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. $authHeader = NULL; $oAuth2Info = $user->GetOAuth2Info(); $oAuth2Handler = $user->GetOAuth2Handler(); if (!empty($oAuth2Info)) { $oAuth2Info = $oAuth2Handler->GetOrRefreshAccessToken($oAuth2Info); $user->SetOAuth2Info($oAuth2Info); $authHeader = $oAuth2Handler->FormatCredentialsForHeader($oAuth2Info); } else { throw new ServiceException('OAuth 2.0 authentication is required.'); } $headers['Authorization'] = $authHeader; // Developer token. $headers['developerToken'] = $user->GetDeveloperToken(); // Target client. $clientCustomerId = $user->GetClientCustomerId(); if (isset($clientCustomerId)) { $headers['clientCustomerId'] = $clientCustomerId; } else { throw new ReportDownloadException('The client customer ID must be ' . 'specified for report downloads.'); } // Flags. if (isset($options['returnMoneyInMicros'])) { DeprecationUtils::CheckUsingReturnMoneyInMicrosWithUnsupportedVersion(self::FINAL_RETURN_MONEY_IN_MICROS_VERSION, $version); $headers['returnMoneyInMicros'] = $options['returnMoneyInMicros'] ? 'true' : 'false'; } return $headers; }
/** * 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; }