2015-11-26 86 views
0

專門亞歷克斯:)尺寸查詢網站管理員工具API

我想知道,如果任何機構有一個PHP代碼從網站管理員工具API查詢的詳細信息。

我已經有了查詢維度,但是我不知道如何使用PHP代碼來創建它。

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

回答

1

假設您擁有所有憑證和令牌。如果你沒有他們,你會得到(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瀏覽器這個請求看起來像:

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

+0

感謝@alex,這對你有很大的幫助,非常感謝。 –

+0

我還有一個關於爬行統計的問題,我會用explinations提出一個新的問題,再次感謝@alex –

+0

這裏是另一個問題,非常感謝你[鏈接](http://stackoverflow.com/questions/33957888 /如何對獲得抓取,統計從 - 站長工具,API) –