后端后端的人,
使用TargetingIdeaService时出现一个奇怪的问题。 我正在使用为php提供的普通模板,它可以正常工作。问题是有时(可能是1/10)调用会导致我的脚本崩溃。 我在调用的Google脚本中仅收到500个代码,并且在彻底记录之后,我发现它在行上崩溃了
$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=
答案 0 :(得分:0)
Adwords API始终会引发服务器错误。与TargetingIdeaService相关的是listed here。
您列出的日志条目在这方面有点奇怪,因为它似乎是成功的请求-请注意,isFault
属性为零,没有faultMessage
。通常,您应该可以通过调查该字段来查看问题所在。
只要不是persistent error such as an invalid OAuth2 access token,处理这些错误的推荐方法是使用指数退避策略重试请求。
根据个人经验,我们可能每两千次操作就会获得UNEXPECTED_INTERNAL_API_ERROR
,并且在几乎所有情况下,重新提交请求后,请求都会成功。