编辑:
我想我想他们想要包含文件的值的键。
所以它应该是:
$data = [
"importMap" => "userid,firstname,lastname,email,new_password",
"uploadedFileKey" => "@" . realpath("sample.csv"),
"file_upload" => "uploadedFileKey",
...
];
Alas返回(Error 500), Ouch! Something went wrong!
页面。可能api方法已被禁用。
/ end edit
我正在使用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,marysmith@example.com,fi5Zd90S
为了能够使用API,您必须创建一个Authorization标头,其中包含所有类似implode(‘,’, $params)
的帖子。如果我在其中包含我的文件,则会在Authorization header value doesn't match
后回复,如果我在创建标题后将其包含在内,则会以Error while reading uploaded CSV file
回复。
所以我认为第二个选项是要去的那个,但是我无法弄清楚是什么让它无法读取文件。