【发布时间】:2025-11-30 18:30:02
【问题描述】:
我正在尝试通过 API 从特定钱包中出售我的比特币。
我的 GET 调用工作正常,但 POST 调用显示“签名无效”
$API_KEY = '*****';
$API_SECRET = '*****';
$data['amount'] = 10;
$data['currency'] = 'USD';
$data['quote'] = true;
$api_url = '/v2/accounts/593b0285-****-****-****-f0ddcb6c9ccc/sells';
$timestamp = time();
$signature = hash_hmac('SHA256',$timestamp.'POST'.$api_url.json_encode($data),$API_SECRET;
$version = '2017-11-11';
$headers = array('CB-ACCESS-SIGN: '.$signature,
'CB-ACCESS-TIMESTAMP: '.$timestamp,
'CB-ACCESS-KEY: '.$API_KEY,
'CB-VERSION: '.$version);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.coinbase.com'.$api_url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$data = curl_exec($ch);
这是我从 Coinbase 得到的结果
stdClass Object
(
[errors] => Array
(
[0] => stdClass Object
(
[id] => authentication_error
[message] => invalid signature
)
)
)
我已将货币更改为 BTC 以进行尝试。 $api_url 中的帐户 ID 是我执行帐户 API 调用时的帐户 ID。
[id] => 593b0285-****-****-****-f0ddcb6c9ccc
[name] => BTC Wallet
[primary] => 1
[type] => wallet
【问题讨论】:
-
您的错误信息还有更多内容吗?
-
不,没有发送标头,只是 Coinbase 发送的那个错误。
标签: coinbase-api