Установить проблему фильтра с помощью сервиса для веб-мастеров - Google API PHP V3
В настоящее время я работаю с API инструментов для веб-мастеров V3 для получения запросов из консоли поиска. Мой скрипт работает отлично: логин работает, и когда я запрашиваю запросы, результат правильный. Но теперь мне нужно установить фильтры для получения запросов только с планшетных устройств. Как я могу это сделать? Мой код:
$request = new Google_Service_Webmasters_SearchAnalyticsQueryRequest;
$request->setStartDate('2015-06-03');
$request->setEndDate('2015-06-09');
$request->setDimensions(array('query'));
$request->setRowLimit("5");
$filter = new Google_Service_Webmasters_ApiDimensionFilter;
$filter->setDimension("device");
$filter->setOperator("equals");
$filter->setExpression("tablet");
$filters = new Google_Service_Webmasters_ApiDimensionFilterGroup;
$filters->setFilters($filter);
$request->setDimensionFilterGroups($filters);
$request->setSearchType("web");
$qsearch = $searchanalytics->query("http://www.****.**", $request);
Я попытался создать 2 объекта (Google_Service_Webmasters_ApiDimensionFilter и Google_Service_Webmasters_ApiDimensionFilterGroup) и использовал их для передачи параметров фильтра. Но когда я печатаю $qsearch, результат был равен запросам без фильтра. Я не знаю, если это правильный путь, потому что нет конкретной ссылки.
Я также использовал API Explorer для просмотра параметров, но с его помощью результаты и параметры верны.
Любая идея?
Спасибо
2 ответа
Насколько я вижу, вам нужно добавить массив к аргументам для пары настроенных параметров. У меня отлично работает.
$filters->setFilters(array($filter));
$request->setDimensionFilterGroups(array($filters));
У нас та же проблема с поисковой фильтрацией. Также установка фильтров и групп как массивов не помогает.
Сначала мы подумали, что это может быть ошибка json_decode, но даже после отслеживания postBody до момента его отправки (с ядром, взломавшим его на фиксированное действительное значение), результат по-прежнему будет полным набором результатов.
Мы даже сравнили json postBody с тем, что было создано "ПОПРОБУЙТЕ!" функция. Это просто то же самое, но результат совсем другой.
Кто-нибудь подозревает ошибку здесь?!