MailChimp Api, ошибка парсинга изображения

Ошибка:

тип: http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/ title: Недопустимый статус ресурса: 400 деталь: Ошибка анализа изображения: К сожалению, файлы без расширения не допускаются. пример: ef9dc203-c04a-48bd-95b4-66c46de26b77

Код PHP

    $apikey = GP('mailchimp_api_key');

    $auth       =    base64_encode( 'user:'.$apikey );

    $list = array(

        'name'=>'File Name',
        'file_data'=>'iVBORw....'
        //'file_data'=>'data:image/png;base64,iVBORw....'
 );

    $json_post = json_encode($list);

    $ch = curl_init();

    $curlopt_url = 'https://us18.api.mailchimp.com/3.0/file-manager/files';

    curl_setopt($ch, CURLOPT_URL, $curlopt_url);

    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Authorization: Basic '.$auth));
    curl_setopt($ch, CURLOPT_USERAGENT, 'PHP-MCAPI/3.0');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $json_post);

    $result = curl_exec($ch);
    $status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

    echo "<pre>";
    print_r($result);
    echo "</pre>";

Мои вопросы, я хочу загрузить фотографии через MailChimp Api.

В чем причина ошибки?


person Mehmet Nedim AKGUL    schedule 11.05.2018    source источник


Ответы (1)


Вам необходимо установить расширение файла для значения параметра name в массиве $list в вашем коде. Расширение должно быть точно таким же, как у загружаемого файла.

curl --request POST \
--url 'https://usX.api.mailchimp.com/3.0/file-manager/files' \
--user 'anystring:apikey' \
--header 'content-type: application/json' \
--data '{"name": "test.txt", "file_data": "VGhpcyBpcyBhbiBleGFtcGxlIGxpbmUgb2YgdGV4dC4="}' \
--include

Файлы диспетчера файлов

person camelsWriteInCamelCase    schedule 11.05.2018