使用createButton()以外的函数时Coinbase-php抛出401错误

时间:2014-04-03 05:58:02

标签: php bitcoin coinbase-api coinbase-php

我使用coinbase-php在我的网站上生成付款页面和处理订单。我能够毫无问题地创建按钮和付款页面,但当我尝试检查订单的状态时,我收到401错误。我使用的代码是:

$coinbase = Coinbase::withApiKey($coinbase_key, $coinbase_secret);
$data = json_decode($coinbase->get('/orders/'.$order_id));

这是相关的错误消息:

Notice: exception 'Coinbase_ApiException' with message 'Status code 401' in lib\Coinbase\Requestor.php:22  
Stack trace:  
#0 lib\Coinbase\Rpc.php(95): Coinbase_Requestor->doCurlRequest(Resource id #50)  
#1 lib\Coinbase\Coinbase.php(64): Coinbase_Rpc->request('GET', '/orders/6c00ec5...', Array)  
#2 inc\admin\orders.inc.php(214): Coinbase->get('/orders/N1263OA...')  

我测试了库中的其他几个函数,而createButton()似乎是唯一有效的函数。

2 个答案:

答案 0 :(得分:0)

我发现coinbase-php中包含了一个getOrder()函数,它只是在文档中。 这段代码正在运行:

$coinbase = Coinbase::withApiKey($coinbase_key, $coinbase_secret);
$status = $coinbase->getOrder($order_id)->status;

我仍然不确定为什么我的原始代码失败了,但至少我有一个解决方案。

答案 1 :(得分:0)

我看到你已回答了自己的问题,但让我继续说明你为什么会遇到401错误。

如@ r3wt所述,401表示未经授权的错误。 Coinbase最近推出了一项新功能,可以让您管理任何api密钥对的权限。您可以在此处查看权限:http://i.imgur.com/ZKoGpz2.png

您的问题可能是由不正确的权限引起的。 Coinbase也确实发生了中断,并且还更新了他们的API和UI。您可能已经进行了api调用,但可能失败了。我希望这能解释你可能遇到的任何问题。