gpt4 book ai didi

php - 如何列出YouTube channel 发布的所有视频?

转载 作者:行者123 更新时间:2023-12-03 05:30:47 25 4
gpt4 key购买 nike

我正在建立一个网站来陪伴我的youtube channel ,并且我想在该网站的页面上列出该 channel 上发布的所有最新视频,类似于该网站:http://hermitcraft.com/
但仅适用于一个特定 channel 。

我是google apis系统的新手,并且发现它完全不堪重负。

我的网络服务器是apache,运行php 7,但是由于它是网络主机,所以我无权访问任何控制台。

我该如何解决这个问题?

最佳答案

假设您能够使用PHP编程,我建议您从小处开始,然后从YouTube Data API OverviewPHP QuickstartPHP Client Library: Getting Started逐步进行。无论如何,the reference documentation是您最好的 friend -只是您必须熟悉它。

您将使用PHP客户端库code,从而将其本地克隆到您的计算机上。

暂时不打扰OAuth身份验证,只能从Google的developers console获得一个API key,以便与API的PlaylistItems endpoint结合使用,并查询给定的channel's uploads list

Github上有一些sample code可用于获取用户的上传列表,但是该代码已经很旧了,很可能有问题(它也使用OAuth授权,我已经建议您不要打扰)。这是该代码的基本部分(我做了一些修改:用'mine' => 'true'替换了'id' => $YOUR_CHANNEL_ID;但是您必须测试此代码):

  try {
// Call the channels.list method to retrieve information about the
// currently authenticated user's channel.
$channelsResponse = $youtube->channels->listChannels('contentDetails', array(
'id' => $YOUR_CHANNEL_ID,
));

$htmlBody = '';
foreach ($channelsResponse['items'] as $channel) {
// Extract the unique playlist ID that identifies the list of videos
// uploaded to the channel, and then call the playlistItems.list method
// to retrieve that list.
$uploadsListId = $channel['contentDetails']['relatedPlaylists']['uploads'];

$playlistItemsResponse = $youtube->playlistItems->listPlaylistItems('snippet', array(
'playlistId' => $uploadsListId,
'maxResults' => 50
));

$htmlBody .= "<h3>Videos in list $uploadsListId</h3><ul>";
foreach ($playlistItemsResponse['items'] as $playlistItem) {
$htmlBody .= sprintf('<li>%s (%s)</li>', $playlistItem['snippet']['title'],
$playlistItem['snippet']['resourceId']['videoId']);
}
$htmlBody .= '</ul>';
}
} catch (Google_Service_Exception $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()));
}

从一开始,您必须了解API正在实现的 the quota system。根据使用模式,配额可以将 rather tight limits放在允许用户在API的各种端点上进行的调用数上。 Google的开发人员控制台随时会向您显示您当前的配额。

最后,一个用于调试应用程序的有用工具: APIs Explorer。它允许您调用API端点并查看它们各自的JSON响应文本。

关于php - 如何列出YouTube channel 发布的所有视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56411594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com