【问题标题】:API not getting informationAPI 未获取信息
【发布时间】:2019-07-13 17:49:35
【问题描述】:

我正在尝试构建一个机器人来在 Bittrex 上交易加密货币。 我已经弄清楚了逻辑,但在 API 方面遇到了困难......

谁能告诉我下面有什么问题?

我希望输出是余额 > 0 的每个硬币的数组,其中该数组列出了 API 文档中获取余额部分中的所有详细信息

$apikey = "123456789";
$apisecret = "abcdefghi";
$nonce=time();
$uri='https://bittrex.com/api/v1.1/market/getbalances?apikey='.$apikey.'&nonce='.$nonce;
$sign=hash_hmac('SHA512',$uri,$apisecret);
$ch = curl_init($uri);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('apisign:'.$sign));
$execResult = curl_exec($ch);
$obj = json_decode($execResult, true);

我尝试过回显 $obj, $obj['Result'], $obj['Result']['Currency'] 但除了空白页之外我什么也得不到...

【问题讨论】:

  • 您可以先使用邮递员。在 Postman 中发出与您的代码相同的请求,然后点击并检查其响应。也许这可以帮助您更好地调试代码。
  • 谢谢,我去看看

标签: php api curl hash cryptocurrency


【解决方案1】:

curl_exec 返回一个布尔值。为此,您必须设置 CURLOPT_RETURNTRANSFER 选项。

$ch = curl_init($uri);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('apisign:'.$sign));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$execResult = curl_exec($ch);
if ($execResult === FALSE) {
  echo "An error ocurred";
  die;
}
$obj = json_decode($execResult, true);

【讨论】:

    【解决方案2】:

    曾经: $uri='https://bittrex.com/api/v1.1/market/getbalances?apikey='.$apikey.'&nonce='.$nonce;

    需要: $uri='https://bittrex.com/api/v1.1/account/getbalances?apikey='.$apikey.'&nonce='.$nonce;

    还缺少: curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    谢谢味精和Grimbo!

    【讨论】:

      猜你喜欢
      • 2021-10-28
      • 2013-10-07
      • 1970-01-01
      • 1970-01-01
      • 2022-06-13
      • 1970-01-01
      • 2021-11-29
      • 2013-01-15
      • 2021-12-18
      相关资源
      最近更新 更多