查询站长工具的维度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 更容易和更清晰。