Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CoinKite新建/接收-传递正确的参数_Php_Api - Fatal编程技术网

Php CoinKite新建/接收-传递正确的参数

Php CoinKite新建/接收-传递正确的参数,php,api,Php,Api,我正在尝试使用Coinkite API生成一个new/receive比特币公钥。问题是API拒绝了我的调用,并显示了一条错误消息Bad Request,以及强制参数的某种意外参数 $endpoint='/v1/new/receive'; $url='https://api.coinkite.com'.$endpoint; $sign = CKsign($endpoint); $API_KEY = 'KebXXXXXX-XXXXXXXX-XXXXXXXXXXXXXXXX'; $ch = cur

我正在尝试使用
Coinkite API
生成一个
new/receive
比特币公钥。问题是API拒绝了我的调用,并显示了一条错误消息
Bad Request
,以及强制参数的某种意外参数

$endpoint='/v1/new/receive';
$url='https://api.coinkite.com'.$endpoint;
$sign = CKsign($endpoint);

$API_KEY = 'KebXXXXXX-XXXXXXXX-XXXXXXXXXXXXXXXX';

$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_CUSTOMREQUEST, 'PUT');
$data = array('memo' => 'test pubkey 1', 'account' => '1FXXXXXX-XXXXXX');
//$data = array(array("memo","test pubkey 1"), array("account","1F3A7E22A8-51F278"));
$data = json_encode($data);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

$result = curl_exec($ch);
curl_close($ch);

echo $result;
我收到的错误消息是:

{ "help_msg": "Unexpected arg(s): {\"memo\":\"test pubkey 
1\",\"account\":\"1FXXXXXX-XXXXXX\"}", "message": "Bad Request", "status": 
400 } 
注释的行,虚拟向量,给出了相同的错误,我不明白为什么会发生这种情况,因为这些都是强制参数。我做错了什么?

1)解决此类问题的第一步是查看“调试实时流”。它显示了所有参数、大多数头、结果和API键发生的所有错误消息

转到工具>API密钥并查找魔杖:

2) 特别是在这里的例子中,“memo”和“account”没有错,它们是这个命令的有效参数。我认为问题在于数据的编码。我想它是以表格数据的形式发送的?您应该改用JSON。Coinkite建议输入JSON(包括正确的内容类型标题行:
application/JSON
)。看一看调试实时流,看看服务器如何查看您的数据,以检查这是否是问题所在


希望有帮助

省略“$data=json_encode($data);”。在“$args=JSON文档或参数数组”中找到解决方案

非常感谢,这很有效,你建议的图书馆似乎很有用。干杯