Coinbase API - API请求中的签名出现问题

时间:2018-04-24 08:08:10

标签: http-post concatenation string-concatenation coinbase-api

我无法使用API​​通过电子邮件地址从一个帐户汇款到另一个帐户进行脱链交易。可能有一个简单的解决方案,但我还没有发现任何对我有用的东西,尽管在这里阅读其他问题,基本上每当我发送API请求汇款时,它都会出现错误401,表示无效签名。

按照developers page上的说明,我正在向API发出POST请求,并使用API​​密钥对请求进行身份验证。除HMAC sha256签名外,一切似乎都在起作用。

例如,假设我的API密钥为abc123def456ghi0,API密码为123qwertyuiopasdfghjklzxcvbnm456。大纪元时间是12345678,方法当然是POST,我想发送比特币的电子邮件是me@example.com,金额是0.00000015 BTC和钱包/帐户ID是2bbf394c-193b-5b2a-9155-3b4732659ede

我向https://api.coinbase.com/v2/accounts/2bbf394c-193b-5b2a-9155-3b4732659ede/transactions发出POST请求,并将正文设置为type=send&to=me@example.com&amount=0.00000015&currency=BTC

这很好用,我遇到的问题是标题中的sha256签名。我可以将CB-ACCESS-KEY设置为abc123def456ghi0CB-ACCESS-TIMESTAMP设置为12345678,我可以轻松创建sha256签名并使用我的密钥签名,我只是我想我在

中写错了文字

现在我有一些变量:
时间戳:12345678
方法:POST
requestPath:/v2/accounts/1dcea380-77e6-5fd4-8a5b-28c41be39a57/transactions
body:{{ 1}}

在开发者页面上,它表示要加入消息中的时间戳,方法,请求路径和正文。我这样做并用我的密钥签名但我仍然收到错误。我只是一个业余爱好者,所以没有多少经验,这是我的信息:type=send&to=me@example.com&amount=0.00000015&currency=BTC然后我用我的密钥12345678POST/v2/accounts/2bbf394c-193b-5b2a-9155-3b4732659ede/transactionstype=send&to=me@example.com&amount=0.00000015&currency=BTC

签名

必须有一些简单的我缺少,我知道所有的变量都正在加入,所以也许我有一个123qwertyuiopasdfghjklzxcvbnm456某个地方不应该或者我需要切换一些东西,我只知道有一个简单的解决方案,所以如果有人可以帮助它将非常感激。

1 个答案:

答案 0 :(得分:0)

抱歉 - 结果我的HMAC sha256编码器也编码到base64。我已修复此问题,现在它正在运行。