help you fix your problem Figured it out. And to clarify: I was trying to delete a video from my own playlist and I was properly authenticated (I could add videos just fine). Basically, I was using the wrong videoId. I was trying to use the short one you see in the url when you play a video (e.g. qNqfYtd3HTg). You need to use the one that comes back from PlaylistItems.list instead (e.g. UEwzdmpFaWdSbm5rQ3hPN29qNXFjM1c0c20zNVlRSC1hQi5DNUEzOUFFNkIyOUUzOTRC). The latter includes the information about which playlist the video is in. That's why you don't need to specify the playlistId when deleting a video from a playlist, just this one long videoId.
wish help you to fix your issue you're looking to query based on the existence of yt:state, if the state tag exists then the file is restricted for some reason. You may also find some useful info at ZF gData and by looking at the code in Zend_Gdata_YouTube_Extension_State. You haven't included enough of your code for me to offer any more suggestions on how you might adapt you code. Good Luck! [EDIT] Best guess would be to add a videoQuery Either in place of or as part of getPlaylistFeed():
$query = new Zend_Gdata_YouTube_VideoQuery();
$query->setParam('state', 0);//you may need to query for all of your videos this way.
Youtube API: Adding videos to a playlist with the new 32 character playlist ID
it helps some times I want to download a playlist of videos from youtube using youtube-dl for further offline viewing. Some videos have unavailable fragments (but for some reason there is no problem when viewing through browser). I want to download the playlist, but skip the videos with missing fragments.
--abort-on-unavailable-fragment Abort downloading when some fragment is not
youtube-dl: download youtube videos info.json in a playlist by ignoring videos specified in archive.txt
hope this fix your issue yt-dl will add an entry into archive.txt only if the video is downloaded. So, i think your use case cannot be achived solely through yt-dl. Howerver this behaviour can be achived using some command line magic,