Реализация загрузки Youtube с использованием visual basic.net - PullRequest
0 голосов
/ 23 октября 2011

Привет, я хочу создать загружаемую видео программу с использованием youtube api. Я думаю, что что-то пропустил. Я ищу несколько примеров загрузки с помощью .net, но не могу найти ответ.

Вот мой код:

</p>

<p><code>` Imports Google.YouTube
    Imports Google.GData.Client
    Imports Google.GData.Extensions
    Imports Google.GData.Extensions.MediaRss
    Imports Google.GData.YouTube
    Imports Google.GData.Extensions.Location</p>

<pre><code>Public Class Form1





    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
</code>

Dim settings As YouTubeRequestSettings Dim request As YouTubeRequest

settings = New YouTubeRequestSettings («загрузчик youtube», «AI39si4NwqS3ISLGVjlHBCdC8BfiJJSJWqqcJEvZOLbFohZAslQ4uhgrnFOJKdxGju55g2xoSImzxt.th0HHTHH0X5THH5) TXHX request = новый YouTubeRequest (настройки)

Пытаться Dim newVideo As Video = Новое видео () newVideo.Title = "Пример фильма о похмелье" newVideo.Tags.Add (New MediaCategory («Образец», YouTubeNameTable.CategorySchema)) newVideo.Keywords = "похмелье, смешно" newVideo.Description = "Похмелье" newVideo.YouTubeEntry.Private = False newVideo.Tags.Add (New MediaCategory («похмелье, смешные, комедии», YouTubeNameTable.DeveloperTagSchema)) newVideo.YouTubeEntry.Location = New GeoRssWhere (37, -122) В качестве альтернативы, вы можете просто указать описательную строку 'newVideo.YouTubeEntry.setYouTubeExtension ("location", "Mountain View, CA"); newVideo.YouTubeEntry.MediaSource = New MediaFileSource (Environment.GetFolderPath (Environment.SpecialFolder.Desktop) & "\ sample.avi", "video / avi") request.Upload (newVideo) Поймать как исключение МздВох (ex.Message) Конец попробовать End Sub Конечный класс`

но выдает эту ошибку Выполнение запроса не удалось https://uploads.gdata.youtube.com/feeds/api/users/default/uploads

Ответы [ 3 ]

1 голос
/ 24 октября 2011

Первое, что приходит на ум, это то, что вы создаете объект запроса при инициализации, но не используете его до нажатия кнопки. Это может быть проблемой, пример C #, который я видел для этого, делал их один за другим.

Но наиболее похожей проблемой является то, что вы, кажется, устанавливаете некоторые значения для объекта настройки с помощью элементов управления формы и делаете это во время инициализации формы, где такие элементы управления обычно не имеют используемых значений. Если вы жестко кодируете значения в элементах управления, лучше всего сделать это для объекта настройки. Если вам нетрудно кодировать значения в элемент управления во время разработки, то это, вероятно, ваша проблема (которая хорошо согласуется с вашей ошибкой аутентификации).

1 голос
/ 23 октября 2011

Основная проблема, которую я замечаю, заключается в том, что в вашем коде указывается источник мультимедиа, являющийся файлом * .avi, и присваивается ему MIME-тип «video / quicktime». Насколько я знаю, видео QuickTime обычно обозначаются расширением * .mov. Когда YouTube получает эту информацию, он, скорее всего, использует транскодер, чтобы преобразовать контент вашего фильма в его собственный нативный формат и терпит неудачу, потому что он пытается понять смысл фильма, как если бы это был файл QuickTime. Вам, вероятно, следует изменить тип MIME на «video / avi».

Кроме того, ваш пример кода не вызывает request.Upload().

0 голосов
/ 04 ноября 2011

Я только что узнал, что проблема с моим кодом в том, что youtube не спросил у меня имя пользователя (но у меня есть учетная запись на youtube, сумасшедший ... XD) ... затем я попробовал еще раз код, и он работает.спасибо также @ jmoreno.

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