如何使用 Python 从 API 获取令牌?
How to get token from API with Python?
我需要获取令牌才能连接到 API。尝试使用 python 这个:
import requests, base64
url = 'https://api-b2b.alzura.com/common/login'
token_req = base64.b64encode(b'name:passwd').decode()
headers = {'Authorization': str(token_req)}
req = requests.post(url, headers=headers)
print(req)
并获得了 ,但没有令牌。 :D
我已经阅读了关于 python 的 post 部分,但它对我不起作用。
看来我完全错了。我应该 do/learn/read?
感谢您的宝贵时间!
更新
它应该是基本身份验证,看起来不需要任何用户机密。这是开发人员的小手册:
Get a login token and expire date. Returns the X-AUTH-TOKEN which is
required for authentication of the remaining endpoints. Authentication
for this endpoint is basic auth. For authentication, an
authentication-header formatted as 'Alzura ID:Password' must be
transmitted as a base64-encoded string.
首先注意必须从服务器获取token!出于安全考虑,需要令牌才能进行一些 API 调用。通常至少有两种类型的令牌:
- 访问令牌:您可以使用它进行 API 调用(如上面的授权 header 中所述)。但是这个令牌通常会在很短的时间后过期。
- 刷新令牌:使用此令牌在访问令牌过期后刷新它。
除了请求之外,您还应该使用 requests-oauthlib。
https://pypi.org/project/requests-oauthlib/
但首先,请阅读可用的代币获取工作流程:
https://requests-oauthlib.readthedocs.io/en/latest/oauth2_workflow.html#available-workflows
并选择适合您目的的正确工作流程。 (最常用的是Web App工作流)
然后,在您的代码中实现工作流程以获取令牌。获得有效令牌后,您可以使用它进行各种 API 调用。
附带说明:请务必在需要时刷新令牌。
我需要获取令牌才能连接到 API。尝试使用 python 这个:
import requests, base64
url = 'https://api-b2b.alzura.com/common/login'
token_req = base64.b64encode(b'name:passwd').decode()
headers = {'Authorization': str(token_req)}
req = requests.post(url, headers=headers)
print(req)
并获得了
看来我完全错了。我应该 do/learn/read?
感谢您的宝贵时间!
更新 它应该是基本身份验证,看起来不需要任何用户机密。这是开发人员的小手册:
Get a login token and expire date. Returns the X-AUTH-TOKEN which is required for authentication of the remaining endpoints. Authentication for this endpoint is basic auth. For authentication, an authentication-header formatted as 'Alzura ID:Password' must be transmitted as a base64-encoded string.
首先注意必须从服务器获取token!出于安全考虑,需要令牌才能进行一些 API 调用。通常至少有两种类型的令牌:
- 访问令牌:您可以使用它进行 API 调用(如上面的授权 header 中所述)。但是这个令牌通常会在很短的时间后过期。
- 刷新令牌:使用此令牌在访问令牌过期后刷新它。
除了请求之外,您还应该使用 requests-oauthlib。
https://pypi.org/project/requests-oauthlib/
但首先,请阅读可用的代币获取工作流程:
https://requests-oauthlib.readthedocs.io/en/latest/oauth2_workflow.html#available-workflows
并选择适合您目的的正确工作流程。 (最常用的是Web App工作流)
然后,在您的代码中实现工作流程以获取令牌。获得有效令牌后,您可以使用它进行各种 API 调用。
附带说明:请务必在需要时刷新令牌。