我正在从我自己的频道获取一些视频的视频点击量。这是我刚刚向您展示的代码2作为示例:
<?php
define("YOUTUBE_DATA_API_KEY", 'KEY_IS_IN_HERE');
function youtube_video_statistics($video_id) {
$json = file_get_contents("https://www.googleapis.com/youtube/v3/videos?part=statistics&id=" . $video_id . "&key=". YOUTUBE_DATA_API_KEY );
$jsonData = json_decode($json);
$views = $jsonData->items[0]->statistics->viewCount;
return $views;
}
echo '<strong>Track Title 1 - </strong>';
$num = youtube_video_statistics('VIDEO_ID_HERE');
echo $formattedNum1;
$formattedNum1 = number_format($num);
echo $formattedNum1;
echo '<strong>Track Title 2</strong>';
$num = youtube_video_statistics('VIDEO_ID_HERE');
echo $formattedNum2;
$formattedNum2 = number_format($num);
echo $formattedNum2;
?>
$formattedNum只是用撇号来格式化数字,因为我的很多视频都有成千上万的点击量。
这工作得很好,但正如您所看到的,它是非常手动的。曲目标题和视频ID是硬编码的,这是不理想的。
我想做的是拉标题与观看计数在一批代码,这不需要我不断更新它与一个新的ID,一旦我添加一个新的视频等。警告也是我有超过90个视频,但它只有12个真正的他们,我需要密切监测统计,但我猜,如果唯一的选择,这样做是拉在标题和观看计数的每一个视频在我的频道,这仍然比我目前的位置更好,但我看不到任何方法,甚至在文档中做到这一点。
那么,有没有办法使用API将我想要监视的视频分组在一起,这样我就可以查询特定的组,例如,对它们使用相同的标记,或者将它们添加到播放列表中,然后根据该标记或播放列表进行查询?
对于本杰明·洛伊森的回答,我得到的代码是:
{
"kind": "youtube#videoListResponse",
"etag": "YIUPVpqNjppyCWOZfL-19bLb7uk",
"items": [],
"pageInfo": {
"totalResults": 0,
"resultsPerPage": 0
}
}
发布于 2021-11-05 21:07:29
看起来您使用的是Youtube Data API v3端点Videos: list,这就是我们要走的路。要请求一批视频而不是单个视频,您可以使用逗号在id
字段中收集它们,下面是一个示例:https://www.googleapis.com/youtube/v3/videos?part=statistics&id=dQw4w9WgXcQ,o-YBDTqX_ZU&key=YOUTUBE_DATA_API_KEY
似乎我们不需要调整maxResults
字段(默认值: 5)。但是,您可以使用逗号加入最多50个视频,如果您有超过50个视频要继续,则只能按请求继续。
您还可以通过PlaylistItems: list收集视频ids来监控播放列表中的视频。
如果需要,您可以使用jambrose共享的以下方法列出(仅)您的公共视频(如果您使用的是API密钥
它包括使用带有part=contentDetails
的Channels: list和检索uploads
播放列表,您可以从其中检索视频,如上所述。
https://stackoverflow.com/questions/69856797
复制相似问题