Настройка yt: AccessControl для видео YouTube с помощью VB.NET

#.net #vb.net #youtube-api #gdata-api

#.net #vb.net #youtube-api #gdata-api

Вопрос:

Как я могу отключить комментарии / оценивать видео с помощью Visual Basic .NET?

В принципе, как я могу установить yt:accessControl элемент?

Как выполнить этот запрос в VB .NET https://code.google.com/intl/pl/apis/youtube/2.0/developers_guide_protocol_updating_and_deleting_videos.html#Updating_Video_Entry

Ответ №1:

Вам нужно будет обновить информацию с помощью HTTP PUT, в частности, используя идентификатор видео.

Вот пример HTTP PUT (взятый из второй ссылки выше), который показывает, как будет выглядеть запрос на обновление видео:

 PUT /feeds/api/users/USERNAME/uploads/VIDEO_ID HTTP/1.1
Host: gdata.youtube.com
Content-Type: application/atom xml
Content-Length: CONTENT_LENGTH
Authorization: AuthSub token="AUTHORIZATION_TOKEN"
GData-Version: 2
X-GData-Key: key=DEVELOPER_KEY

<?xml version="1.0"?>
<entry xmlns="http://www.w3.org/2005/Atom"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:yt="http://gdata.youtube.com/schemas/2007">
    <media:group>
        <media:title type="plain">Yippee Skippy</media:title>
        <media:description type="plain">I am updating this 
            video.</media:description>
        <media:category 
            scheme="http://gdata.youtube.com/schemas/2007/categories.cat">
            People</media:category>
        <media:keywords>blastoff,rodeo,whiteboards</media:keywords>
    </media:group>
    <yt:accessControl action="comment" permission="allowed"/>
    <yt:accessControl action="commentVote" permission="allowed"/>
    <yt:accessControl action="videoRespond" permission="allowed"/>
    <yt:accessControl action="rate" permission="allowed"/>
    <yt:accessControl action="list" permission="allowed"/>
    <yt:accessControl action="embed" permission="allowed"/>
    <yt:accessControl action="syndicate" permission="allowed"/>
</entry>
  

Обратите внимание на несколько yt:accessControl элементов в конце, указывающих разрешения для устанавливаемого видео.

Также обратите внимание, что вы также можете установить эти разрешения при загрузке видео.

Комментарии:

1. Как я могу это сделать в VB.NET ?

2. @hades: По сути, GData API основан на HTTP и XML, вам просто нужно отправить правильный HTTP-запрос и XML. Google предоставляет .NET клиент , который вы можете использовать, но он не всегда соответствует спецификации. Если это не так, вы все равно можете отправлять запросы и обрабатывать ответы, используя такие вещи, как HttpWebRequest / HttpWebResponse , наряду с XDocument (например).

3. @hades: Если я смогу, я сделаю это (но я сомневаюсь, что у меня будет время, чтобы привести полный пример), но это довольно сложный процесс, и ссылки, которые я вам предоставил, содержат всю необходимую информацию, чтобы сделать это самостоятельно.

Ответ №2:

Клиентская библиотека .NET добавила поддержку yt: AccessControl в версии 1118:

http://code.google.com/p/google-gdata/source/detail?r=1118

Чтобы обновить запись, вы должны сначала получить ее, а затем отредактировать ее YouTubeEntry.Сбор AccessControls и, в конечном итоге, вызов Update .