为什么Oanda订单请求会显示错误消息?

时间:2019-04-23 15:49:51

标签: python api

我正在尝试向Oanda发送订单请求,但是我收到以下错误消息: {“ errorMessage”:“无法解析JSON正文。”}。    我已经解决了一个星期的问题,但没有找到解决方案。我检查并重新检查了所有Oanda API要求,一切似乎都正确。似乎认证很好,当我将POST方法更改为GET并稍微更改代码时,我会从我的帐户中收到所有交易记录。我对V20 Python包装器不感兴趣,我宁愿从头开始编写所有代码。根据该消息,看来我发送的订单请求不正确,原因可能是请求库使用不当或参数出现问题。任何使代码正常工作的输入将不胜感激。谢谢。

import requests

domain = 'api-fxpractice.oanda.com'
access_token = 'TOKEN'
account_id = 'ACCOUNT_ID'
Pair = "EUR_USD"

url = "https://" + domain + "/v3/accounts/" + account_id + "/orders"
headers = {"Authorization" : "Bearer "  + access_token}
params = {
      "type": "MARKET",
      "instrument": "EUR_USD",                        
      "units": "100",
      "timeInForce": "FOK",
      "positionFill": "DEFAULT"
         }
RequestData = requests.post(url, headers = headers, params = params)
print(RequestData.text)`

1 个答案:

答案 0 :(得分:0)

似乎API的主体中需要JSON,因此要实现此目的,请导入json库: import json

对于请求,将params = params更改为data = json.dumps(params),这会将POST正文中的数据作为JSON发送。完整的请求行将是:

RequestData = requests.post(url, headers = headers, data = json.dumps(params))