cURL Multipart Post, как включить файл для Docebo API

Редактировать:

Я думаю, я понял, что они хотят ключ значения, содержащего файл.

Так и должно быть:

$data = [
"importMap" => "userid,firstname,lastname,email,new_password",
"uploadedFileKey" => "@" . realpath("sample.csv"),
"file_upload" => "uploadedFileKey",
...
];

Увы что возвращает (Error 500), Ouch! Something went wrong! стр. Вероятно, этот метод API был отключен.

/ конец редактирования

Я работаю с Docebo API и каждый отправляемый мной вызов работает нормально, кроме случаев, когда я хочу включить файл.

Я уверен, что неправильно добавляю файл в массив postfield, но не могу понять, в чем заключается моя ошибка.

API запрашивает:

UserApiModuleStartSynchSchema {
importMap (Array[string]): Array of columns identifying the columns of the CSV file. For all allowed column names, see notes above. ,
file_url (string, optional): Publicly accessible URL where the CSV file can be downloaded from ,
file_upload (string, optional): The name of the uploaded CSV file (via multipart POST) ,
...
}

Я отправляю в постполе:

$data = [
"importMap" => "userid,firstname,lastname,email,new_password",
"file_upload" => "sample.csv",
"file" => "@" . realpath("sample.csv"),
...
];

Я удостоверился, что файл существует, содержание корректно и что правильная кодировка используется.

Содержимое файла:

userid,firstname,lastname,email,new_password
marysmith,Mary,Smith,[email protected],fi5Zd90S

Чтобы иметь возможность использовать API, вы должны создать заголовок авторизации, который включает в себя все подобные поля implode(‘,’, $params), Если я добавлю туда свой файл, он ответит Authorization header value doesn't match если я включу его после того, как заголовок был создан, он отвечает Error while reading uploaded CSV file,

Поэтому я подумал, что будет второй вариант, но я не могу понять, что заставило его не прочитать файл.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]