Загрузка аудиозаписей в vk.com средствами vk api - C#
Формулировка задачи:
Доброго времени суток! Проблема собственно в выполнении post запроса при отправке аудиофайла на сервер. Это второй шаг:
Источник
Процедура заливки файла:
Может кто-нибудь выполнял такое... Help)))
Загрузка аудиозаписей
Загрузка аудиозаписей на сервер ВКонтакте от имени пользователя осуществляется приложением в 3 этапа:
1. С помощью метода audio.getUploadServer приложение узнает http-адрес для загрузки аудиозаписей.
2. Приложение формирует POST-запрос на полученный адрес.
Поле file должно содержать файл в формате MP3.
В ответ приложение получает данные: server, audio и hash в виде JSON:
{"server": "1234", "audio": "1234", "hash": "12345abcde"}
3. С помощью метода audio.save приложение передает серверу полученные данные (server, audio и hash) и получает данные о загруженной аудиозаписи.
Аудиозаписи загружены.
public static void loadToVK(string filePath) { string url = String.Format(@"https://api.vk.com/method/audio.getUploadServer.xml?access_token={0}", token); var xml = new XmlDocument(); xml.Load(url); string serverUrl = xml.InnerText; serverUrl = serverUrl.Replace("&", "&"); var bytes = File.ReadAllBytes(filePath); var cookies = new CookieContainer(); ServicePointManager.Expect100Continue = false; var request = (HttpWebRequest)WebRequest.Create(serverUrl); request.CookieContainer = cookies; request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; using (var requestStream = request.GetRequestStream()) using (var writer = new StreamWriter(requestStream)) { writer.Write(bytes); } string responseJSON; using (var responseStream = request.GetResponse().GetResponseStream()) using (var reader = new StreamReader(responseStream)) { responseJSON = reader.ReadToEnd(); } Dictionary<string, string> info = ParseJson(responseJSON); url = String.Format(@"https://api.vk.com/method/audio.save.xml?server={0}&audio={1}&access_token={2}&hash={3}", info["server"], info["audio"], token, info["hash"]); xml = new XmlDocument(); xml.Load(url); }
Решение задачи: «Загрузка аудиозаписей в vk.com средствами vk api»
textual
Листинг программы
Dictionary<string, string> info = ParseJson(responseJSON); url = String.Format(@"https://api.vk.com/method/audio.save.xml?server={0}&audio={1}&access_token={2}&hash={3}", info["server"], info["audio"], token, info["hash"]); xml = new XmlDocument(); xml.Load(url);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д