php – YouTube Zend库获取播放列表条目的VideoId
作者:互联网
我正在使用Zend GData库来管理我的应用程序中的YouTube视频.该应用程序使用户能够选择将上传的视频添加到其预先存在的YouTube播放列表中,如果他们愿意的话.一个问题是,如果视频随后从我们的应用程序中删除,它似乎在添加它的播放列表中留下了“孤立”的已删除视频对象.
我一直试图找到一种方法让我们的应用程序从任何播放列表中删除视频,然后再将其从YouTube中删除,但我很难确定如何确定某个特定的YouTube视频是否包含在播放列表中.
我编写了一个函数,它循环遍历与登录用户相关的每个播放列表中的每个条目,并尝试将播放列表中视频的视频ID与作为参数传递的视频ID进行比较.但是,我似乎无法为播放列表中的任何视频获取视频ID的值.
这是功能:
function remove_video_from_playlists($yt,$hash){
$playlistListFeed = $yt->getPlaylistListFeed("default");
foreach ($playlistListFeed as $playlistListEntry) {
$playlistVideoFeed = $yt->getPlaylistVideoFeed($playlistListEntry->getPlaylistVideoFeedUrl());
foreach ($playlistVideoFeed as $playlistVideoEntry) {
//check to see if each video in the playlist matches the video we are trying to delete
if($playlistVideoEntry->getMediaGroup()->videoId == $hash){
$playlistVideoEntry->delete();
}
}
}
}
任何帮助,将不胜感激.如何获取播放列表中每个视频条目的基础videoId?
解决方法:
我发现了这个问题.
我需要在$yt对象上将GData库版本设置为版本2
用过这个:
$YT-> setMajorProtocolVersion(2);
这使得所有奇怪的行为都消失了,并且$playlistVideoEntry-> getMediaGroup() – > getVideoId()的使用按预期工作.
标签:php,youtube,zend-framework,gdata,playlists 来源: https://codeday.me/bug/20190709/1414539.html