Twitch聊天机器人对接Fortnite Tracker API请求头设置问题
解决Fortnite Tracker API请求头设置问题
我之前也踩过HTTParty请求头配置的坑!你的问题大概率出在没有正确指定TRN-Api-Key这个请求头的键名,或者没有把headers参数正确传递给HTTParty的请求方法。
正确的代码实现方式
直接在HTTParty.get方法中明确传递headers参数,注意键名要和API要求的完全一致(必须是带连字符的字符串形式,不能用简写符号):
require "httparty" # 替换成你的实际API密钥 api_key = "somelong-api-key-right-here" url = "https://api.fortnitetracker.com/v1/profile/pc/bentearzz" # 核心:正确传递headers参数 response = HTTParty.get(url, headers: { "TRN-Api-Key" => api_key }) # 验证请求结果 if response.success? # 解析并使用返回的游戏数据 stats = response.parsed_response puts "获取到的Fortnite数据:#{stats}" else puts "请求失败,状态码:#{response.code},信息:#{response.message}" end
为什么之前的方法可能失效?
- 你可能用了简写的键名(比如
:key),但API只识别TRN-Api-Key这个特定的头字段,必须完全匹配 - 可能没有将headers变量正确传入
HTTParty.get方法,导致请求根本没带上这个头
可选:全局设置默认headers(适合多请求场景)
如果你的机器人需要多次调用这个API,可以设置全局默认headers,避免重复写:
require "httparty" api_key = "somelong-api-key-right-here" # 设置全局默认请求头 HTTParty.default_options[:headers] = { "TRN-Api-Key" => api_key } # 后续请求自动带上这个头 response = HTTParty.get("https://api.fortnitetracker.com/v1/profile/pc/bentearzz")
额外检查项
- 确认你的API密钥没有复制错误,比如少了字符或者多了空格
- 检查URL中的平台(
pc)和用户名(bentearzz)是否正确,避免因资源不存在导致的错误
内容的提问来源于stack exchange,提问作者Tearzz
相关产品推荐
相关产品推荐

