使用Python中的密钥访问API

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

我是在 python 中使用 API 的新手,目前正在尝试访问 API,但不断收到基于 API 文档的错误代码,这意味着我无权访问。我确实有一个带有 API 密钥的帐户,因此我假设传递给定密钥时出现问题。根据文档:

使用 shell,您只需在每个请求中传递正确的标头即可 卷曲“api_endpoint_here”-H“授权:YOUR_API_KEY”

我的代码如下:

api_url = 'https://api.balldontlie.io/v1/teams'
api_key = 'MyKey'

headers = {
    'Authorization' : 'MyKey'
}
response = requests.get(api_url)
print("hello")

if response.status_code == 200:
    data = response.json
    print(data)

else:
    print(response.status_code)

我在这里做错了什么?

python api api-key
2个回答
0
投票

您需要在 requests.get() 中将标头作为参数传递。这样想:请求如何知道您创建并称为“标头”的东西是它应该使用的东西。这是你必须时刻牢记的事情。不发生任何隐含的事情是 Python 的基本原则之一。

with requests.get(api_url, headers=headers) as response:
    data = response.json()

0
投票

您没有将标头正确传递给 API 请求。这是更正后的代码

import requests

api_url = 'https://api.balldontlie.io/v1/teams'
api_key = 'MyKey'

headers = {
    'Authorization': 'Bearer ' + api_key  # Make sure to prepend 'Bearer ' before your API key
}

response = requests.get(api_url, headers=headers)

if response.status_code == 200:
    data = response.json()
    print(data)
else:
    print("Error:", response.status_code)

我在 requests.get() 函数中包含 headers 参数,传递包含 Authorization 标头和 API 密钥的 headers 字典。另外,请确保将 response.json() 作为函数调用以从响应中获取 JSON 数据。

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