【问题标题】:unable to delete video from youtube playlist无法从 youtube 播放列表中删除视频
【发布时间】:2012-12-11 03:46:04
【问题描述】:

我正在尝试从 Youtube 播放列表中删除一个视频,但服务器不断响应:

<errors xmlns='http://schemas.google.com/g/2005'>
    <error>
        <domain>GData</domain>
        <code>ServiceForbiddenException</code>
        <internalReason>User authentication required.</internalReason>
    </error>
</errors>

奇怪的是我可以删除播放列表并将视频添加到播放列表。 我正在关注此处找到的 Google 文档:

https://developers.google.com/youtube/2.0/developers_guide_protocol_playlists#Deleting_a_video_from_a_playlist

我正在使用这样的请求:

网址

删除https://gdata.youtube.com/feeds/api/playlists/PLAYLIST_ID/VIDEO_ID

删除https://gdata.youtube.com/feeds/api/playlists/PLZsHJpFf2dLtEhsYEISc2FR2JWYeIC8KZ/IcxQznDe4u8

标头:(我对所有请求使用完全相同的标头)

Authorization:  Bearer ************************
Content-Type:   application/atom+xml
Host:           gdata.youtube.com
X-GData-Key:    key=***************************
gdata-version:  2

另一个奇怪的事情是,当我在地址中输入请求 url 时,它显示“未找到播放列表视频” 我提供了 Youtube 视频 ID。 Mebbe 这不是我需要提供的那个 id。我尝试使用播放列表索引,即只是一个数字。没有运气。住手!

【问题讨论】:

    标签: javascript ajax xmlhttprequest youtube-api


    【解决方案1】:

    请允许我回答我自己的问题。

    在链接的文档中,他们声明您需要一个 PLAYLIST_ENTRY_ID,这与 Youtube 上的地址中写的 id 不同。此 id 来自您通过他们的提要请求请求的条目。每个条目(每个视频)都有一个名为 id 的属性(它在 feed -> entry -> id[text] 中),其中包含如下内容:

    tag:youtube.com,2008:playlist:PLZsHJpFf2dLs_n7e69v5SUNQRuZTMnLcM:PLhRVbNPJX-c0PUOsjeulCsgAx-ydeUUdJhpxbacX0VFk

    在这种情况下可以理解为

    bla:bla:bla:PLAYLIST_ID:PLAYLIST_ENTRY_ID

    所以我所关注的 id 是最后一个冒号之后的字符串的其余部分。 在 Javascript 中,我这样获取它:(我正在使用 xml 到 json 解析器,但它是 .split(":").pop() 会给你想要的 id )

    var deleteId=json.feed.entry[i]["id"]["#text"].split(":").pop();
    

    在这种情况下,id 生成的 id 将是:PLhRVbNPJX-c0PUOsjeulCsgAx-ydeUUdJhpxbacX0VFk

    所以 ytId IcxQznDe4u8 视频的最终请求 url 不是

    https://gdata.youtube.com/feeds/api/playlists/PLZsHJpFf2dLtEhsYEISc2FR2JWYeIC8KZ/IcxQznDe4u8

    而是

    https://gdata.youtube.com/feeds/api/playlists/PLZsHJpFf2dLtEhsYEISc2FR2JWYeIC8KZ/PLhRVbNPJX-c0PUOsjeulCsgAx-ydeUUdJhpxbacX0VFk

    *飞走了*

    【讨论】:

      猜你喜欢
      • 2018-07-12
      • 2018-04-01
      • 2017-06-25
      • 2018-06-24
      • 1970-01-01
      • 1970-01-01
      • 2014-02-07
      • 2021-08-11
      • 2014-06-23
      相关资源
      最近更新 更多