Отключить комментарии / рейтинги с YouTube Python API? - PullRequest
1 голос
/ 13 июня 2010

Кто-нибудь знает, можно ли отключить оценки / комментарии YouTube с помощью Python API?Я знаю, что вы можете сделать это, используя тег 'yt: accessControl' в запросе XML, но я не знаю, как создать запрос вручную.Любая помощь будет оценена :) 1001 *

Ответы [ 2 ]

2 голосов
/ 13 июня 2010

Полагаю, вам нужно использовать версию API YouTube 2.0, а различные языковые API, включая Python, в настоящее время предоставляют только версии 1.0. Но нетрудно обновить видео, чтобы изменить управление доступом с помощью операции «голое железо» 2.0, даже если все остальное вы делаете через API для конкретного языка. Документы (для API 2.0) объясняют:

Чтобы обновить видео, отправьте 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 представляет собой атом XML-запись, содержащая информацию о видео. Вы можете включить любой из следующих элементов и их subtags в вашем запросе. необходимые элементы отмечены звездочкой (*).

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

Обратите внимание, что исключение элемента приведет к удалить информацию, которая уже существует для этого видео.

... поэтому вам придется повторить часть информации, которую вы уже предоставили при загрузке (чтобы не удалять эту информацию), чтобы иметь возможность добавлять yt:accessControl элементов.

Документы для загрузки имеют полный пример заголовков, multipart-related форматирование и XML, который вы будете отправлять (с добавлением тегов контроля доступа согласно этой части документов) - но пример - POST, а не PUT, потому что он загружает видео, не изменяя его информацию (и контроль доступа). Чтобы отправить HTTP-методы, отличные от GET и POST, через стандартную библиотеку Python, используйте httplib : сделайте HTTPConnection, а затем вызовите его request метод с PUT в качестве первого аргумента, затем URL (часть после хоста, см. Примеры в конце этого раздела онлайн-документов Python), тело (часть, которая в примере в документах для API Youtube 2.0 запускается

--f93dcbA3
Content-Type: application/atom+xml; charset=UTF-8

<?xml version="1.0"?>
<entry xmlns="http://www.w3.org/2005/Atom"

и, наконец, заголовки).

Да, это определенно не , что так же удобно, как GData API, но, пока последний не будет обновлен для поддержки функциональности API 2.0, я подозреваю, что это лучший способ. Основной альтернативой было бы настроить исходные коды API Python (найдено здесь ), чтобы добавить 2.0-битную функциональность, которая вам требуется, но мне кажется, что это просто дополнительная работа.

0 голосов
/ 29 мая 2012

Вы можете использовать элемент расширения, пожалуйста, отметьте здесь и предыдущий ответ здесь

рейтинги, комментарии, листинг являются частью yt: accessControl

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...