【问题标题】:Using curl to retrieve prices from Oanda (trading platform)使用 curl 从 Oanda(交易平台)检索价格
【发布时间】:2016-11-12 07:19:17
【问题描述】:

我正在尝试使用终端从 Oanda 获取价格。

Oanda http://developer.oanda.com/rest-live/rates/#getCurrentPrices 提供的用于检索价格的代码是 curl X GET "https://api-fxpractice.oanda.com/v1/prices?instruments=EUR_USD%2CUSD_JPY%2CEUR_CAD"
但是当我将其键入终端时,我得到的响应是:

    "code" : 3,
    "message" : "This request requires authorization",
    "moreInfo" : "http:\/\/developer.oanda.com\/docs\/v1\/auth\/#overview"

我了解错误源于需要授权和网站curl -H "Authorization: Bearer xxxxxxxxx-xxxxxxxxxx" https://api-fxpractice.oanda.com/v1/accounts

因此,我想询问我应该在终端中键入什么,以便我可以从 Oanda 检索价格,因为授权和价格检索是网站给出的curl 中的两个不同指令。我知道它可以通过使用请求在 python 中实现,只是想知道它是如何通过curl 进行管理的,因为我对编程比较陌生。

【问题讨论】:

    标签: bash curl terminal authorization algorithmic-trading


    【解决方案1】:

    我不熟悉 Oanda,但他们似乎正在使用 OAuth2 来保护他们的网络服务。根据他们的doc,您应该能够通过他们的 UI(我的帐户 -> 我的服务 -> 管理 API 访问)生成“个人访问令牌”。

    一旦你得到这样的令牌,你应该可以像这样调用他们的网络服务:

    curl -H "Authorization: Bearer yourpersonalaccesstoken" -X GET "https://api-fxtrade.oanda.com/v1/prices?instruments=EUR_USD%2CUSD_JPY%2CEUR_CAD"
    

    【讨论】:

    • 谢谢。我有令牌,只是不确定如何通过 curl 终端调用它。我试过你的方法,输入: curl -H "Authorization: Bearer xxxxxx-xxxxxxx" -X GET "api-fxpractice.oanda.com/v1/…" 但是我收到: curl: no URL specified。我错过了什么吗?
    • 您的 curl 命令的格式可能不正确。在您的评论中,您缺少 http://。您可以尝试在终端中复制/粘贴我的答案中的确切示例并用您的令牌替换 yourpersonalaccesstoken 吗?
    • 干杯,它成功了!欣赏它!不知道可以通过连接代码来实现。我相信我之前一定是输入了错误的东西。如果您能将我引导到一些好的资源以了解有关 curl 的更多信息,我将不胜感激。无论如何,再次感谢!
    • 官方 curl 网站有一些很好的文档。查看curl.haxx.se/docs/manual.html。否则手册页非常详细(在终端中键入“man curl”)。
    猜你喜欢
    • 2021-11-30
    • 1970-01-01
    • 2021-10-29
    • 1970-01-01
    • 2019-11-02
    • 1970-01-01
    • 2017-03-12
    • 1970-01-01
    • 2012-09-06
    相关资源
    最近更新 更多