【问题标题】:Disable comments/ratings with YouTube Python API?使用 YouTube Python API 禁用评论/评分?
【发布时间】:2011-03-03 02:46:11
【问题描述】:

有谁知道是否可以使用 Python API 禁用 YouTube 评分/cmets?我知道您可以使用 XML 请求中的 'yt:accessControl' 标记来执行此操作,但我不知道如何手动构建请求。任何帮助将不胜感激:)

【问题讨论】:

标签: python api youtube


【解决方案1】:

你可以使用扩展元素,请检查here和之前的答案here

评级、cmets、列表都是yt:accessControl的一部分

【讨论】:

    【解决方案2】:

    我相信您需要使用 2.0 版本的 YouTube API,而包括 Python 在内的各种特定语言的 API 目前仅提供 1.0 版本。但是,使用裸机 2.0 操作更新视频以更改访问控制并不难,即使您正在通过特定于语言的 API 执行其他所有操作。 The docs(针对 2.0 API)说明:

    要更新视频,请发送 HTTP PUT 请求中标识的 URL 视频条目的 <link> 标签,其中 rel 属性值为edit

    <link rel='edit' type='application/atom+xml'
       href='http://gdata.youtube.com/feeds/api/users/USER_ID/uploads/VIDEO_ID'>
    

    PUT 请求的主体是一个 Atom 包含信息的 XML 条目 关于视频。您可以包括任何 以下元素及其 您的请求中的子标签。必需的 元素标有星号 (*)。

    media:title*
    media:description*
    media:category*
    media:keywords*
    yt:accessControl
    yt:location
    yt:private
    georss:where
    

    请注意,排除一个元素会 删除已经存在的信息 该视频存在。

    ...所以您必须重复您在上传时已经提供的一些信息(以避免删除该信息)才能添加 yt:accessControl 元素。

    用于上传的文档有 complete example 的标头、multipart-related 格式和您将发送的 XML(根据文档的 this part 添加访问控制标签)——但示例是POST,而不是PUT,因为它正在上传视频,而不是更改其信息(和访问控制)。要通过 Python 的标准库发送除 GET 和 POST 之外的 HTTP 方法,请使用 httplib:创建一个 HTTPConnection,然后使用 PUT 作为第一个参数调用其 request 方法,然后是 URL( 之后的部分 主机,请参阅 Python 在线文档本节末尾的示例)、正文(在 Youtube 2.0 API 文档的示例中开始的部分

    --f93dcbA3
    Content-Type: application/atom+xml; charset=UTF-8
    
    <?xml version="1.0"?>
    <entry xmlns="http://www.w3.org/2005/Atom"
    

    最后是标题)。

    是的,它绝对不像像 GData API 那样方便,但是,在后者更新为支持 2.0 API 功能之前,我确实怀疑这是最好的方法。主要的替代方法是调整 Python API 源(找到 here)以添加您需要的 2.0 位功能,但在我看来,这似乎是更多的工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-26
      • 2016-09-11
      • 2015-06-09
      • 2019-08-11
      • 1970-01-01
      • 2010-12-26
      • 2018-01-26
      相关资源
      最近更新 更多