查询网站管理员工具api的维度

时间:2015-11-26 12:46:00

标签: google-api-webmasters

特别是Alex:)

我想知道是否有任何正文有PHP代码来从网站管理员工具api获取查询的详细信息。

我已经有了查询维度,但我不知道如何使用PHP代码来实现它。

$webmastersService = new Google_Service_Webmasters($client);
$searchanalytics = $webmastersService->searchanalytics;
$request = new Google_Service_Webmasters_SearchAnalyticsQueryRequest;

1 个答案:

答案 0 :(得分:2)

假设您拥有所有凭据和令牌。如果您没有,则会出现(401) Login Required错误。

发出请求您可以通过以下设置方法设置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

考虑一下,您希望页面(维度=页面)给定日期(开始日期,结束日期)并过滤给定搜索查询的结果。要创建过滤器,您需要将维度设置为查询,将operator设置为equals,并将表达式设置为关键字。

API Explorer中的此请求如下所示:

enter image description here

因此,获取2015-11-10所显示的example.com网站的所有页面以回复“奇怪的事情”搜索查询的代码如下:

    $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更容易,更清晰。