使用Lua+coro-http调用Fortnite Tracker API返回无效凭证错误求助
Fixing "Invalid authentication credentials" with Fortnite Tracker API and coro-http
我一眼就看出问题出在你的请求头格式上啦!coro-http库要求请求头必须是键值对数组的形式传递,而你现在把完整的头字符串塞进了单元素数组里,导致API根本无法正确识别你的认证密钥。
修正后的代码
local http = require('coro-http') local url = "https://api.fortnitetracker.com/v1/profile/pc/SSundee" -- 改成coro-http要求的键值对格式:每个头是包含名称和值的子表 local headers = { {"TRN-Api-Key", "mykey"} -- 第一个元素是头名称,第二个是你的API密钥 } local co = coroutine.wrap(function() local result, body = http.request("GET", url, headers) print(body) end) co()
问题原因解释
你之前写的{{"TRN-Api-Key:mykey"}}是把完整的头字符串作为单个元素传递,coro-http会把它解析成一个格式完全错误的请求头(相当于发送了一个没有名称、值为TRN-Api-Key:mykey的无效头)。正确的做法是把每个HTTP头拆分成「名称」和「值」两个独立部分,放在子表里,这样库才能构造出符合HTTP规范的请求头。
额外检查建议
- 确认你的
mykey是从Fortnite Tracker官网获取的有效密钥,没有多余的空格、换行符或拼写错误 - 验证请求URL的参数(比如平台
pc、用户名SSundee)是否完全正确 - 排查是否有网络代理、防火墙或其他工具修改了你的请求头,导致密钥被截断或篡改
内容的提问来源于stack exchange,提问作者Old
相关产品推荐
相关产品推荐

