网站管理员工具API和PHP

网站管理员工具API和PHP,php,api,google-webmaster-tools,Php,Api,Google Webmaster Tools,我正在为我的网站建立一个小后台,我想在其中显示网站管理员工具的数据,我一辈子都搞不懂这一点 有没有人有过使用PHP的API从网站管理员工具中提取数据的PHP示例,我没有得到文档,并且发现了一个PHP类,它看起来不再工作了,但是已经有一个可以工作的了吗 如果我有一个例子开始,我想我可以找出其余的,我已经在谷歌上搜索了几天,没有任何成功 如果我可以拉一个属于我的帐户的网站列表,那将是一个开始 为了记录在案,我一直在谷歌的文档中挖掘,但我不可能是第一个想这么做的人,所以一定有人让这个工作成功了 有人向

我正在为我的网站建立一个小后台,我想在其中显示网站管理员工具的数据,我一辈子都搞不懂这一点

有没有人有过使用PHP的API从网站管理员工具中提取数据的PHP示例,我没有得到文档,并且发现了一个PHP类,它看起来不再工作了,但是已经有一个可以工作的了吗

如果我有一个例子开始,我想我可以找出其余的,我已经在谷歌上搜索了几天,没有任何成功

如果我可以拉一个属于我的帐户的网站列表,那将是一个开始

为了记录在案,我一直在谷歌的文档中挖掘,但我不可能是第一个想这么做的人,所以一定有人让这个工作成功了

有人向我扔骨头吗


Iain

下面是一个获取站点列表的工作示例。我使用my,这是一个PHP cURL包装器,在使用cURL时隐藏了更精细的细节

<?php

// Set account login info
$data['post'] = array(
  'accountType' => 'HOSTED_OR_GOOGLE',  // indicates a Google account
  'Email'       => '',  // full email address
  'Passwd'      => '',
  'service'     => 'sitemaps', // Name of the Google service
  'source'      => 'codecri.me-example-1.0' // Application's name'
);

// POST request
$response = xhttp::fetch('https://www.google.com/accounts/ClientLogin', $data);

// Extract Auth
preg_match('/Auth=(.+)/', $response['body'], $matches);
$auth = $matches[1];

$data = array();
$data['headers'] = array(
    'Authorization' => 'GoogleLogin auth="'.$auth.'"',
);

// GET request    
$response = xhttp::fetch('https://www.google.com/webmasters/tools/feeds/sites/', $data);

echo $response['body'];

?>

您可以使用该类获取数据:这已经过测试,请帮助您获取数据
顶级页面、顶级查询、爬网错误、内容错误、内容关键字、内部链接、外部链接、社交活动


希望这能对您有所帮助。

假设您的应用程序设置正确,下面是我采用的方法的一个示例:

// Authenticate through OAuth 2.0
$credentials = new Google_Auth_AssertionCredentials(
    '1111111111-somebigemail@developer.gserviceaccount.com',
    [Google_Service_Webmasters::WEBMASTERS_READONLY],
    file_get_contents( 'path-to-your-key.p12' )
);
$client = new Google_Client();
$client->setAssertionCredentials( $credentials );
if ( $client->getAuth()->isAccessTokenExpired() ) {
    $client->getAuth()->refreshTokenWithAssertion();
}
$service = new Google_Service_Webmasters($client);

// Setup our Search Analytics Query object
$search = new Google_Service_Webmasters_SearchAnalyticsQueryRequest;
$search->setStartDate( date( 'Y-m-d', strtotime( '1 month ago' ) ) );
$search->setEndDate( date( 'Y-m-d', strtotime( 'now' ) ) );
$search->setDimensions( array( 'query' ) );
$search->setRowLimit( 50 );

// Pass our Search Analytics Query object as the second param to our searchanalytics query() method
$results = $service->searchanalytics->query( $url, $search, $options )->getRows();

// Build a CSV
if ( ! empty( $results ) ) {
    // Setup our header row
    $csv = "Rank,Query,Clicks,Impressions,CTR,Position\r\n";
    foreach ( $results as $key => $result ) {
        // Columns
        $columns = array(
            $key + 1,
            $result->keys[0],
            $result->clicks,
            $result->impressions,
            round( $result->ctr * 100, 2 ) . '%',
            round( $result->position, 1 ),
        );
        $csv .= '"' . implode( '","', $columns ) . '"' . "\r\n";
    }
    file_put_contents( dirname( __FILE__ ) . '/data.csv' );
}
我刚刚在我的博客上发布了一篇完整的文章,其中有一个示例类,我开始编写,作为网站管理员工具API和分析API的包装器。请随意将此作为参考:


我也在搜索这个。到目前为止,我所发现的是:Zend Gdata其他PHP和API参考。一旦我得到更多信息,我将更新此评论。