То, что я пытаюсь сделать в настоящее время, - это получение статистики кампании, такой как клики, показы, CTR, средняя цена за клик и т.д. Для конкретной кампании. К сожалению, я не могу найти, как это сделать с помощью API AdWords.
То, что я нашел до сих пор,
CampaignService
нам удалось получить статистику, сделав что-то вроде $campaign->campaignStats
. К несчастью, я использую V201506
и в нем нет объекта/переменной campaignStats
.Если бы кто-нибудь мог мне помочь, я бы очень признателен. Вид застрял здесь в течение нескольких часов, просмотрел всю документацию API AdWords, но не мог понять, что было бы лучшим и легким подходом к этому.
Теперь Adwords API
позволяет только статистику. А статистику можно получить, используя два метода.
1) Используя службу отчетности, описанную здесь
2) Вы можете использовать язык запросов Adwords. Видеть это
я не знаю, если вам все еще нужно это, но API V201806 я нашел решение. В этой версии API существует функция getAsString(), которая возвращает данные в String и не загружает файл, я запрашиваю данные в формате XML и в PHP преобразуют ответ в XML-объект.
Это код, который я использовал:
class DownloadCriteriaReportWithAwql {
public static function runExample(AdWordsSession $session, $reportFormat){
// Create report query to get the data for last 7 days.
$query = (new ReportQueryBuilder())
->select([
'CampaignId',
'AdGroupId',
'Id',
'Criteria',
'CriteriaType',
'Impressions',
'Clicks',
'Cost',
'Conversions'
])
->from(ReportDefinitionReportType::CRITERIA_PERFORMANCE_REPORT)
->where('Status')->in(['ENABLED'])
->duringDateRange(ReportDefinitionDateRangeType::LAST_7_DAYS)
->build();
// Download report as a string.
$reportDownloader = new ReportDownloader($session);
// Optional: If you need to adjust report settings just for this one
// request, you can create and supply the settings override here.
// Otherwise, default values from the configuration
// file (adsapi_php.ini) are used.
$reportSettingsOverride = (new ReportSettingsBuilder())->includeZeroImpressions(false)->build();
$reportDownloadResult = $reportDownloader->downloadReportWithAwql(
sprintf('%s', $query),
$reportFormat,
$reportSettingsOverride
);
//print "Report was downloaded and printed below:\n";
$datos = $reportDownloadResult->getAsString();
return ($datos);
}
public static function main(){
// Generate a refreshable OAuth2 credential for authentication.
$oAuth2Credential = (new OAuth2TokenBuilder())->fromFile()->build();
// See: AdWordsSessionBuilder for setting a client customer ID that is
// different from that specified in your adsapi_php.ini file.
// Construct an API session configured from a properties file and the
// OAuth2 credentials above.
$session = (new AdWordsSessionBuilder())
->fromFile()
->withOAuth2Credential($oAuth2Credential)
->build();
$string = self::runExample($session, DownloadFormat::XML);
$xml = new \SimpleXMLElement($string);
return $xml;}}