POST запрос к Mixcloud - PullRequest
       18

POST запрос к Mixcloud

0 голосов
/ 11 июня 2019

У меня есть PHP-скрипт, который отправляет сообщение в Mixcloud и получает сообщение об ошибке, которое мне не удалось устранить.

Это использует PHP 7.3.6 и curl, как я видел в других постах в качестве примера.

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://api.mixcloud.com/upload/?access_token=$mixcloud");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 60 * 10);
curl_setopt($ch, CURLOPT_NOPROGRESS, true);
$server_output = curl_exec($ch);
curl_close ($ch);
// load json response into array
$res = json_decode($server_output, true);
echo print_r( $post, true );
echo print_r($res, true);

Загрузка не удалась со следующим отправленным сообщением:

Array
(
    [mp3] => @/var/share_ro/fullshow/surface.mp3
    [name] => Upload title
    [description] => Upload description
    [picture] => @/var/share_ro/fullshow/avatar.png
    [tags-0-tag] => Tag1
    [tags-1-tag] => Tag2
    [tags-2-tag] => Tag3
    [tags-3-tag] => Tag4
    [tags-4-tag] => Tag5
)

и ответом:

Array
(
    [details] => Array
        (
            [mp3] => Array
                (
                    [0] => This field is required.
                )

        )

    [error] => Array
        (
            [message] =>
            [type] => PostValidationError
        )

)

Однако полный путь к файлусуществует, и я пробовал с и без начального @ в имени файла:

$ ls -lah /var/share_ro/fullshow/surface.mp3
-rw-r--r-- 1 user mp3 79M Jun 11 16:08 /var/share_ro/fullshow/surface.mp3

Может кто-то увидеть, что я делаю неправильно?

...