使用 Bearer 和 Python 中的请求变量建立授权 header 的正确方法

Correct way to build up an Authorization header with Bearer and a variable for requests in Python

在 python 中构建请求 header 以用于请求的正确方法是什么?

header 需要采用以下格式:

"Authorization : Bearer ....token...." 其中....token.... 是从之前发出的 OATH 请求中获得的变量。

我试过了:

auth_token_string = "Bearer "+token
api_headers = {}
api_headers["Authorization"] = auth_token_string
api_headers["x-api-key"] = "randomjazzhere"
api_headers["accept"] = "application/json"

print(api_headers)
result = requests.get(api_call_url, headers=api_headers)
result_json = result.json()
something = result.text
print(something)

它打印的内容看起来格式正确 header,但调用失败,并且 api 没有更具体地说明问题是什么...

HTTP headers 区分大小写,而您的 accept header 有小写字母“a”,我不确定,但请尝试将其大写为 Accept。 还建议重组您的代码,例如:

auth_token_string = "Bearer "+token
api_headers = {
    "Authorization": auth_token_string,
    "x-api-key": "randomjazz",
    "Accept": "application/json"
}

print(api_headers)
result = requests.get(api_call_url, headers=api_headers)
result_json = result.json()
something = result.text
print(something)

如果仍然无效,请尝试将 x-api-key 中的 x 也更改为大写(mdn 文档提到大写 x,他们还提到这些在 2012 年已被弃用)

Reference