Python API - 访问令牌不起作用,并给我“无效的访问令牌”错误

问题描述 投票:0回答:1

所以我有一个案例面试编程问题,是关于使用 Python 的 API 将信息从源 URL 发送到目标 URL。来自源 URL 的信息纯粹是 JSON 数据,并且准备发送到目标 URL。但为了将 JSON 数据发送到目标 URL,我需要访问令牌和 API 版本标头: 这是 post 请求所需的标头,以便我可以发布 JSON 数据。这是来自公司提供的文档。

我通过使用 get 请求并传入凭证从目标 API 中提取了访问令牌:

Base_URL = "i can't show the URL, but imagine there is a URL here"

client_ID = "abc"
client_SECRET = "123"
api_VERSION  = "v3"
grant_TYPE = "client_credentials"

headers = {
    'Client-Id': client_ID,
    'Client-Secret': client_SECRET,
    'Grant-Type':grant_TYPE,
    'Api-Version':api_VERSION
}

request = requests.get(Base_URL, headers=headers)
token_info = request.json()
token = token_info.get('access_token')
print(token)

我能够完美地检索令牌。但问题是当我必须使用令牌将数据发布到目标 API 时。

目标 api 需要 access_token,但是当我编写以下代码为 URL 提供访问令牌和 JSON 数据时:

post_URL = "Nope can't show the URL"

headers = {
    'Authorization':f'bearer {token}',
    'Api-Version':api_VERSION,
    'Content-Type': "application/json"
}

for user in user_array:
    request = requests.post(post_URL, headers=headers, json=json.dumps(user))
print(request.text)

print(request.text) 给我以下错误消息:{“message”:“无效的访问令牌”}。 谁能帮我找出我做错了什么?难道是发给我case的面试官搞错了?

python post access-token
1个回答
0
投票

请尝试使用大写的“承载者”发送请求,如下所示:

'Authorization':f'Bearer {token}'

:)

© www.soinside.com 2019 - 2024. All rights reserved.