Загрузить данные из API инструментов Google для веб-мастеров

Может ли кто-нибудь предоставить пример или ссылку о том, как экспортировать TOP_QUERIES из Google Инструменты для веб-мастеров API?

В репозитории нет примеров, и, кажется, нигде нет доступных учебников / примеров.

https://github.com/google/google-api-php-client

Этот код подключается к Инструментам для веб-мастеров. Как загрузить TOP_QUERIES из определенного интервала дат?

require_once 'googleapi/autoload.php';

try{
$credentials = new Google_Auth_AssertionCredentials(
'262251945544-20r941rab6leiuo21ph7ielemtrcsmai@developer.gserviceaccount.com',
[Google_Service_Webmasters::WEBMASTERS_READONLY],
file_get_contents('9f21d103bb56.p12')
);

$client = new Google_Client();
$client->setAssertionCredentials($credentials);
if($client->getAuth()->isAccessTokenExpired()){
$client->getAuth()->refreshTokenWithAssertion();
}

$service = new Google_Service_Webmasters($client);
$t = $service->sites->get('https://example.com/');
print_r($t);
}
catch(Google_Exception $e){
echo $e->getMessage();
}
catch(Google_Service_Exception $e){
echo $e->getMessage();
}

2

Решение

Error calling GET
https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fexample.com%2F: (404)
'https://example.com/'

не является подтвержденным сайтом Инструментов для веб-мастеров в этом аккаунте.

Сайт не начинается с http://начинается с www.example.com или же example.com, Никаких косых черт тоже нет.

$t = $service->sites->get('example.com');

https://api.kdyby.org/class-Google_Service_Webmasters_SitesListResponse.html

Попробуйте эти фрагменты:

<?php
$sites = $service->sites->listSites();
print_r(json_encode($sites->toSimpleObject());

или же

<?php
$sites = $service->sites->listSites();
foreach ($sites as $site) {
print_r($site);
}
0

Другие решения

Если вы правильно настроили приложение, вот пример подхода, который я выбрал:

// Authenticate through OAuth 2.0
$credentials = new Google_Auth_AssertionCredentials(
'[email protected]',
[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-интерфейса аналитики. Не стесняйтесь использовать это как ссылку:

http://robido.com/php/a-google-webmaster-tools-api-php-example-using-search-analytics-api-to-download-search-analytics-data-as-csv-with-the- новый-OAuth-2-0-метод /

0

После этой строки

    $service = new Google_Service_Webmasters($client);

Добавь это

$searchanalytics = $webmastersService->searchanalytics;
$request = new \Google_Service_Webmasters_SearchAnalyticsQueryRequest();
$request->setStartDate('2016-03-01'); // startdate required
$request->setEndDate('2016-03-31');  // Enddate required
$dimensions[] = 'query';
$request->setDimensions($dimensions);

Чем заменить эту строку

$results = $service->searchanalytics->query( $url, $search, $options )->getRows();

от

$results = $searchanalytics->query('site_URL', $request);

для нас это работа ….. 🙂

0
По вопросам рекламы [email protected]