【发布时间】:2018-12-20 23:24:06
【问题描述】:
我正在尝试访问 fortnite tracker api (https://fortnitetracker.com/site-api) 以下载一些数据并执行一些分析。
我有一个密钥,但每次我尝试将其作为标头传递(根据上述网站),我都会不断收到“无效的身份验证凭据”错误。我试过传入我的用户名和密码,但也没有用。
import requests
session = requests.session()
api_key = 'XXXXXXXXXXXXXXX'
make_link = lambda player,platform: 'https://api.fortnitetracker.com/v1/profile/{}/{}'.format(platform,player) #this just makes the link for the proper player
sample_platform, sample_player = 'pc','Ninja'
sample_link = make_link(sample_epic_name,sample_platform)
headers = {'TRN-Api-Key': api_key} #this is the name of the api-key per the link
session.get(sample_link, headers = headers).content #this returns a message that specifies my original error: "Invalid authentication credentials"
我希望能够克服此 API 的访问问题,以便我可以使用它。如果我需要进行任何更改,请告诉我。我发现上面列出的链接很有帮助,但对像我这样的 API 新手用户没有帮助。谢谢!
【问题讨论】:
-
首先,您什么时候要求提供此 API 密钥?如果您最近这样做,可能只是在他们的服务器上进行复制的问题。
-
stackoverflow.com/questions/49749498/… 这个人在同一个 API 上遇到了同样的问题,我也是如此(我尝试重现你的问题),不幸的是他似乎没有得到答案。如果可以的话,我建议你等到明天确认它不是来自他们这边。
-
@v-déhaye 几天前我只请求过一次。我的代码当时不起作用,现在也不起作用。我想到的唯一合乎逻辑的事情可能是添加更多标题?我希望他们有更好的文档。谢谢您的帮助
-
我不认为这是解决方案,因为错误明确表示您的 API 密钥不是有效的。如果您从标头中删除它,它会返回一条不同的错误消息,表示请求缺少密钥。您对文档的看法是对的,尽管文档有点轻。您应该尝试与他们联系,如果他们帮助您解决此问题,请在此处发布解决方案并将其标记为已接受,以便社区可以从中受益:)
-
@v-déhaye 非常感谢您的帮助。他们真的不鼓励寻求帮助,尽管不确定原因。将相应更新。
标签: python api post get python-requests