Образцы API Google Analytics API php

Я хочу сделать этот запрос YouTube Analytics с помощью PHP Client Libary

https://www.googleapis.com/youtube/analytics/v1/reports ?ids=channel==CHANNELID &start-date=STARTDATE &end-date=ENDDATE &metrics=views, estimatedMinutesWatched, averageViewDuration, comments, favoritesAdded, favoritesRemoved, likes, dislikes, shares, subscribersGained, subscribersLost &dimensions=7DayTotals &fields=rows &sort=day 

Это возможно? Есть ли какие-либо образцы кода PHP, как получить отчет YouTube Analytics от API?
Не удалось найти его на странице Google Developers. ( Https://developers.google.com/youtube/analytics/v1/code_samples/ )

благодаря

Вы можете добавлять показатели следующим образом, а не каждый раз указывать метрику.

 $metrics = 'views,estimatedMinutesWatched,averageViewDuration,comments,favoritesAdded,favoritesRemoved,likes,dislikes,shares,subscribersGained,subscribersLost'; 

Ваш результат будет указан в документе, как показано в документации. Пример:

 $optparams = array( 'dimensions' => '7DayTotals', 'sort' => 'day', ); $metrics = 'views,estimatedMinutesWatched,averageViewDuration,comments,favoritesAdded,favoritesRemoved,likes,dislikes,shares,subscribersGained,subscribersLost'; $api_response = $metrics; $api = $analytics->reports->query($id, $start_date, $end_date, $metric, $optparams); if (isset($api['rows'])) { //Get values in form of multidimensional arrays. } 

После авторизации и / или обновления токенов, в PHP:

 $analytics = new Google_YouTubeAnalyticsService($client); // $client is your Google_Client object // here we set some params $id = 'channel==CHANNELID' $start_date = 'YYYY-MM-DD'; $end_date = 'YYYY-MM-DD'; $optparams = array( 'dimensions' => '7DayTotals', 'sort' => 'day', ); $metrics = array( 'views', 'estimatedMinutesWatched', 'averageViewDuration', 'comments', 'favoritesAdded', 'favoritesRemoved', 'likes', 'dislikes', 'shares', 'subscribersGained', 'subscribersLost' ); $api_response = $metrics; // You can only get one metric at a time, so we loop foreach ($metrics as $metric) { $api = $analytics->reports->query($id, $start_date, $end_date, $metric, $optparams); if (isset($api['rows'])) $api_response[$metric] = $api['rows'][0][0]; } 

EDIT: сделал так, чтобы, чтобы получить результаты, вы можете откликнуть $ api_response ['metric you want'].

Это собирает ежедневную аналитику за последние 30 дней, а затем вставляет ее в базу данных. Вот код:

 set_include_path(get_include_path() . PATH_SEPARATOR . '/home/google-api-php-client/src'); require_once('Google/autoload.php'); require_once 'Google/Client.php'; require_once 'Google/Service/YouTube.php'; session_start(); $client = new Google_Client(); $client->setClientId($OAUTH2_CLIENT_ID); $client->setClientSecret($OAUTH2_CLIENT_SECRET); $client->setAccessType("offline"); $client->setScopes(array('https://www.googleapis.com/auth/youtube.force-ssl', 'https://www.googleapis.com/auth/youtubepartner-channel-audit', 'https://www.googleapis.com/auth/youtube', 'https://www.googleapis.com/auth/youtube.readonly', 'https://www.googleapis.com/auth/yt-analytics.readonly', 'https://www.googleapis.com/auth/yt-analytics-monetary.readonly','https://www.googleapis.com/auth/youtubepartner')); $client->setDeveloperKey($key); $analytics = new Google_Service_YouTubeAnalytics($client); $ids = 'channel==' . $channel_url . ''; $end_date = date("Ymd"); $start_date = date('Ym-d', strtotime("-30 days")); $optparams = array( 'dimensions' => 'day', ); $metric = 'views'; try{ $api = $analytics->reports->query($ids, $start_date, $end_date, $metric, $optparams); foreach ($api->rows as $r) { $date = $r[0]; $views = $r[1]; $stmt = $db->prepare("INSERT INTO test (date,views,channel_url) VALUES (:date,:views,:channel_url)"); $stmt->execute([':date' => $date, ':views' => $views, ':channel_url' => $channel_url]); } }catch (Google_Service_Exception $e) { echo sprintf('<p>A service error occurred: <code>%s</code></p>', htmlspecialchars($e->getMessage())); }