2010-06-13 60 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