google-apps-script - 调用 YT 视频 API 时无法获取视频时长
问题描述
我调用 YT 搜索 API,然后获取每个视频结果的完整数据(视频 API)。
但是,我无法获得每个视频的持续时间。
我收到一个未定义的错误:
var videoResultsFullData = YouTube.Videos.list('id,snippet', { id : searchResults.map(item => item.id.videoId)})
var popularChannelIds = YouTube.Channels.list('id,snippet, statistics', {
id: resultsParentChannelIds
}).items.filter(ch => ch.statistics.subscriberCount > sh.getRange("D24").getValue() ).map(channel => channel.id);
// .filter(video => popularChannelIds.includes(item.id.channelId));
var videoPopularResultsFullData =
videoResultsFullData.getItems()
.filter(video => popularChannelIds.includes(video.snippet.channelId));
// };
var range = 3;
for (var i in videoPopularResultsFullData) {
var item = videoPopularResultsFullData[i];
var temp = item.getContentDetails().duration;
解决方案
我认为在您的情况下,需要包含contentDetails
to part
。那么下面的修改呢?
从:
var videoResultsFullData = YouTube.Videos.list('id,snippet', { id : searchResults.map(item => item.id.videoId)})
至:
var videoResultsFullData = YouTube.Videos.list('id,snippet,contentDetails', { id : searchResults.map(item => item.id.videoId)})
或者,您也可以将part
其用作数组,如下所示。
var videoResultsFullData = YouTube.Videos.list(["id","snippet","contentDetails"], { id : searchResults.map(item => item.id.videoId)})
参考:
推荐阅读
- windows - PowerShell 脚本太慢
- javascript - 覆盖 JS 中特定单元测试用例的 sinon 存根
- django-forms - 字段 'id' 需要一个数字,但得到了 'create'。请求方法:
- javascript - 谷歌地图搜索框在模态中具有自动完成功能
- c# - 如何通过谓词计算枚举列表?
- jwt - Spring Webflux:帮助将代码转换为非阻塞
- javascript - Django 在一个 html 搜索字段中进行多项搜索 + selectpicker = 如何更改操作值?
- java - 制作此动画的最佳解决方案是什么
- mysql - 如果客户的销售额超过 2 次,则仅汇总每位客户的最后 5 次销售额
- php - 将数组数据推送到会话时出错