YouTube API Key (Получение + Пример)
API YouTube — это интерфейс, который позволяет встраивать видео, создавать списки воспроизведения и предлагать другие функции YouTube на вашем веб-сайте. Это помогает компаниям предлагать расширенные функции обмена видео на своем веб-сайте или в приложении без необходимости писать код с нуля.
Содержание:
Как и другие API (интерфейсы программирования приложений), API YouTube упрощает работу программиста, пропуская рутинную работу по написанию каждой строки кода каждый раз, когда пользователям требуется доступ к данным. Вместо этого программисты могут использовать предопределенные функции и протоколы для подбора видео YouTube на веб-сайте.
Кроме того, API YouTube имеет широкий набор функций, которые делают его доступным для разработчиков и ценным для бизнеса. Это позволяет вам извлекать данные в массовом масштабе без необходимости доступа к отдельным видео и каналам.
Так какие данные вы можете использовать с помощью YouTube API? Давайте взглянем.
Данные API YouTube
API YouTube предоставляет вам доступ к данным YouTube более полным и масштабируемым способом, чем отдельные коды для встраивания YouTube. Вы можете получать целые плейлисты, загрузки пользователей и даже результаты поиска с помощью API YouTube. Вы также можете добавить функции YouTube на свой веб-сайт, чтобы пользователи могли загружать видео и управлять подпиской на канал прямо с вашего веб-сайта или приложения.
Давайте рассмотрим некоторые из наиболее популярных функций API. Это не весь список; рекомендую ознакомиться с официальной документацией Google.
Цель использования API | Пример HTTP-запроса | Действие на вашем сайте или приложении |
---|---|---|
Поиск YouTube | GET / search | Извлечение ряда результатов поиска на основе заданного вами запроса |
Плейлисты YouTube | DELETE / playlists | Удаление плейлиста |
Видео YouTube | GET / videos | Получение информации о нужном(-ых) видео на YouTube с вашего веб-сайта или приложения |
Комментарии YouTube | POST / comments | Позволяет пометить один или несколько комментариев как спам |
Каналы YouTube | GET / channels | Извлечение видео или плейлистов канала (или любой другой ресурс, например комментарии) |
Подписки YouTube | POST / subscriptions | Добавление подписчика на канал |
Подписчики YouTube Канала | GET / members | Получение списка участников канала, который дал вам разрешение |
Разделы YouTube | POST / channelSections | Позволяет добавить раздел рекомендуемых видео |
Водяные знаки YouTube | POST / watermarks / unset | Позволяет удалить изображение водяного знака, связанное с каналом |
Как получить API-ключ YouTube
Чтобы получить API YouTube:
- Войдите в консоль разработчиков Google.
- Создайте новый проект.
- На панели инструментов нового проекта нажмите Explore & Enable APIs.
В библиотеке перейдите к YouTube Data API v3 в разделе YouTube API. - Включите API.
- Создайте учетную запись.
- Появится экран с ключом API.
1. Вход в консоль разработчиков Google
Вы можете войти в Google Cloud Platform, используя свою учетную запись Google.
Если у вас её еще нет, вам нужно создать учётную запись.
2. Создание нового проекта
Как только вы войдете в систему, вы автоматически попадете на пустую панель инструментов. В правом верхнем углу нажмите Create Project.

Вы попадете на экран, где вы можете добавить название проекта, выбрать свою организацию и выбрать местоположение (URL).
Вы можете создать проект без организации. Если у вас нет организации, вам не будет предложено выбрать местоположение.

После создания проекта всё, что вы сделаете с этого момента, включая создание ключа API, будет применяться к этому конкретному проекту. Если у вас одновременно запущено несколько проектов, убедитесь, что выбран правильный, дважды проверив, что проект указан на верхней панели навигации.
3. YouTube Data API v3
После создания проекта можно добавлять любую необходимую API библиотеку.

Для этого нажмите сверху ENABLE APIS AND SERVICES или в левом меню (сайдбаре) нажмите Library.
Выполните поиск, введя YouTube Data API v3.

Выберите его и нажмите Enable для активации.

4. Создание учетной записи
После нажатия кнопки Enable вы попадете на страницу обзора данного API.

На данной странице вы можете отслеживать запросы, квоту, а также добавить учетные данные
Создать учётные данные можно во вкладке Credentials на данной странице (или такую же ссылку в сайдбаре).

Вверху нажмите Create credentials » API key. Ключ API создан.

Для настройки API ключа для данной учетной записи нажмите на имя вашего ключа API.
На данном экране можно задать название ключу, скопировать его, задать ограничения для API.
В разделе API restrictions выберите YouTube Data API v3 и нажмите Save.

