Руководство по API YouTube
Задача
Из этого туториала Вы узнаете, как использовать API YouTube v3 для поиска и просмотра видео с YouTube. YouTube предлагает различные мощные способы поиграть с видео. Вы можете создавать потрясающие приложения с помощью API, а также вставлять видео с YouTube. Для этого у него есть клиентские библиотеки на разных языках программирования. В этом приложении мы будем использовать клиентскую библиотеку PHP API Google.
Если вы не использовали API или не создавали приложение поверх API, не беспокойтесь. Мы поможем вам с нуля, используя API. Тем не менее, для понимания этого урока необходимы практические знания HTML, CSS и PHP.
Процесс разработки
Авторизация запросов
Как и другие API, YouTube API также требует авторизации. По сути, когда пользователь запрашивает некоторые данные с YouTube через API, сначала необходимо проверить и подтвердить их платформой, соответствует ли отправленный запрос объему API.
Форма авторизации, вам нужно зайти в консоль API Google и войти в систему. Нажмите на Создать проект.
Прокрутите список доступных API и нажмите кнопку «Выкл.» Рядом с API данных YouTube v3, чтобы активировать API.
Вы попадете на страницу «Срок и сервис». Проверьте, что я согласен с этими условиями и нажмите Принять. Теперь вы обнаружите, что API включены, то есть активированы сейчас.
Теперь в левой части навигации нажмите API Access. Нажмите на Создать идентификатор клиента Auth 2.0. Откроется окно «Создать идентификатор клиента».
Заполните информацию и нажмите Далее. Обратите внимание, что URL домашней страницы должен быть URL-адрес страницы, используемой для приложения. На следующей странице выберите тип приложения, которое вы создаете. Для этого примера это веб-приложение, и мы выбираем его. Также укажите свой сайт или имя хоста и нажмите «Создать идентификатор клиента». Вы попадете на страницу с идентификатором клиента и секретом клиента. Вскоре мы увидим, где нам нужен идентификатор клиента.
PHP-код для приложения (example.php)
Вот код PHP для приложения. Поместите ключ API, сгенерированный для первого экземпляра $ DEVELOPER_KEY.
<?php
if ($_GET['q'] && $_GET['maxResults']) {
// Call set_include_path() as needed to point to your client library.
require_once ($_SERVER["DOCUMENT_ROOT"].'/API/youtube/google-api-php-client/src/Google_Client.php');
require_once ($_SERVER["DOCUMENT_ROOT"].'/API/youtube/google-api-php-client/src/contrib/Google_YouTubeService.php');
/* Set $DEVELOPER_KEY to the "API key" value from the "Access" tab of the
Google APIs Console <http://code.google.com/apis/console#access>
Please ensure that you have enabled the YouTube Data API for your project. */
$DEVELOPER_KEY ='AIzaSyDOkg-u9jnhP-WnzX5WPJyV1sc5QQrtuyc';
$client = new Google_Client();
$client->setDeveloperKey($DEVELOPER_KEY);
$youtube = new Google_YoutubeService($client);
try {
$searchResponse = $youtube->search->listSearch('id,snippet', array(
'q' => $_GET['q'],
'maxResults' => $_GET['maxResults'],
));
$videos = '';
$channels = '';
foreach ($searchResponse['items'] as $searchResult) {
switch ($searchResult['id']['kind']) {
case 'youtube#video':
$videos .= sprintf('<li>%s (%s)</li>', $searchResult['snippet']['title'],
$searchResult['id']['videoId']."<a href=http://www.youtube.com/watch?v=".$searchResult['id']['videoId']." target=_blank> Watch This Video</a>");
break;
case 'youtube#channel':
$channels .= sprintf('<li>%s (%s)</li>', $searchResult['snippet']['title'],
$searchResult['id']['channelId']);
break;
}
}
} catch (Google_ServiceException $e) {
$htmlBody .= sprintf('<p>A service error occurred: <code>%s</code></p>',
htmlspecialchars($e->getMessage()));
} catch (Google_Exception $e) {
$htmlBody .= sprintf('<p>An client error occurred: <code>%s</code></p>',
htmlspecialchars($e->getMessage()));
}
}
?>
<!doctype html>
<html>
<head>
<title>YouTube Search</title>
<link href="//kodesource.top/includes/bootstrap.css" rel="stylesheet">
<style type="text/css">
body{margin-top: 50px; margin-left: 50px}
</style>
</head>
<body>
<form method="GET">
<div>
Search Term: <input type="search" id="q" name="q" placeholder="Enter Search Term">
</div>
<div>
Max Results: <input type="number" id="maxResults" name="maxResults" min="1" max="50" step="1" value="25">
</div>
<input type="submit" value="Search">
</form>
<h3>Videos</h3>
<ul><?php echo $videos; ?></ul>
<h3>Channels</h3>
<ul><?php echo $channels; ?></ul>
</body>
</html>
Мы рекомендуем вам скачать код и поиграть с ним.
Предыдущая: Учебник по API Google Plus
Далее: Google Maps API V 3 - Учебное пособие
Новый контент: Composer: менеджер зависимостей для PHP , R программирования