如何为 API (Python) 上的更多请求存储 access_token
How to store access_token for more requests on API (Python)
我正在通过 Python 的 'requests' 模块发出 API 请求。我得到 access_token,这是一个 Bearer 令牌。
我已将令牌放入这样的变量中:
def get_token():
url = 'https://myapiurl.com/oauth/token'
payload = {'username':'myusername', 'password':'mypassword'}
headers = {'Content-Type': 'application/json', 'origin': 'https://blabla.com'}
r = requests.post(url, data=json.dumps(payload),headers=headers)
mytoken = r.json()['token_type']
mytokentype = r.json()['access_token']
token_param = str(mytoken) + ' ' + str(mytokentype)
return token_param
输出是一个具有以下结构的字符串:
Bearer eyJ0eXAiOiJKV1QiLCJhb.....0sImF6cCI6ImVCOEdI
我需要此结构用于以下需要此 access_token 的 GET 请求。我不想每次发出新的 GET 请求时都获得新的令牌。
我在寻找方法时遇到问题:
1:存储一个access_token
2:检查access_token是否有效
3:使用此令牌在我的 API 上发出其他 GET 请求。
非常感谢您的建议。
我的回答:
我已将 POST 请求的全部输出放入变量 result
。
我的令牌结构必须是这样的:"Bearer tokenstring"。
所以我将类型放入变量result_tokentype
,将标记字符串放入变量result_accesstoken
。
最后我把它们放在一起放入变量 accessToken
:
result_tokentype = result["token_type"]
result_accesstoken = result["access_token"]
accessToken = str(result_tokentype) + " " + str(result_accesstoken)
现在我有了正确结构的完整字符串,我可以将这个变量用于下一个请求,例如:
url = "https://myurl.com"
headers = {"Authorization": accessToken, "key1": "value1", "Content-Type": "application/json" }
conn.request("GET", url, headers=headers)
这里对我来说效果最好。
我正在通过 Python 的 'requests' 模块发出 API 请求。我得到 access_token,这是一个 Bearer 令牌。 我已将令牌放入这样的变量中:
def get_token():
url = 'https://myapiurl.com/oauth/token'
payload = {'username':'myusername', 'password':'mypassword'}
headers = {'Content-Type': 'application/json', 'origin': 'https://blabla.com'}
r = requests.post(url, data=json.dumps(payload),headers=headers)
mytoken = r.json()['token_type']
mytokentype = r.json()['access_token']
token_param = str(mytoken) + ' ' + str(mytokentype)
return token_param
输出是一个具有以下结构的字符串:
Bearer eyJ0eXAiOiJKV1QiLCJhb.....0sImF6cCI6ImVCOEdI
我需要此结构用于以下需要此 access_token 的 GET 请求。我不想每次发出新的 GET 请求时都获得新的令牌。
我在寻找方法时遇到问题:
1:存储一个access_token
2:检查access_token是否有效
3:使用此令牌在我的 API 上发出其他 GET 请求。
非常感谢您的建议。
我的回答:
我已将 POST 请求的全部输出放入变量 result
。
我的令牌结构必须是这样的:"Bearer tokenstring"。
所以我将类型放入变量result_tokentype
,将标记字符串放入变量result_accesstoken
。
最后我把它们放在一起放入变量 accessToken
:
result_tokentype = result["token_type"]
result_accesstoken = result["access_token"]
accessToken = str(result_tokentype) + " " + str(result_accesstoken)
现在我有了正确结构的完整字符串,我可以将这个变量用于下一个请求,例如:
url = "https://myurl.com"
headers = {"Authorization": accessToken, "key1": "value1", "Content-Type": "application/json" }
conn.request("GET", url, headers=headers)
这里对我来说效果最好。