使用标头中的API密钥执行GET API调用的正确方法?

时间:2018-04-10 09:01:28

标签: python api python-requests

我从未真正尝试过编写自己调用API的代码。我发现Python Requests库后创建了一些Python代码。

但是,我无法通过此“身份验证失败”错误消息。

我获得的API密钥来自https://fortnitetracker.com/site-api

我使用的代码如下:

import requests
url = 'https://api.fortnitetracker.com/v1/profile/pc/ninja'
headers = {"TRN-Api-Key": "MY_KEY"}
r = requests.get(url, headers=headers)

在询问r.status_code后,我得到了403 Forbidden。当我要求r.text时,我得到了

  

u'{“message”:“身份验证凭据无效”} \ n'

在API页面上,他们所说的只是使用GET方法在请求标头中传递API密钥。

我甚至尝试传递我以前使用

在网站上注册的凭据
r = requests.get(url, headers=headers,auth=('User', 'Pass'))

仍然会收到相同的无效身份验证凭据错误。

我正在做的是正确的吗?我错过了什么?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

如果您要调用API,则需要发送帖子:

r = requests.post(url,headers = headers)

答案 1 :(得分:0)

您确定不必提供类似这样的API密钥吗?

{'Auth': 'Token my_key'}

大多数API都是这样做的,但我无法在任何地方找到对其API文档的任何引用。