查询站长工具的维度api
Dimensions of query webmasters tools api
特别是亚历克斯 :)
我想知道是否有人有 PHP 代码来从网站管理员工具 api 获取查询的详细信息。
我已经有了查询维度,但我不知道如何使用 PHP 代码来实现它。
$webmastersService = new Google_Service_Webmasters($client);
$searchanalytics = $webmastersService->searchanalytics;
$request = new Google_Service_Webmasters_SearchAnalyticsQueryRequest;
假设您拥有所有凭据和令牌。如果没有它们,您将收到 (401) Login Required
错误。
发出请求,您可以通过 setter 方法设置 startDate, endDate, searchType, rowLimit
,如下所示:
$query->setStartDate('2015-11-10');
但有些方法需要像 setDimensions
这样的数组:
$query->setDimensions(array('page'));
为了使事情更复杂 setDimensionFilterGroups
方法需要 Google_Service_Webmasters_ApiDimensionFilterGroup
数组。每个 Google_Service_Webmasters_ApiDimensionFilterGroup
实例都需要通过 setFilters
方法使用 Google_Service_Webmasters_ApiDimensionFilter
.
数组设置过滤器
对于 Google_Service_Webmasters_ApiDimensionFilter
,您可以通过 setDimension, setOperator, setExpression
方法设置维度、运算符和表达式。
有关这些类型的更多信息,类 和方法请参阅 https://github.com/google/google-api-php-client/blob/master/src/Google/Service/Webmasters.php
考虑一下,您想要给定日期(开始日期、结束日期)的页面(维度=页面)并过滤给定搜索查询的结果。要创建过滤器,您需要将维度设置为查询,将运算符设置为等于,将表达式设置为关键字。
API Explorer 中的这个请求看起来像:
因此,获取 2015 年 11 月 10 日显示的 example.com 网站的所有页面以回复 "weird things" 搜索查询的代码如下:
$query = new Google_Service_Webmasters_SearchAnalyticsQueryRequest();
$query->setDimensions(array('page'));
$query->setStartDate('2015-11-10');
$query->setEndDate('2015-11-10');
$filter = new Google_Service_Webmasters_ApiDimensionFilter();
$filter->setDimension('query');
$filter->setOperator('equals');
$filter->setExpression('weird things');
$filtergroup = new Google_Service_Webmasters_ApiDimensionFilterGroup();
$filtergroup->setFilters(array($filter));
$query->setDimensionFilterGroups(array($filtergroup));
$response = $service->searchanalytics->query('http://example.com/', $query);
这是简化的演示代码。可能有一些错误。
我想指出,Python API 更容易和更清晰。
特别是亚历克斯 :)
我想知道是否有人有 PHP 代码来从网站管理员工具 api 获取查询的详细信息。
我已经有了查询维度,但我不知道如何使用 PHP 代码来实现它。
$webmastersService = new Google_Service_Webmasters($client);
$searchanalytics = $webmastersService->searchanalytics;
$request = new Google_Service_Webmasters_SearchAnalyticsQueryRequest;
假设您拥有所有凭据和令牌。如果没有它们,您将收到 (401) Login Required
错误。
发出请求,您可以通过 setter 方法设置 startDate, endDate, searchType, rowLimit
,如下所示:
$query->setStartDate('2015-11-10');
但有些方法需要像 setDimensions
这样的数组:
$query->setDimensions(array('page'));
为了使事情更复杂 setDimensionFilterGroups
方法需要 Google_Service_Webmasters_ApiDimensionFilterGroup
数组。每个 Google_Service_Webmasters_ApiDimensionFilterGroup
实例都需要通过 setFilters
方法使用 Google_Service_Webmasters_ApiDimensionFilter
.
对于 Google_Service_Webmasters_ApiDimensionFilter
,您可以通过 setDimension, setOperator, setExpression
方法设置维度、运算符和表达式。
有关这些类型的更多信息,类 和方法请参阅 https://github.com/google/google-api-php-client/blob/master/src/Google/Service/Webmasters.php
考虑一下,您想要给定日期(开始日期、结束日期)的页面(维度=页面)并过滤给定搜索查询的结果。要创建过滤器,您需要将维度设置为查询,将运算符设置为等于,将表达式设置为关键字。
API Explorer 中的这个请求看起来像:
因此,获取 2015 年 11 月 10 日显示的 example.com 网站的所有页面以回复 "weird things" 搜索查询的代码如下:
$query = new Google_Service_Webmasters_SearchAnalyticsQueryRequest();
$query->setDimensions(array('page'));
$query->setStartDate('2015-11-10');
$query->setEndDate('2015-11-10');
$filter = new Google_Service_Webmasters_ApiDimensionFilter();
$filter->setDimension('query');
$filter->setOperator('equals');
$filter->setExpression('weird things');
$filtergroup = new Google_Service_Webmasters_ApiDimensionFilterGroup();
$filtergroup->setFilters(array($filter));
$query->setDimensionFilterGroups(array($filtergroup));
$response = $service->searchanalytics->query('http://example.com/', $query);
这是简化的演示代码。可能有一些错误。
我想指出,Python API 更容易和更清晰。