我收到错误:
{" message":" Method Not Allowed"," status":405}
尝试创建新的接收地址时。根据{{3}}我的API密钥有" recv"权限。
API doc是API doc关于将args发送到端点的内容。唯一需要的参数是帐户,我在POST
中尝试cURL
。
我怀疑我没有正确设置cURL
选项。
这是我的代码:
$endpoint='/v1/new/receive';
$url='https://api.coinkite.com'.$endpoint;
$sign = coinkitesign($endpoint);
$API_KEY = COINKITEAPIKEY;
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_HTTPHEADER,array("X-CK-Key: {$API_KEY}", "X-CK-Sign: {$sign[0]}", "X-CK-Timestamp: {$sign[1]}"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
$data = array('account' => '933xxxxx2A-Axxxx5','memo' => 'test1234');
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
答案 0 :(得分:1)
您需要执行PUT
请求,而不是POST
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
您应该始终在API文档中仔细检查您接受的方法:https://docs.coinkite.com/api/new-update.html
答案 1 :(得分:0)
确实解决方案是使用put - 这是我需要的代码:
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
$data = array('account' => 'xxxxxx-xxxxxx','memo' => 'test1234');
$data = json_encode($data);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);