假设您拥有所有凭据和令牌。如果您没有它们,您将收到(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
考虑一下,您想要页面 (dimensions=page) 给定日期(开始日期、结束日期)并过滤给定搜索查询的结果。要创建过滤器,您需要将维度设置为查询,将运算符设置为等于,将表达式设置为关键字。
API Explorer 中的此请求如下所示:
因此,获取 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 更简单、更清晰。