【发布时间】:2018-04-29 02:42:40
【问题描述】:
我尝试通过他们的 API 更新现有的 Nextcloud 用户。当我直接通过 shell 执行此操作时,它可以工作
curl -u user:pass -X PUT "https://example.org/ocs/v1.php/cloud/users/admin" -H "OCS-APIRequest: true" -d key="quota" -d value="5GB"
但是当我尝试使用以下代码通过 PHP 执行此操作时,它总是返回“失败 997”
$url = 'https://' . $ownAdminname . ':' . $ownAdminpassword . '@example.org/ocs/v1.php/cloud/users/admin';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$fields = array("quota" => "5GB");
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($fields));
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'OCS-APIRequest: true'
));
$response = curl_exec($ch);
curl_close($ch);
echo "Response: ".$response;
【问题讨论】:
-
第二个中没有包含
value。您应该指定收到的响应。 -
我愿意(
$fields = array("quota" => "11GB"))),这有点误导,我在第一个示例中使用 5GB,在第二个示例中使用 11GB
标签: php curl owncloud nextcloud