我一直在尝试通过以下方法查询视频的观看次数:
function search() {
var request = gapi.client.youtube.search.list({
part: 'snippet',
channelId: 'IRRELEVANT',
order: 'date',
maxResults: '25'
});
request.execute(function(response){
YoutubeResponse(response);
});
而文档告诉我,每个视频都有一个statistics
部分,在snippet
之后,我有__proto__
,我想这意味着在某个地方有错误?还是API发生了变化?实际上,我需要最近25个视频的观看次数…
我尝试将part: 'snippet'
更改为part: 'statistics'
,但返回code: -32602
…
谢谢你的帮助,
干杯!
编辑:显然search.list
没有"统计数据",而是我需要单独搜索每个视频…问题是,当使用谷歌的"尝试"功能(https://developers.google.com/youtube/v3/docs/videos/list#try-it)时,当你在底部的"字段"部分要求统计数据时,它不会做任何事情……所以我很困惑到底怎么才能得到视图数& &;所有25个视频的长度(如果单独或全部-最好-)
你给https://developers.google.com/youtube/v3/docs/videos/list#try-it的链接是为我工作。填写part: contentDetails,statistics和id:一个逗号分隔的视频id列表,如:TruIq5IxuiU,-VoFbH8jTzE,RPNDXrAvAMg,gmQmYc9-zcg
这将创建一个请求:
https://www.googleapis.com/youtube/v3/videos?part=contentDetails, statistics& id = TruIq5IxuiU -VoFbH8jTzE RPNDXrAvAMg gmQmYc9-zcg&关键= {YOUR_API_KEY}
同意@Als的回答。
但是我找到了一个代码片段,可能对你们中的一些人更方便:
function youtube_view_count_shortcode($params)
{
$videoID = $params['id']; // view id here
$json = file_get_contents("https://www.googleapis.com/youtube/v3/videos?
part=statistics&id=" . $videoID . "&key=xxxxxxxxxxxxxxxxxxxxxxxx");
$jsonData = json_decode($json);
$views = $jsonData->items[0]->statistics->viewCount;
return number_format($views);
}
将键值替换为youtube数据api的google api键,并将视频id替换为youtube视频id,然后就可以得到youtube视频的总观看次数。
来源: https://www.codementor.io/rajharajesuwari/how-to-get-youtube-views-count-aftojpxhj