Oanda API v20请求失败

时间:2017-11-20 11:18:07

标签: php rest curl

我已经尝试了以下代码并收到一条消息,说我的特定请求不受支持,我找不到任何不适用于v20 api的解决方案。任何帮助将不胜感激使用什么或我出错的地方

我的错误信息是:

  

{“errorMessage”:“提供的不支持请求的HTTP方法   端点。“}

<?php
$ch = curl_init();
$vars = "price=B&granularity=M5&count=20";
curl_setopt($ch, CURLOPT_URL,"https://api-fxpractice.oanda.com/v3/instruments/EUR_USD/candles");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$vars);  //Post Fields
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$headers = [
    'Content-Type: application/json',
    'Authorization: Bearer access-token',
];

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$server_output = curl_exec ($ch);

curl_close ($ch);

print  $server_output ;
?>

我的目标是成功连接并从包含数据的端点获取响应。我没有python经验,这就是为什么我尝试curl甚至javascript解决方案都可以工作。我根本不理解这个API吗?

1 个答案:

答案 0 :(得分:1)

代码中突出的两件事是:

  • 没有实际的授权码。我不知道您是否在发布时为了安全起见而将其删除,或者如果您没有意识到您需要创建一个练习帐户并获取授权代码?两者都是免费的。
  • 您的代码curl_setopt($ch, CURLOPT_POST, 1);表示您正在尝试发布,而\instruments endpoint需要GET。

但我能提出的最简单的建议可能就是查看以下Github bash脚本,该脚本采用了OANDA的V1 API bash cURL示例,并为v2 rest API更新了它。

https://github.com/p-burke/oanda-REST-v2-API-bash-script