从播放列表中获取所有视频 (Youtube API v3)
Get all videos from a playlist (Youtube API v3)
我想使用新的 youtube API 从特定播放列表中检索所有视频的列表(它们的 ID 和标题)。
我需要将 ID 分开,这样我就可以在我的网站上使用 php 制作一个 "video gallery",而不是只有一个带有播放列表边栏的视频。
这已经在我的网站上运行了,但是由于新的 API 已于 6 月 4 日实施,它不再运行了。
有什么解决办法吗?
谢谢。
YouTube API 网站上有一个 PHP 示例,它使用 playlistItems.list 调用获取视频列表,您可以使用该列表获取所需信息。
http://developers.google.com/youtube/v3/docs/playlistItems/list
如果您使用 YouTube PHP client library,则按照以下方式获取指定播放列表的所有视频 ID 和标题:
<?php
require_once 'Google/autoload.php';
require_once 'Google/Client.php';
require_once 'Google/Service/YouTube.php';
$client = new Google_Client();
$client->setDeveloperKey('{YOUR-API-KEY}');
$youtube = new Google_Service_YouTube($client);
$nextPageToken = '';
$htmlBody = '<ul>';
do {
$playlistItemsResponse = $youtube->playlistItems->listPlaylistItems('snippet', array(
'playlistId' => '{PLAYLIST-ID-HERE}',
'maxResults' => 50,
'pageToken' => $nextPageToken));
foreach ($playlistItemsResponse['items'] as $playlistItem) {
$htmlBody .= sprintf('<li>%s (%s)</li>', $playlistItem['snippet']['title'], $playlistItem['snippet']['resourceId']['videoId']);
}
$nextPageToken = $playlistItemsResponse['nextPageToken'];
} while ($nextPageToken <> '');
$htmlBody .= '</ul>';
?>
<!doctype html>
<html>
<head>
<title>Video list</title>
</head>
<body>
<?= $htmlBody ?>
</body>
</html>
如果您在实施时遇到任何问题,请 post 您的代码作为一个新问题,有人会提供帮助。
我想使用新的 youtube API 从特定播放列表中检索所有视频的列表(它们的 ID 和标题)。
我需要将 ID 分开,这样我就可以在我的网站上使用 php 制作一个 "video gallery",而不是只有一个带有播放列表边栏的视频。
这已经在我的网站上运行了,但是由于新的 API 已于 6 月 4 日实施,它不再运行了。
有什么解决办法吗? 谢谢。
YouTube API 网站上有一个 PHP 示例,它使用 playlistItems.list 调用获取视频列表,您可以使用该列表获取所需信息。
http://developers.google.com/youtube/v3/docs/playlistItems/list
如果您使用 YouTube PHP client library,则按照以下方式获取指定播放列表的所有视频 ID 和标题:
<?php
require_once 'Google/autoload.php';
require_once 'Google/Client.php';
require_once 'Google/Service/YouTube.php';
$client = new Google_Client();
$client->setDeveloperKey('{YOUR-API-KEY}');
$youtube = new Google_Service_YouTube($client);
$nextPageToken = '';
$htmlBody = '<ul>';
do {
$playlistItemsResponse = $youtube->playlistItems->listPlaylistItems('snippet', array(
'playlistId' => '{PLAYLIST-ID-HERE}',
'maxResults' => 50,
'pageToken' => $nextPageToken));
foreach ($playlistItemsResponse['items'] as $playlistItem) {
$htmlBody .= sprintf('<li>%s (%s)</li>', $playlistItem['snippet']['title'], $playlistItem['snippet']['resourceId']['videoId']);
}
$nextPageToken = $playlistItemsResponse['nextPageToken'];
} while ($nextPageToken <> '');
$htmlBody .= '</ul>';
?>
<!doctype html>
<html>
<head>
<title>Video list</title>
</head>
<body>
<?= $htmlBody ?>
</body>
</html>
如果您在实施时遇到任何问题,请 post 您的代码作为一个新问题,有人会提供帮助。