我有一个包含电影片的网站,我想展示电影的预告片。为了做到这一点,是否可以从 YouTube 搜索中获取热门 YouTube 视频的 URL?
由于在大多数情况下键入“[电影名称]预告片”效果很好,而且预告片通常是最热门的视频,因此很容易。
在另一个主题上,如果选择的视频不正确,让用户修改视频的最佳方法是什么?使用投票系统,因此至少需要 4-5 票才能更改视频。
这是我使用谷歌的 youtube api 在我的旧网站上使用的 youtube 搜索
<?php
// Call set_include_path() as needed to point to your client library.
require_once ('video/Google_Client.php');
require_once ('video/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 = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$client = new Google_Client();
$client->setDeveloperKey($DEVELOPER_KEY);
$youtube = new Google_YoutubeService($client);
try {
$searchResponse = $youtube->search->listSearch('id,snippet', array(
'q' => $_POST['query'],
'maxResults' => '48',
));
$videos = '';
$channels = '';
foreach ($searchResponse['items'] as $searchResult) {
switch ($searchResult['id']['kind']) {
case 'youtube#video':
$videos .= $searchResult;
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()));
}
echo print_r($videos);
?>
我使用了一个表单来发布搜索查询(注意 $_POST['search'] 变量,这将是要搜索的字符串,在你的情况下是电影名称)