serg_small_developer
@serg_small_developer
Начинающий прогер

Как включить фильтр в Google Search Console APIs?

Задавал вопрос тут, но так как он уже далеко внизу то обновлю его, так как нужно быстрее решить проблему,
Переделал скрипт и теперь код выглядит вот так
require_once __DIR__ . '/vendor/autoload.php';
      function initializeWebmasters(){
       $KEY_FILE_LOCATION = __DIR__ . '/файл сервисного аккаунта.json';
        $client = new Google_Client();
        $client->setApplicationName("Google Webmasters Hello");
        $client->setAuthConfig($KEY_FILE_LOCATION);
        $client->setScopes(['https://www.googleapis.com/auth/webmasters.readonly']);
       return $client; 
      }
      $webmasters = new Google_Service_Webmasters(initializeWebmasters());
        
        $query = ['запрос'];
$searchTypes = ['web'];
$dataType = ['query'];

$enddate = date("Y-m-d",time()-(3*(24*60*60)));
$startdate = date("Y-m-d",time()-(3*(24*60*60)));

$ar_fil_dimqq = new Google_Service_Webmasters_ApiDimensionFilter();
$ar_fil_dimqq -> setDimension("query");
$ar_fil_dimqq -> setExpression($query);

$ar_fil_q = new Google_Service_Webmasters_ApiDimensionFilterGroup();
$ar_fil_q -> setFilters( $ar_fil_dimqq );

$webmasters1 = new Google_Service_Webmasters_SearchAnalyticsQueryRequest();
$webmasters1->setStartDate($startdate);
$webmasters1->setEndDate($enddate);
$webmasters1->setSearchType($searchTypes);
$webmasters1->setDimensions($dataType);
$webmasters1->setDimensionFilterGroups($ar_fil_q);

$siteUrl = 'сайт';

$result = $webmasters->searchanalytics->query($siteUrl, $webmasters1) ;


Хочу сделать вывод по фильтрам из переменной $query, но оно не видит фильтр и выводит полный список запросов как в консоли, помогите пожалуйста доделать скрипт)
  • Вопрос задан
  • 355 просмотров
Решения вопроса 1
AloneCoder
@AloneCoder
[object Object]
Если я правильно понял что вы хотите получить в итоге
$service = new Google_Service_Webmasters($client);
$filters = new Google_Service_Webmasters_SearchAnalyticsQueryRequest();
$filters->setStartDate($dtStart);
$filters->setEndDate($dtEnd);
$filters->dimensions = ['query', 'device'];

$filter = new Google_Service_Webmasters_ApiDimensionFilter();
$filter->setDimension('query');
$filter->setOperator('equals');
$filter->setExpression($query);

$filterGroup = new Google_Service_Webmasters_ApiDimensionFilterGroup();
$filterGroup->setFilters([$filter]);
$filters->setDimensionFilterGroups([$filterGroup]);

$response = $service->searchanalytics->query($host, $filters);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
serg_small_developer
@serg_small_developer Автор вопроса
Начинающий прогер
Вот рабочий пример
require_once __DIR__ . '/vendor/autoload.php';

			function initializeWebmasters(){
			 $KEY_FILE_LOCATION = __DIR__ . '/service-account.json';
			  $client = new Google_Client();
			  $client->setApplicationName("Google Webmasters Hello");
			  $client->setAuthConfig($KEY_FILE_LOCATION);
			  $client->setScopes(['https://www.googleapis.com/auth/webmasters.readonly']);
			 return $client;
			}
			$webmasters = new Google_Service_Webmasters(initializeWebmasters());
				
			$query = ['запрос'];
			$searchTypes = ['web'];
			$dataType = ['query','device'];

				$enddate = date("Y-m-d",time()-(3*(24*60*60)));
				$startdate = date("Y-m-d",time()-(3*(24*60*60)));
				
				$filter = new Google_Service_Webmasters_ApiDimensionFilter();
				$filter->setDimension('query');
				$filter->setOperator('equals');
				$filter->setExpression($query);
				
				$ar_fil_q = new Google_Service_Webmasters_ApiDimensionFilterGroup();
				$ar_fil_q -> setFilters( [$filter] );
				
				$webmasters1 = new Google_Service_Webmasters_SearchAnalyticsQueryRequest();
				$webmasters1->setStartDate($startdate);
				$webmasters1->setEndDate($enddate);
				$webmasters1->setSearchType($searchTypes);
				$webmasters1->setDimensions($dataType);
				$webmasters1->setDimensionFilterGroups( [$ar_fil_q] );
				
				$siteUrl = 'сайт';
				
				$result = $webmasters->searchanalytics->query($siteUrl, $webmasters1) ;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы