Вызов TargetingIdeaService аварийно завершает работу - PullRequest
0 голосов
/ 26 сентября 2018

Товарищи-бэкэнды,

У меня возникла любопытная проблема с использованием TargetingIdeaService.Я использую обычный шаблон, который предоставляется для php, и он работает.Проблема в том, что иногда (возможно 1/10) вызовы заканчиваются сбоем моего скрипта.Я только получаю код 500 в вызывающем скрипте Google и после тщательного входа в систему я вижу, что он вылетает на линии

$page = $targetingService->get($selector);

Итак, это все время с одними и теми же аргументами, что иногда он заканчивается только начерная дыра.Там нет исключений, просто молчание.Кто-нибудь испытывал что-то подобное?

Служебный объект и селектор определены следующим образом:

// create and setup service
$adWordsServices = new AdWordsServices();
$targetingService = $adWordsServices->get($session, TargetingIdeaService::class);
...
$selector->setIdeaType('KEYWORD');
$selector->setRequestType('STATS');
$selector->setRequestedAttributeTypes(array('KEYWORD_TEXT', 'SEARCH_VOLUME'));

Что касается журналов, то мне не нужно много показывать.запрос на мыло выглядит обычно так:

[2018-09-26 15:32:35] AW_SOAP.INFO: clientCustomerId=574-260-3578 operations=1 service=TargetingIdeaService method=get responseTime=149 requestId=000576c6414f81880a56e5054f00160b server=adwords.google.com isFault=0 faultMessage=  

1 Ответ

0 голосов
/ 27 сентября 2018

Adwords API постоянно выдает ошибки сервера.Те, которые относятся к TargetingIdeaService, перечислены здесь .

Запись в журнале, которую вы перечислили, немного странна в этом отношении, так как кажется, что она относится к успешному запросу - обратите внимание, что атрибут isFault равен нулю, а faultMessage нет.Обычно вы должны увидеть, в чем проблема, исследуя это поле.

Пока это не постоянная ошибка , такая как недопустимый токен доступа OAuth2 , рекомендуемый способ устраненияэти ошибки - повторная попытка запроса с использованием экспоненциальной стратегии отката.

Исходя из личного опыта, мы получаем UNEXPECTED_INTERNAL_API_ERROR, возможно, раз в пару тысяч операций, и почти во всех случаях запрос успешно выполняется после повторной отправки его..

...