API Video Вконтакте

uragan

Client
Регистрация
22.12.2012
Сообщения
74
Реакции
15
Баллы
8
Всем привет ребят!
Мучаюсь уже 2 дня. Не могу разобраться как загружать свои видюхи с компа в группу при помощи данного ВК API . Уже голова болит изучать.
Кто может что посоветовать или накидать простой шаблон под данное дело.
Только и вижу как делают под фото. А вот для видео найти не могу.
А то обычная работа через браузер, много жрет ресурсов компа.
 
Никто не поможет?
 
Набросал шаблон.
Рядом с шаблоном должно лежать видео с именем video.mp4 (это не сложно поправить в соответствующем экшене).

Как загрузить видео через экшн "POST запрос" я так и не разобрался. Для этой цели использовал C#.
Код:
Развернуть Свернуть Копировать
System.Net.WebClient webclient = new System.Net.WebClient();

var response = webclient.UploadFile(project.Variables["clean_upload_url"].Value, project.Variables["filepath"].Value);

return System.Text.Encoding.UTF8.GetString(response);

Чтоб загрузить видео в группу надо при запросе к video.save, на получение upload_url, передать доп. параметр - group_id. Да и вообще стоит почитать документацию по методу video.save, лишним это точно не будет.

Стоит предупредить, что это минимально рабочий вариант. Я не знаю C# и скорее всего не учёл каких-нибудь нюансов, подводных камней.
В шаблоне нет никаких проверок на возвращаемое значение, рассматривается вариант когда всё работает идеально.

Полезные ссылки:
Алгоритм загрузки видео через апи
Документация по методу video.save
 

Вложения

Набросал шаблон.
Рядом с шаблоном должно лежать видео с именем video.mp4 (это не сложно поправить в соответствующем экшене).

Как загрузить видео через экшн "POST запрос" я так и не разобрался. Для этой цели использовал C#.
Код:
Развернуть Свернуть Копировать
System.Net.WebClient webclient = new System.Net.WebClient();

var response = webclient.UploadFile(project.Variables["clean_upload_url"].Value, project.Variables["filepath"].Value);

return System.Text.Encoding.UTF8.GetString(response);

Чтоб загрузить видео в группу надо при запросе к video.save, на получение upload_url, передать доп. параметр - group_id. Да и вообще стоит почитать документацию по методу video.save, лишним это точно не будет.

Стоит предупредить, что это минимально рабочий вариант. Я не знаю C# и скорее всего не учёл каких-нибудь нюансов, подводных камней.
В шаблоне нет никаких проверок на возвращаемое значение, рассматривается вариант когда всё работает идеально.

Полезные ссылки:
Алгоритм загрузки видео через апи
Документация по методу video.save

Спасибо ОГРОМНОЕ! Мир не без добрых людей.
 
Последнее редактирование:
Спасибо, очень помогло, но при загрузке больших файлов после 100сек. выдает ошибку "Выполнение действия CSharp OwnCode: Тут происходит загрузка видео.. Запрос был прерван: Запрос отменен."
 
Спасибо, очень помогло, но при загрузке больших файлов после 100сек. выдает ошибку "Выполнение действия CSharp OwnCode: Тут происходит загрузка видео.. Запрос был прерван: Запрос отменен."
Возможно у WebClient'а есть какой-то таймаут; я с ним никогда плотно не работал, поэтому подсказать не смогу. Можете попробовать погуглить по запросу "c# webclient timeout" или "Запрос был прерван: Запрос отменен", возможно Гугл что-то подскажет.
 
Возможно у WebClient'а есть какой-то таймаут; я с ним никогда плотно не работал, поэтому подсказать не смогу. Можете попробовать погуглить по запросу "c# webclient timeout" или "Запрос был прерван: Запрос отменен", возможно Гугл что-то подскажет.
А может быть ограничение по размеру файла?
 
А может быть ограничение по размеру файла?
И такое может быть, но это уже надо смотреть на стороне VK Api.

UPD:
Возможно и в самом WebClient.UploadFile есть какой-то лимит на размер загружаемого файла. Лучше снова-таки погуглить это или почитать документацию.
 
