Heim  >  Fragen und Antworten  >  Hauptteil

python3.x – Python verbindet die simulierte Handels-API von Oanda, um die zweite Frage der JSON-Frage zu erhalten

In der ersten Frage wurde es gelöst, die simulierte Handels-API von oanda zu verbinden, um den sofortigen Wechselkurs von EUR_USD zu erhalten. Nochmals vielen Dank an @prolifes für seine enthusiastische Hilfe. Das Verfahren ist wie folgt:
Anfragen importieren
json importieren
url = "https://api-fxpractice.oanda.com/v1/prices"
instruments = 'EUR_USD'
account_id = 'cawa11'
params = {'instruments':instruments,'accountId':account_id}
access_token = 'a554db3a48ac8180a6996a5547ba1663 -ac5947e64456 cc5842a34f4ce05e4380'
headers = {'Authorization ':'Bearer '+access_token} #Nach Bearer steht ein Leerzeichen
r = request.get(url, headers = headers, params=params)
print(r.json() )
Der resultierende JSON ist:
{'prices': [{'bid': 1.0926, 'time': '2017-05-03T05:45:25.737018Z', 'ask': 1.09274, 'instrument': 'EUR_USD '}]}
Jetzt möchte ich sowohl EUR_USD als auch USD_CAD erhalten. Der Echtzeit-Wechselkurs wird als JSON in der folgenden Form erhalten:
{'prices': [{'instrument': 'EUR_USD', 'ask': 1.09324 , 'time': '2017-05-03T04:44:38.200174Z', ' bid': 1.09311},{'instrument': 'USD_CAD', 'ask': 1.37270, 'time': '2017-05-03T04 :44:38.200174Z', 'bid': 1.37251}]}

迷茫迷茫2712 Tage vor660

Antworte allen(2)Ich werde antworten

  • 大家讲道理

    大家讲道理2017-05-18 10:57:43

    问题已解决,谢谢各位关注:
    import requests
    import json

    url = "https://api-fxpractice.oanda.com/v1/prices"
    instruments = 'EUR_USD,USD_CAD'
    account_id = 'cawa11'
    params = {'instruments':instruments,'accountId':account_id}
    access_token = 'a554db3a48ac8180a6996a5547ba1663-ac5947e64456cc5842a34f4ce05e4380'
    headers = {'Connection': 'Keep-Alive','Accept-Encoding': 'gzip,deflate','Authorization':'Bearer '+access_token}
    r = requests.get(url,headers = headers, params=params)
    price = r.json()
    print(r.json())
    print(price'prices'['instrument'].replace('_','/'),':',round((price'prices'['ask']+price'prices'['bid'])/2,4),' ',price'prices'['time'])
    print(price'prices'['instrument'].replace('_','/'),':',round((price'prices'['ask']+price'prices'['bid'])/2,4),' ',price'prices'['time'])

    输出:
    {'prices': [{'bid': 1.09171, 'ask': 1.09184, 'instrument': 'EUR_USD', 'time': '2017-05-03T06:44:19.750556Z'}, {'bid': 1.37203, 'ask': 1.37219, 'instrument': 'USD_CAD', 'time': '2017-05-03T06:44:19.738338Z'}]}
    EUR/USD : 1.0918 2017-05-03T06:44:19.750556Z
    USD/CAD : 1.3721 2017-05-03T06:44:19.738338Z

    Antwort
    0
  • 漂亮男人

    漂亮男人2017-05-18 10:57:43

    这个已经不是技术层次的问题了,你应该去了解一下他的api有没有提供这个功能,如果没有提供同时获取两个的功能,那你只能分开来取,然后再合并起来

    Antwort
    0
  • StornierenAntwort