使用YouTube Python API停用评论/评分?

时间:2010-06-13 00:13:10

标签: python api youtube

有人知道是否可以使用Python API禁用YouTube评级/评论?我知道你可以使用XML请求中的'yt:accessControl'标签来完成它,但我不知道如何手动构建请求。任何帮助将不胜感激:)

2 个答案:

答案 0 :(得分:2)

我认为您需要使用2.0版本的YouTube API,而各种语言特定的API(包括Python)目前只提供1.0版本。但是,通过裸机2.0操作更新视频以更改访问控制并不困难,即使您通过特定语言API执行的其他操作也是如此。 The docs(对于2.0 API)解释:

  

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

<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在线文档本节末尾的示例),body(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位功能,但是,在我看来,这似乎是更多的工作。

答案 1 :(得分:0)

您可以使用扩展元素,请查看here和之前的回答here

评分,评论,列表都是yt:accessControl

的一部分