Последнее редактирование:
И такое может быть, но это уже надо смотреть на стороне VK Api.

UPD:
Возможно и в самом WebClient.UploadFile есть какой-то лимит на размер загружаемого файла. Лучше снова-таки погуглить это или почитать документацию.
Блин, я синтаксис C# вообще не понимаю. в PHP бы разобрался, а тут вообще смотрю в книгу, вижу фигу ((((((((
 
Вот что-то нашел, но не понимаю как применить. Всегда ошибка.

https://qa-help.ru/questions/oshibki-webclient-uploadfile
"
Исключение "Запрос был прерван: запрос был отменен". вызывается, если WebClient истекает во время передачи файла. Если передача файлов не происходит, вы получите вместо этого "Время работы".

Тайм-аут происходит на клиенте. WebClient не позволяет установить тайм-аут, а значение по умолчанию для HttpWebRequest (то, что использует WebClient) составляет 100 секунд. Думаю, мне придется выяснить, как добиться прогресса при использовании HttpWebRequest. Мне также нужно выяснить, почему передача файлов ASP.Net медленнее, чем использование SAFileUp с классическим ASP.

UPDATE: я создал класс WebHelper, который заменяет WebClient, но предоставляет больше доступа к необходимым функциям базового WebRequest. Он также предоставляет множество дополнительных возможностей через WebClient. Если вас это интересует, он доступен в BizArk project на CodePlex.
"

Понимание PHP есть - это уже большой плюс:-) Чуть-чуть времени, упорства и всё получится.
 
Вот что-то нашел, но не понимаю как применить. Всегда ошибка.

https://qa-help.ru/questions/oshibki-webclient-uploadfile
"
Исключение "Запрос был прерван: запрос был отменен". вызывается, если WebClient истекает во время передачи файла. Если передача файлов не происходит, вы получите вместо этого "Время работы".

Тайм-аут происходит на клиенте. WebClient не позволяет установить тайм-аут, а значение по умолчанию для HttpWebRequest (то, что использует WebClient) составляет 100 секунд. Думаю, мне придется выяснить, как добиться прогресса при использовании HttpWebRequest. Мне также нужно выяснить, почему передача файлов ASP.Net медленнее, чем использование SAFileUp с классическим ASP.

UPDATE: я создал класс WebHelper, который заменяет WebClient, но предоставляет больше доступа к необходимым функциям базового WebRequest. Он также предоставляет множество дополнительных возможностей через WebClient. Если вас это интересует, он доступен в BizArk project на CodePlex.
"
Лично я данную проблему сходу решить не смогу. Чтоб найти ответ мне тоже надо лезть в Гугл, искать ответ и всё это тестировать. У меня на это просто нет времени. Попробуйте создать тему с описанием проблемы и, возможно, кто-то откликнется.
 
Спасибо, очень помогло, но при загрузке больших файлов после 100сек. выдает ошибку "Выполнение действия CSharp OwnCode: Тут происходит загрузка видео.. Запрос был прерван: Запрос отменен."
Не разобрались, как кубиком POST видео загружать?
 
Набросал шаблон.
Рядом с шаблоном должно лежать видео с именем video.mp4 (это не сложно поправить в соответствующем экшене).

Как загрузить видео через экшн "POST запрос" я так и не разобрался. Для этой цели использовал C#.
Код:
Развернуть Свернуть Копировать
System.Net.WebClient webclient = new System.Net.WebClient();

var response = webclient.UploadFile(project.Variables["clean_upload_url"].Value, project.Variables["filepath"].Value);

return System.Text.Encoding.UTF8.GetString(response);

Чтоб загрузить видео в группу надо при запросе к video.save, на получение upload_url, передать доп. параметр - group_id. Да и вообще стоит почитать документацию по методу video.save, лишним это точно не будет.

Стоит предупредить, что это минимально рабочий вариант. Я не знаю C# и скорее всего не учёл каких-нибудь нюансов, подводных камней.
В шаблоне нет никаких проверок на возвращаемое значение, рассматривается вариант когда всё работает идеально.

Полезные ссылки:
Алгоритм загрузки видео через апи
Документация по методу video.save


Спасибо!
Рабочий код
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)