2010-06-13 61 views
1

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

+0

投票的所有部分:HTTPS: //code.google.com/p/gdata-issues/issues/detail?id=7664 – 2015-10-24 15:45:02

回答

2

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

更新视频,发送一个HTTP PUT 请求在 视频条目的<link>标签,其中相对 属性值是编辑识别的网址:

<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元素。

,用来上传的文档有头,multipart-related格式的complete example,和XML,你会被发送(加访问控制标记按照该文档的this part的) - 但这个例子是一个POST,不一个PUT,因为它正在上传一个视频,而不是改变它的信息(和访问控制)。要通过Python的标准库发送除GET和POST之外的其他HTTP方法,请使用httplib:make an HTTPConnection,然后调用其方法PUT作为第一个参数,然后使用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位功能,但是,我认为这更加有效。

0

您可以使用扩展元素,请here和以前的答案here

评分,评论,上市是在这里禁用YouTube数据API V3意见的能力yt:accessControl