#.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 .