用python3连oanda的模拟交易api时现HTTP Error 401: UNAUTHORIZED,新手求教:
import urllib.parse
import urllib.request
url = 'https://api-fxpractice.oanda....'
access_token = 'a554db3a48ac8180a6996a5547ba1663-ac5947e64456cc5842a34f4ce05e4380'
account_id = 'cawa11'
values = {'accountId':account_id}
headers = {'Authorization':'Bearer' access_token}
data = urllib.parse.urlencode(values).encode("utf-8")
req = urllib.request.Request(url, data, headers)
response = urllib.request.urlopen(req)
the_page = response.read()
报错:
Traceback (most recent call last):
File "C:UserslenovoDesktopbb.py", line 36, in <module>
response = urllib.request.urlopen(req)
File "C:Python34liburllibrequest.py", line 161, in urlopen
return opener.open(url, data, timeout)
File "C:Python34liburllibrequest.py", line 469, in open
response = meth(req, response)
File "C:Python34liburllibrequest.py", line 579, in http_response
'http', request, response, code, msg, hdrs)
File "C:Python34liburllibrequest.py", line 507, in error
return self._call_chain(*args)
File "C:Python34liburllibrequest.py", line 441, in _call_chain
result = func(*args)
File "C:Python34liburllibrequest.py", line 587, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 401: UNAUTHORIZED
The problem has been solved, thank you for your attention:
import requests
import json
instruments = 'EUR_USD'
account_id = 'cawa11'
access_token = 'a554db3a48ac8180a6996a5547ba1663-ac5947e64456cc5842a34f4ce 05e4380'
params = {'instruments':instruments,'accountId':account_id }
headers = {'Authorization':'Bearer '+access_token}
r = requests.get("https://api-fxpractice.oanda.com/v1/prices",headers = headers, params=params)
price = r.json()
print(price'prices'['instrument'].replace('_','/'),':',round((price'prices'['ask']+price'prices '['bid'])/2,4))
Output: EUR/USD: 1.0905