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-&GT setMajorProtocolVersion(2);

这使得所有奇怪的行为都消失了,并且$playlistVideoEntry-> getMediaGroup() – > getVideoId()的使用按预期工作.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...