POST-запрос для загрузки аудиозаписи

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Ответить
iCast
Сообщения: 9
Зарегистрирован: 03 мар 2013, 21:23

POST-запрос для загрузки аудиозаписи

Сообщение iCast »

Я новичек и пока не могу разобраться как правильно формировать post-запросы.
Для начала я открываю в браузере ссылку:

Код: Выделить всё

https://api.vk.com/method/audio.getUploadServer.xml?access_token=тут_мой_токен
VK возвращает следующее:

Код: Выделить всё

<response><upload_url>http://cs521618.vk.com/upload.php?act=add_audio&mid=тут_мой_id&aid=0&gid=0&hash=2e60c284cd05407d872b09e559e7ecdd&rhash=c7b4ef6c205d767598d93e9eafb5261c&api=1</upload_url></response>
Дальше на своем сервере я создаю файл index.php с содержимым:

Код: Выделить всё

<?php$ch = curl_init();curl_setopt($ch, CURLOPT_URL, "http://cs521618.vk.com/upload.php?act=add_audio&mid=тут_id&aid=0&gid=0&hash=2e60c284cd05407d872b09e559e7ecdd&rhash=c7b4ef6c205d767598d93e9eafb5261c&api=1");curl_setopt($ch, CURLOPT_POST, true);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_POSTFIELDS, 'file=@'.'1.mp3');$content = curl_exec($ch);curl_close($ch);?>
Получаю ответ:

Код: Выделить всё

{"redirect":"http:\/\/vk.com\/audio.php?act=done_add&mid=мой_id0&aid=0&gid=0&server=521618&audio=%7B%22error%22%3A-2%7D&hash=812b4ac947d3c8ff950f95295d35555e","server":521618,"audio":"%7B%22error%22%3A-2%7D","hash":"812b4ac947d3c8ff950f95295d35555e"}
Что я не так делаю?
iCast
Сообщения: 9
Зарегистрирован: 03 мар 2013, 21:23

Re: POST-запрос для загрузки аудиозаписи

Сообщение iCast »

Разобрался. Теперь другая проблема после успешного запроса получаю такой ответ:

Код: Выделить всё

{"redirect":"http:\/\/vk.com\/audio.php?act=done_add&mid=115571480&aid=0&gid=0&server=521618&audio=%7B%22audio%22%3A%227615e83871%22%2C%22time%22%3A258%2C%22artist%22%3A%22Alex+Clare%22%2C%22title%22%3A%22Too+Close%22%2C%22genre%22%3A0%2C%22album%22%3Anull%2C%22bitrate%22%3A192%2C%22md5%22%3A%22933bfbd38d844722c5a9cadbdf28da39%22%2C%22kad%22%3A%2220015ff52aabf40800c420ffa7d9b55b%5Cn%22%7D&hash=bffa0993e5d41213972f657c51cba291","server":521618,"audio":"%7B%22audio%22%3A%227615e83871%22%2C%22time%22%3A258%2C%22artist%22%3A%22Alex+Clare%22%2C%22title%22%3A%22Too+Close%22%2C%22genre%22%3A0%2C%22album%22%3Anull%2C%22bitrate%22%3A192%2C%22md5%22%3A%22933bfbd38d844722c5a9cadbdf28da39%22%2C%22kad%22%3A%2220015ff52aabf40800c420ffa7d9b55b%5Cn%22%7D","hash":"bffa0993e5d41213972f657c51cba291"}
И как бы где обещанные документацией строки:

Код: Выделить всё

{"server": "1234", "audio": "1234", "hash": "12345abcde"}
Как мне теперь выполнить запрос чтоб сохранить эту аудиозапись??
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: POST-запрос для загрузки аудиозаписи

Сообщение Александр »

iCast
server и hash есть. audio тоже есть - только не строка, а массив. Что если это все и передать методом audio.save?
Riffi
Сообщения: 1
Зарегистрирован: 17 ноя 2014, 15:57

Re: POST-запрос для загрузки аудиозаписи

Сообщение Riffi »

iCast, a как удалось решить проблему с таким ответом ?

Код: Выделить всё

{"redirect":"http:\/\/vk.com\/audio.php?act=done_add&mid=мой_id0&aid=0&gid=0&server=521618&audio=%7B%22error%22%3A-2%7D&hash=812b4ac947d3c8ff950f95295d35555e","server":521618,"audio":"%7B%22error%22%3A-2%7D","hash":"812b4ac947d3c8ff950f95295d35555e"}
Ответить