Таким образом мы активировали для данной учетной записи необходимый нам API.
Пример использования YouTube API
Например, необходимо получить данные о конкретном YouTube видео.
Значит мы будем использовать тип ресурса Videos метод list — подробнее.
Создадим функцию для получения данных о конкретном видео YouTube по его ссылке.
function getYoutubeVideoInfo($video_url)
{
// Преобразование ссылки в id YouTube
// Получение данных при помощи YouTube API
// Преобразование длительности YouTube в часы:минуты:секунды
}
Преобразуем обычную ссылку на ролик YouTube в id.
$pattern = '#^(?:https?://)?(?:www\.)?(?:youtu\.be/|youtube\.com(?:/embed/|/v/|/watch\?v=|/watch\?.+&v=))([\w-]{11})(?:.+)?$#x';
preg_match($pattern, $video_url, $matches);
$video_id = (isset($matches[1])) ? $matches[1] : false;
Теперь нужно воспользоваться полученным ранее ключом API и получить необходимую информацию о видео.
$api_key = "AIzaSyAwGUSLR-S7iSRFO6JDZwlEskC_5M6zeys";
$url = "https://www.googleapis.com/youtube/v3/videos?id=" . $video_id . "&key=" . $api_key . "&part=snippet,contentDetails,status";
$getData = json_decode(file_get_contents($url), true);
foreach ((array)$getData['items'] as $key => $data) {
$video_duration = $data['contentDetails']['duration']; // Длительность ролика
// Превью видео
if (array_key_exists('maxres', $data['snippet']['thumbnails'])) {
$video_poster = $data['snippet']['thumbnails']['maxres']['url'];
} else if (array_key_exists('standard', $data['snippet']['thumbnails'])) {
$video_poster = $data['snippet']['thumbnails']['standard']['url'];
} else {
$video_poster = $data['snippet']['thumbnails']['high']['url'];
}
}
Теперь нам необходимо преобразовать полученную длительностью видео YouTube в нужный нам вид. По умолчанию данные приходят в формате PT3M21S.
$start = new DateTime('@0'); // Unix epoch
$start->add(new DateInterval($video_duration));
$video_duration_seconds = $start->format('H:i:s');
return array($video_duration_seconds, $video_poster);
Итоговый код:
function getYoutubeVideoInfo($video_url)
{
// Преобразование ссылки в id YouTube
$pattern = '#^(?:https?://)?(?:www\.)?(?:youtu\.be/|youtube\.com(?:/embed/|/v/|/watch\?v=|/watch\?.+&v=))([\w-]{11})(?:.+)?$#x';
preg_match($pattern, $video_url, $matches);
$video_id = (isset($matches[1])) ? $matches[1] : false;
// Получение данных при помощи YouTube API
$api_key = "AIzaSyAwGUSLR-S7iSRFO6JDZwlEskC_5M6zeys";
$url = "https://www.googleapis.com/youtube/v3/videos?id=" . $video_id . "&key=" . $api_key . "&part=snippet,contentDetails,status";
$getData = json_decode(file_get_contents($url), true);
foreach ((array)$getData['items'] as $key => $data) {
$video_duration = $data['contentDetails']['duration']; // Длительность ролика
// Превью видео
if (array_key_exists('maxres', $data['snippet']['thumbnails'])) {
$video_poster = $data['snippet']['thumbnails']['maxres']['url'];
} else if (array_key_exists('standard', $data['snippet']['thumbnails'])) {
$video_poster = $data['snippet']['thumbnails']['standard']['url'];
} else {
$video_poster = $data['snippet']['thumbnails']['high']['url'];
}
}
// Преобразование длительности YouTube в часы:минуты:секунды
$start = new DateTime('@0'); // Unix epoch
$start->add(new DateInterval($video_duration));
$video_duration_seconds = $start->format('H:i:s');
return array($video_duration_seconds, $video_poster);
}
Чтобы получить информацию о видео просто вызовите данную функцию:
print_r(getYoutubeVideoInfo('https://youtu.be/_Kqtj14rxes'));
Получим:
Array
(
[0] => 02:53:28
[1] => https://i.ytimg.com/vi/_Kqtj14rxes/hqdefault.jpg
)
Вывод построчно:
echo getYoutubeVideoInfo('https://youtu.be/_Kqtj14rxes')[0];
echo "<br>";
echo getYoutubeVideoInfo('https://youtu.be/_Kqtj14rxes')[1];
Получим:
02:53:28
https://i.ytimg.com/vi/_Kqtj14rxes/hqdefault.jpg
Часто задаваемые вопросы
Остались вопросы об использовании YouTube API? Возможно вы найдёте ответ ниже.
Является ли API YouTube бесплатным?
API YouTube предоставляется бесплатно, если вы не превышаете суточную квоту запросов API. Каждый запрос стоит заранее определенное количество баллов. Вы получаете 10 000 баллов в день.
Сколько стоит API YouTube?
Плата за доступ к API данных YouTube зависит от использования квоты.
На каждый проект вам дается 10 000 бесплатных баллов в день, и все запросы стоят не менее одного балла.
Вы можете оценить свои квоты с помощью калькулятора квот, и если вам нужно больше запросов, вы можете подать заявку на более высокие квоты. Цена может измениться в большую сторону 🙂
Для примера, тип ресурса Videos с методом list YouTube API квота составляет 10 000 бесплатных единиц в день, т.к. один запрос стоит один балл.
Если у вас остались вопросы, напишите их в комментариях.
Надеюсь, вам понравилась данная информация. Если вам интересна тема web-разработки, то можете следить за выходом новых статей в Telegram.
Поделиться с друзьями:
Статьи из данной категории:
Комментарии (1)
- Сергей