Я пытаюсь загрузить офлайн-конверсии в Google Adwords, но у меня возникает ошибка на $uploadResult = $conversionService->mutate($operations)
вызов. Я получаю ошибку RequiredError.REQUIRED @ operations[0].operand.conversionGclid
с идентичной записью для каждой операции, которую я имею в массиве.
Согласно документации, эта ошибка генерируется, когда обязательное поле остается пустым, но я знаю, что это поле не равно нулю, поскольку следующая строка возвращает значение:
foreach($opperations as $opp){
print "Value of opp->gclid : " . $opp->operand->googleClickID . "\n\n";
}
Я собираю информацию, используя запрос, и это мой код для обработки результатов:
if($queryResult->rowCount() > 0){
print "Query returned " . $queryResult->rowCount() . " rows\n\n";
$operations = array();
while($row = $queryResult->fetch(PDO::FETCH_ASSOC)){
$feed = new OfflineConversionFeed();
$feed->conversionName = $conversionName;
$feed->conversionTime = $row['conversion_datetime'];
$feed->googleClickID = $row['gclid'];
$operations[] = new OfflineConversionFeedOperation($feed, 'ADD');
}
foreach($opperations as $opp){
print "Value of opp->gclid : " . $opp->operand->googleClickID . "\n\n";
}
//Following line throws error------------
$uploadResult = $conversionService->mutate($operations);
printf('Upload for %s : %s complete', $user->GetClientCustomerId() , $conversionName);
return;
}
printf('No records for %s found', $user->GetClientCustomerId());
Просматривая найденные образцы Вот а также Вот, это должно работать без каких-либо проблем, но я получаю RequiredError
,
Я думаю, что вы использовали неправильное имя поля. Вы использовали ID в столице.
try this
$ feed = new OfflineConversionFeed ();
$ feed-> googleClickId = $ row [‘gclid’];
instead of:
$ feed-> googleClickID = $ row [‘gclid’];
может быть, это решает проблему ..
Других решений пока нет …