我正在使用 cURL 請求向 CloudTables 資料庫插入一行。以下是其 [檔案][1] 中提供的示例 cURL 請求:
curl \
-X POST \
-d key=:apiKey \
https://sub-domain.cloudtables.io/api/1/dataset/:id
在哪里
- :apiKey 是用于訪問的 API 密鑰(見下文)
- :id 是資料集 ID(一個 UUID),
下面是我的 PHP 代碼:
$post = array(
'clientId' => $user_id,
'clientName' => $user_email,
'dp-01' => $user_id,
'dp-02' => $user_type,
'dp-03' => $fullname,
'dp-04' => $address,
);
$ch = curl_init('https://sub-domain.cloudtables.io/api/1/dataset/my-dataset-id');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('key: my-api-key'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
curl_close($ch);
但每次回復都說:
[
{
"msg":"API key is required",
"name":"key"
}
]
為什么!!!發送 API 密鑰的正確方法是什么?
我還嘗試在 $post 陣列和 URL 中發送 API 密鑰,但得到相同的回應。[1]:https : //cloudtables.com/docs/cloud/api/rest/post-dataset
uj5u.com熱心網友回復:
為 傳遞一個陣列CURLOPT_POSTFIELDS將使它發送一個multipart/form-data請求——而 API 顯然期望application/x-www-form-urlencoded.
使用curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));替代
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/350844.html
下一篇:如何從php回傳特定的陣列資料?
