{Предисловие}
Время от времени, в ToDo List попадают задачи которые раньше не когда не реализовывал, и это даже хорошо! От таких задач становиться интереснее жить :)
На днях одной из таких задач была загрузка видео на YouTube хостинг с использованием ASP.NET (C#).
{Начало разработки}
Статья предназначить для тех кто практически не знаком с работой в VisualStudio
Для реализации данной задачи понадобится Visual Studio или Visual Web Developer , IIS и .Net Fremework версией не ниже 2.0
Открываем среду разработки "Файл -> Создать новый проект" в открывшемся окошке выберем "Visual C# -> Пустое веб приложение ASP.NET"
После чего создаётся заготовка нашего будущего мини приложения.
В обозревателе решений
мы видим следующую картину
Далее жмем правой кнопкой мыши на "WebApplication1" и выберем создать элемент
В открывшемся окошке выберем "Форма Web Form"
далее в Обозревателе решений открываем файл "WebForma1.aspx.cs"
После кода
Вставляем:
using Google.GData.Client; using Google.GData.Extensions; using Google.GData.YouTube; using Google.GData.Extensions.MediaRss; using Google.YouTube; using Google.GData.Extensions.Location;
далее заменяем етот кусочек
protected void Page_Load(object sender, EventArgs e) { }
вот етим
protected void Page_Load(object sender, EventArgs e) { string developerKey = "******"; string username = "******"; string password = "******"; YouTubeRequestSettings settings = new YouTubeRequestSettings("example app", developerKey, username, password); YouTubeRequest request = new YouTubeRequest(settings); Video newVideo = new Video(); newVideo.Title = "My Test Movie"; newVideo.Tags.Add(new MediaCategory("Autos", YouTubeNameTable.CategorySchema)); newVideo.Keywords = "cars, funny"; newVideo.Description = "My description"; newVideo.YouTubeEntry.Private = false; newVideo.Tags.Add(new MediaCategory("mydevtag, anotherdevtag", YouTubeNameTable.DeveloperTagSchema)); newVideo.YouTubeEntry.Location = new GeoRssWhere(37, -122); FormUploadToken token = request.CreateFormUploadToken(newVideo); Session["torenUrl"] = token.Url; Session["torenKey"] = token.Token; }
Далее нужно получить DeveloperKey! идем на http://code.google.com/apis/youtube/dashboard/ и следуя инструкции получаем его. он выглядит примерно так "AI39si4Kx03YwwXmP2bGVKrchK4oUO726b332agdZkp1Y31iQYfaiU"
после его получения возвращаемся в VisualStudio и в том кусочке кода который вставляли недавно находим строчку
string developerKey = "******";
и заменяем звездочки (*) на полученный вами developerKey
string developerKey = "AI39si4Kx03YwwXmP2bGVKrchK4oUO726b332agdZkp1Y31iQYfaiU"
далее если у вас нету аккаунта на YouTube тогда регистрируем
и меняем
string username = "********"; string password = "********";
username на логин для YouTube и password на пароль для YouTube
далее качаем и распоковываем этот архив http://files.gw.kz/h8hp2btutu.html
в обозревателе решений нажимаем "показать все файлы" и перетаскиваем содержимое архива в папку "bin
после у нас имеется примерно вот такая структура:
далее подключим .dll из папки bin, для этого нажимаем "Проект -> добавить ссылку"
в открывшемся окне нажимаем "Обзор" , заходим в папку bin и выбираем наши добавленные .dll и нажимаем "ОК"
ну вот почти и все :)
Теперь открываем файл WebForm1.aspx, удаляем между тегами <body> всё что там имеется, а именно:
<form id="form1" runat="server"> <div> </div> </form>
и вместо этого вставляем:
- <%string urlBack = "http://yvision.kz"; %>
<form action="<%=Session["torenUrl"]%>?nexturl=<%=urlBack%>" method ="post" enctype="multipart/form-data" > <input type="file" name="file"/> <input type="hidden" name="token" value="<%=Session["torenKey"] %>"/> <input type="submit" /> </form>
и заменяем переменную urlBack на свой адрес, на указанный url в этой переменной будет redirect после загрузки видео
А теперь жмём "Ctrl + F5" , загружаем видео, идём на ютуб и смотрим в личном кабинете появилось ваше видео!
P.S. Подробнее уже некуда =)
Успехов!