API Video Вконтакте

uragan

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

uragan

Client
Регистрация
22.12.2012
Сообщения
73
Благодарностей
15
Баллы
8
Никто не поможет?
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 820
Баллы
113
Набросал шаблон.
Рядом с шаблоном должно лежать видео с именем 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
 

Вложения

uragan

Client
Регистрация
22.12.2012
Сообщения
73
Благодарностей
15
Баллы
8
Набросал шаблон.
Рядом с шаблоном должно лежать видео с именем 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
Спасибо ОГРОМНОЕ! Мир не без добрых людей.
 
Последнее редактирование:
Регистрация
28.09.2017
Сообщения
38
Благодарностей
22
Баллы
8
Спасибо, очень помогло, но при загрузке больших файлов после 100сек. выдает ошибку "Выполнение действия CSharp OwnCode: Тут происходит загрузка видео.. Запрос был прерван: Запрос отменен."
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 820
Баллы
113
Спасибо, очень помогло, но при загрузке больших файлов после 100сек. выдает ошибку "Выполнение действия CSharp OwnCode: Тут происходит загрузка видео.. Запрос был прерван: Запрос отменен."
Возможно у WebClient'а есть какой-то таймаут; я с ним никогда плотно не работал, поэтому подсказать не смогу. Можете попробовать погуглить по запросу "c# webclient timeout" или "Запрос был прерван: Запрос отменен", возможно Гугл что-то подскажет.
 
Регистрация
28.09.2017
Сообщения
38
Благодарностей
22
Баллы
8
Возможно у WebClient'а есть какой-то таймаут; я с ним никогда плотно не работал, поэтому подсказать не смогу. Можете попробовать погуглить по запросу "c# webclient timeout" или "Запрос был прерван: Запрос отменен", возможно Гугл что-то подскажет.
А может быть ограничение по размеру файла?
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 820
Баллы
113
А может быть ограничение по размеру файла?
И такое может быть, но это уже надо смотреть на стороне VK Api.

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

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

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 820
Баллы
113
Регистрация
28.09.2017
Сообщения
38
Благодарностей
22
Баллы
8
Вот что-то нашел, но не понимаю как применить. Всегда ошибка.

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 есть - это уже большой плюс:-) Чуть-чуть времени, упорства и всё получится.
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 820
Баллы
113
Вот что-то нашел, но не понимаю как применить. Всегда ошибка.

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.
"
Лично я данную проблему сходу решить не смогу. Чтоб найти ответ мне тоже надо лезть в Гугл, искать ответ и всё это тестировать. У меня на это просто нет времени. Попробуйте создать тему с описанием проблемы и, возможно, кто-то откликнется.
 
Регистрация
23.03.2015
Сообщения
1 218
Благодарностей
751
Баллы
113
Спасибо, очень помогло, но при загрузке больших файлов после 100сек. выдает ошибку "Выполнение действия CSharp OwnCode: Тут происходит загрузка видео.. Запрос был прерван: Запрос отменен."
Не разобрались, как кубиком POST видео загружать?
 
Регистрация
11.11.2014
Сообщения
114
Благодарностей
5
Баллы
18
Набросал шаблон.
Рядом с шаблоном должно лежать видео с именем 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

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

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