Youtube API-有没有验证播放列表ID的方法?

Youtube API-有没有验证播放列表ID的方法?,youtube,youtube-api,conditional-statements,playlist,Youtube,Youtube Api,Conditional Statements,Playlist,这是我的问题。我正在开发的网站有一系列不同的产品,可能有一个链接到YouTube视频或播放列表。我被要求在页面上嵌入该链接,而不是让最终用户离开页面查看视频/播放列表。很简单 我使用JSTL fn.substring和fn.substringAfter来隔离导入页面的每个URL的VideoID和playlid <c:if test="${hyperlink.type.name eq 'YouTubeLinking'}"> <c:set var="v

这是我的问题。我正在开发的网站有一系列不同的产品,可能有一个链接到YouTube视频或播放列表。我被要求在页面上嵌入该链接,而不是让最终用户离开页面查看视频/播放列表。很简单

我使用JSTL fn.substring和fn.substringAfter来隔离导入页面的每个URL的VideoID和playlid

<c:if test="${hyperlink.type.name eq 'YouTubeLinking'}">
<c:set var="videoSub" value="${fn:substringAfter(hyperlink.link, 'watch?v=')}"/>
<c:set var="videoID" value="${fn:substring(videoSub, 0, 11)}"/>
<c:set var="playlistSub" value="${fn:substringAfter(hyperlink.link, 'list=')}"/>
<c:set var="playlistID" value="${fn:substring(playlistSub, 0, 34)}"/>

然后我使用一个简单的IF条件来查看playlid,如果它是空的,那么就使用单个视频嵌入

<c:if test="${empty playlistID}">
<iframe width="540" height="304" src="https://www.youtube.com/embed/<c:out value="${videoID}"/>?rel=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</c:if>
<c:if test="${not empty playlistID}">
<iframe width="540" height="304" src="https://www.youtube.com/embed/videoseries?list=<c:out value="${playlistID}"/>" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</c:if>

问题是。。。许多播放列表不再有效,这意味着该播放列表已被删除。我们谈论的是可能链接到数百个播放列表的数千种产品


我是否可以使用YouTube API检查播放ID是否有效(不会返回400错误),如果无效,则只使用单个视频嵌入标记?

调用YouTube数据API,返回频道的所有播放列表。将
snippet
作为
part
参数传递,因为它返回类似
title
id
的信息。将响应与您的响应进行比较。这样,您就可以知道播放列表是否仍然存在。

调用Youtube数据API,它将返回频道的所有播放列表。将
snippet
作为
part
参数传递,因为它返回类似
title
id
的信息。将响应与您的响应进行比较。这样你就知道播放列表是否仍然存在。

我是视频链接检查器插件的作者。以下是我建议你做的:

1) 使用播放列表ID对进行API调用

2) 如果API返回空结果,则播放列表已被删除。否则,

3) 播放列表->状态->私有状态是否已更改且不再公开?(并非罕见)

4) 播放列表->内容详细信息->项目计数>0吗?有时,播放列表所有者会删除所有视频,但保留播放列表的活动状态


5) 是否存在播放列表->内容详细信息->区域限制?检查vs目标区域,看看嵌入的视频是否会播放。

我是视频链接检查器插件的作者。以下是我建议你做的:

1) 使用播放列表ID对进行API调用

2) 如果API返回空结果,则播放列表已被删除。否则,

3) 播放列表->状态->私有状态是否已更改且不再公开?(并非罕见)

4) 播放列表->内容详细信息->项目计数>0吗?有时,播放列表所有者会删除所有视频,但保留播放列表的活动状态

5) 是否存在播放列表->内容详细信息->区域限制?检查vs目标区域,查看嵌入式视频是否会播放