我正在尝试访问需要承载令牌的API。我能够获得不记名令牌,但是我不理解下一步。标头中需要令牌,但是get只接受2个参数,这将是我的url和参数吗?
我一直在尝试模仿公司的javascript示例。 https://imgur.com/A7RhWo9 https://portal.trafnet.com/rest/home/JavascriptExample https://portal.trafnet.com/rest
#Urls
tokenurl = 'https://portal.trafnet.com/rest/token'
#Creds
user='test@test.com'
password='test'
#Fetch Bearer Token
tokenfetch = requests.post(tokenurl, data = {'grant_type':'password', 'username':user, 'password':password})
tokenval = tokenfetch.json()
mytoken = tokenval['access_token']
在这行下面,我显然不明白。
#DataParms
datefrom = '2019-09-01'
dateto = '2019-09-01'
sitecode = '01'
includeinternaloc = 'true'
datasummedbyday = 'false'
header = {'Authorization: Bearer %s' %mytoken}
params = {'SiteCode':sitecode, 'DateFrom':datefrom, 'DateTo':dateto,'IncludeInternalLocations':includeinternaloc, 'DataSummedByDay':datasummedbyday}
response = requests.post(dataurl,params,header)
print(response)
print(response.json())
{'Message':“未找到与请求URI'https://portal.trafnet.com/rest/api/traffic'相匹配的HTTP资源。”}
答案 0 :(得分:0)
如果我正确理解了问题,则说明您从发布请求中获得了承载令牌,并且必须在标头中的下一个GET API调用中使用相同的令牌。要传递标头,请使用标头作为requests.get方法的关键字参数
requests.get(dataurl, params=params, headers=header)