【发布时间】:2021-09-07 09:59:47
【问题描述】:
尝试将顾客发布到 KOHA LMS,但我不断收到错误 400,如下所示;
{
//Here is missing some code.
"errors": [{
"message": "Missing property.",
"path": "/body/address"
},
{
"message": "Missing property.",
"path": "/body/category_id"
},
{
"message": "Missing property.",
"path": "/body/city"
},
{
"message": "Missing property.",
"path": "/body/library_id"
},
{
"message": "Missing property.",
"path": "/body/surname"
}],
"status": 400
}
我已经尝试了所有我能想到的方法来解决这个错误,而且似乎没有关于 KOHA 集成的具体文档。如果有人让它工作,请提供帮助。
下面是显示curl代码的部分代码;
{
//Here is missing some code.
$url2 = "http://example.com:8000/api/v1/patrons";
$username = "user";
$password = "pass";
$data = array(
'addPatron' => array(
'address' => "",
'city' => "",
'cardnumber' => $num,
'firstname' => $fname,
'surname' => $sname,
'other_name' => $mname,
'phone' => $phone,
'email' => $email,
'category_id' => $category,
'library_id' => $library_id,
)
);
/*$data = array(
'address' => "",
'city' => "",
'cardnumber' => $num,
'firstname' => $fname,
'surname' => $sname,
'other_name' => $mname,
'phone' => $phone,
'email' => $email,
'category_id' => $category,
'library_id' => $library_id
);*/
$ch3 = curl_init($url2);
curl_setopt($ch3, CURLOPT_USERPWD, $username. ":".$password);
curl_setopt($ch3, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch3, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch3, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch3, CURLOPT_POSTFIELDS, http_build_query($data));
$headers = array();
$headers[] = 'Cookie: CGISESSID='.$cookies['CGISESSID'];
$headers[] = 'Pragma: no-cache';
$headers[] = 'Upgrade-Insecure-Requests: 1';
curl_setopt($ch3, CURLOPT_HTTPHEADER, $headers);
$d = curl_exec($ch3);
curl_close($ch3);
echo "<pre>";
print_r(json_decode($d));
echo "</pre>";
}
上面的代码基本上试图将 Koha 顾客发布到图书馆管理系统中。到目前为止,我能够获得顾客。事实证明,使用相同的场景发布是很困难的。对答案的任何帮助或提示都非常重要赞赏。
【问题讨论】:
标签: php api web-services curl