批量删除YouTube收藏夹播放列表中的视频

时间:2014-01-31 15:09:26

标签: youtube youtube-api

我正在尝试使用YouTube v2 API批量删除用户的YouTube收藏夹中的视频。 (另见https://developers.google.com/youtube/2.0/developers_guide_protocol_batch_processing

批量发布视频到收藏夹很有效;我也可以毫无问题地从收藏夹中删除单个视频(这排除了身份验证问题)。

我的请求正文如下,其中VIDEOID1VIDEOID2是在相应视频xml中找到的<yt:favoriteId> ID:

<?xml version="1.0" encoding="UTF-8"?>

<feed xmlns='http://www.w3.org/2005/Atom' xmlns:media='http://search.yahoo.com/mrss/' xmlns:batch='http://schemas.google.com/gdata/batch' xmlns:yt='http://gdata.youtube.com/schemas/2007'>
    <batch:operation type="delete"/>
    <entry><id>VIDEOID1</id></entry>
    <entry><id>VIDEOID2</id></entry>
</feed>

这是我得到的回复,其中UserID ofcourse是用户的userID,BatchID是服务给出的BatchID:

<?xml version='1.0' encoding='UTF-8'?>

<feed xmlns='http://www.w3.org/2005/Atom'>
   <id>https://gdata.youtube.com/feeds/api/users/USERID/favorites/batch/BATCHID</id>
   <updated>2014-01-31T14:50:54.948Z</updated>
   <category scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#favorite'/>
   <title>Batch Feed</title>
   <entry xmlns:batch='http://schemas.google.com/gdata/batch'>      
       <id>VIDEOID1</id>
       <updated>2014-01-31T14:50:54.948Z</updated>
       <title>Error</title>
       <content>Invalid entry Id/Uri</content>
       <batch:status code='400' reason='Invalid entry Id/Uri'/>
   </entry>
   <entry xmlns:batch='http://schemas.google.com/gdata/batch'>
       <id>VIDEOID2</id>
       <updated>2014-01-31T14:50:54.949Z</updated>
       <title>Error</title>
       <content>Invalid entry Id/Uri</content>
       <batch:status code='400' reason='Invalid entry Id/Uri'/>
    </entry>
</feed>

它为我尝试删除的视频指出Invalid entry Id/Uri,而当我通过具有相同ID的单一删除请求删除它时,它可以正常工作。

是批量删除不受支持的收藏夹中的视频,还是我遗漏了什么?

1 个答案:

答案 0 :(得分:0)

由于这个问题和答案:Batch deleting videos using YouTube API and HTTpWebRequest

,我已经开始工作了

诀窍是使用用户userId而不是default,并用来完成id的视频网址。

批处理网址如下所示:

https://gdata.youtube.com/feeds/api/users/USERID/favorites/batch?v=2&alt=json

请求如下所示:

<?xml version="1.0" encoding="UTF-8"?>

<feed xmlns='http://www.w3.org/2005/Atom' xmlns:media='http://search.yahoo.com/mrss/' xmlns:batch='http://schemas.google.com/gdata/batch' xmlns:yt='http://gdata.youtube.com/schemas/2007'>
    <batch:operation type="delete"/>
    <entry>
        <id>https://gdata.youtube.com/feeds/api/users/USERID/favorites/VIDEOID1?v=2</id>
    </entry>
    <entry>
        <id>https://gdata.youtube.com/feeds/api/users/USERID/favorites/VIDEOID2?v=2</id>
    </entry>
</feed>