【问题标题】:How to fix a "Invalid authentication credentials" error when accessing an API如何在访问 API 时修复“无效的身份验证凭据”错误
【发布时间】: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


【解决方案1】:

几天前我遇到了同样的问题并联系了他们的支持。这是他们昨天的回答。

我们的系统出现问题,无法正确激活 api 密钥,因此您可能遇到了 403 或 401 错误。这已得到纠正。

我使用curl --header "TRN-Api-Key: <my_key>" https://api.fortnitetracker.com/v1/store 再次尝试了它,现在它对我有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-10
    • 2021-06-30
    • 1970-01-01
    • 2015-12-20
    • 2014-10-15
    • 2015-06-01
    • 1970-01-01
    相关资源
    最近更新 更多