如何使用谷歌搜索控制台api获得我的网站的平均位置?

时间:2016-05-10 11:00:00

标签: php google-api

我的网站已连接到Google搜索控制台API。 我想提一个返回谷歌网站平均位置的查询。 可能吗?我想获得包含所有关键字的平均值? 有没有人知道这个问题? 服务器端是用php编写的。 我可以查询返回我的网站位置,但只能通过我需要选择的特定关键字。  例如:

$query = new Google_Service_Webmasters_SearchAnalyticsQueryRequest();
    $query->setSearchType('web');
    $query->setDimensions(array('query', 'country', 'device'));
    $query->setStartDate($StartDate);
    $query->setEndDate($EndDate);

    $filterDevice = new Google_Service_Webmasters_ApiDimensionFilter();
    $filterDevice->setDimension('device');
    $filterDevice->setOperator('equals');
    $filterDevice->setExpression('DESKTOP');

    $filterCountry = new Google_Service_Webmasters_ApiDimensionFilter();
    $filterCountry->setDimension('country');
    $filterCountry->setOperator('equals');
    $filterCountry->setExpression('fr');

    *******THIS IS FOR A SPECIFIC KEY WORD! ********

    $filterQuery = new Google_Service_Webmasters_ApiDimensionFilter();
    $filterQuery->setDimension('query');
    $filterQuery->setOperator('equals');
    $filterQuery->setExpression($keyWord);

    ************************************************

    $filtergroup = new Google_Service_Webmasters_ApiDimensionFilterGroup();
    $filtergroup->setGroupType('and');
    //$filtergroup->setFilters(array($filterDevice,$filterCountry,$filterQuery));
    $filtergroup->setFilters(array($filterDevice,$filterCountry));
    $query->setDimensionFilterGroups(array($filtergroup));

    $response = $webmaster->searchanalytics->query($clientSite,$query);

如果我不发送任何关键字(查询),则回复是很多关键字和每个关键字的位置,如图所示

{
"0": {
    "clicks": 3164,
    "ctr": 0.373686075351,
    "impressions": 8467,
    "keys": {
        "0": "KEYWORD_EXAMPLE",
        "1": "fr",
        "2": "DESKTOP"
    },
    "position": 1.00035431676
},
"1": {
    "clicks": 267,
    "ctr": 0.765042979943,
    "impressions": 349,
    "keys": {
        "0": "KEYWORD_EXAMPLE",
        "1": "fr",
        "2": "DESKTOP"
    },
    "position": 1.03438395415
},
"2": {
    "clicks": 204,
    "ctr": 0.0491684743312,
    "impressions": 4149,
    "keys": {
        "0": "KEYWORD_EXAMPLE",
        "1": "fr",
        "2": "DESKTOP"
    },
    "position": 6.57869366112
},
"3": {
    "clicks": 135,
    "ctr": 0.308924485126,
    "impressions": 437,
    "keys": {
        "0": "KEYWORD_EXAMPLE",
        "1": "fr",
        "2": "DESKTOP"
    },
    "position": 1
},

TNX !!! :)

1 个答案:

答案 0 :(得分:1)

我弄清楚了......有些$filters做到了。如果您将发送一个没有过滤器的查询,它将工作。 例如:

$query = new Google_Service_Webmasters_SearchAnalyticsQueryRequest();
    $query->setSearchType('web');
    $query->setStartDate($StartDate);
    $query->setEndDate($EndDate);

    $filtergroup = new Google_Service_Webmasters_ApiDimensionFilterGroup();
    $filtergroup->setGroupType('and');
    //***REDUCE THIS LINE! -> $filtergroup->setFilters(array($filterDevice));***//
    $query->setDimensionFilterGroups(array($filtergroup));

    $response = $webmaster->searchanalytics->query($clientSite,$query);

结果是:

"0": {
    "clicks": 14635,
    "ctr": 0.0629018670701,
    "impressions": 232664,
    "keys": null,
    "position": 15.502961352
}

我知道这是我的正确位置,因为您可以在Google网站的信息中心上看到它。 (搜索控制台GUI)。