我想进行一次REST API调用并获取访问令牌,而访问令牌将在那里停留30分钟。同样,我需要刷新该令牌。
我没有获得访问令牌的方法,尝试了许多代码片段。
示例访问令牌如下: KkcwAIyUm6XGbGUA0wejna6_8kk3Zuo66BigYo3gAGI。
邮递员中用于手动获取访问令牌的URL: [https://xxx.xxx.com/restapi/vc/authentication/sessions/login?user.login=s_user&user.password=xxx]
然后,我需要在以下URL中使用此访问令牌来获取数据: [https://xxx.xxx.com/restapi/vc/messages/id/879997?restapi.session_key=kEf-mTzu6Xnsa5HQKt8ml-9Wc-HX3wHLlphB2oQkrxE.&restapi.response_format=json]
任何人都可以为此提供python代码帮助
我正在尝试获取访问令牌的代码:
import requests
import json
with requests.Session() as session:
req = requests.get(r'https://xx.xx.com/restapi/vc/authentication/sessions/login?user.login=s_user&user.password=xxxx')
print(req.content)
输出: b'\ n F0JQfxkxxwl-O9-cQKtJhdrNRKJg3ENLd_SckmBIqU0。\ n \ n'
代码用于邮递员的硬编码访问令牌:
for m in data_list:
response = requests.get("https://xxx.xx.com/restapi/vc/messages/id/"+m+"?restapi.session_key=kEf-mTzu6Xnsa5HQKt8ml-9Wc-HX3wHLlphB2oQkrxE.&restapi.response_format=json")
data = response.json()
cleaned_text=cleanhtml(data['response']['message']['body']['$'])
body_list.append(cleaned_text)
#print(cleaned_text)
#print ('---------BODY ENDS HERE--------')
tz_subject = data['response']['message']['subject']['$']
当我对从邮递员那里获得的访问令牌进行硬编码时,我可以使用以下代码获取结果,但是我没有得到如何在python中生成访问令牌然后使用它的方法,请在我过期时刷新它>
谢谢
答案 0 :(得分:1)
令牌数据可能位于第一个代码段的req
变量中(实际上是一个响应)。
通常,响应数据为JSON格式,可以按照与第二个代码段类似的方式进行解码。如果是XML格式,则可以使用多个解析器,例如xml.etree.ElementTree
来自Python标准库。
REST API的提供者应详细说明如何将令牌保存在数据中以及如何重新生成令牌。