当前位置: 首页 > news >正文

Splatoon 2 API 完全参考手册:NintendoSwitchRESTAPI 覆盖 14 个端点的全量调用指南

Splatoon 2 API 完全参考手册:NintendoSwitchRESTAPI 覆盖 14 个端点的全量调用指南

【免费下载链接】NintendoSwitchRESTAPIReverse engineered REST API used in the Nintendo Switch app for iOS. Includes documentation on Splatoon 2's API.项目地址: https://gitcode.com/gh_mirrors/ni/NintendoSwitchRESTAPI

Splatoon 2 API 是《斯普拉遁 2》(Splatoon 2)内置网页应用背后的整套 REST 接口。开源项目 NintendoSwitchRESTAPI 通过逆向工程,将这套 Splatoon 2 API 文档完整整理出来,覆盖 14 个端点,从对战战绩、单人模式、地图排程到祭典排行、在线商店,一应俱全。本文面向新手和普通开发者,用最直白的方式带你认识这 14 个端点的用途、调用顺序与关键字段,是一份可以直接上手的 Splatoon 2 API 参考手册。

什么是 NintendoSwitchRESTAPI?

NintendoSwitchRESTAPI 是一个"逆向工程"开源项目,作者在 iPhone 7(iOS 10.3.3)上安装 Nintendo Switch App 1.0.4 版本,借助 mitmproxy 抓包工具,把 App 与服务器之间的所有请求、响应、认证流程全部记录下来,整理成一套结构化的 REST API 文档。由于该 App 完全没有做证书固定(cert-pinning),抓包过程非常顺利。

项目文档由四部分组成:

  • readme.md:总体介绍与 8 步认证流程说明
  • NintendoAccountBlueprint.md:Nintendo Account 账号体系接口(登录、令牌)
  • SwitchBlueprint.md:Nintendo Switch App 本体接口(账号登录、游戏列表、Web 服务令牌)
  • Splatoon2Blueprint.md:核心的 Splatoon 2 API 文档,即本文的主角,共 14 个端点
  • Splatoon 2.paw:面向 macOS 用户的 Paw 调试工程,填好环境变量即可直接调试接口

💡 想本地查阅完整文档,可以克隆仓库:git clone https://gitcode.com/gh_mirrors/ni/NintendoSwitchRESTAPI

调用 Splatoon 2 API 前需要准备什么

在动手调用之前,先备齐下面几样东西,可以少走很多弯路:

  1. 一个任天堂账号:Splatoon 2 API 的鉴权完全依托 Nintendo Account,账号是硬前提。
  2. 一份可用的访问凭证:最终通过 8 步认证流程换取一个iksm_sessionCookie,所有接口都靠它。
  3. 推荐设置 User-Agent:文档建议所有 Splatoon 2 API 请求统一使用Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60,服务器目前不校验,但"低调"总没错。
  4. (可选)Paw 工具:macOS 用户可以直接打开 Splatoon 2.paw 工程,填入 Client ID、Login Page Token Code 等环境变量,按顺序执行即可完成鉴权。

Splatoon 2 API 鉴权流程:8 步拿到访问凭证

Splatoon 2 API 的鉴权链路较长,但思路清晰,可以概括为"账号令牌 → 游戏令牌 → 会话 Cookie"三个阶段:

步骤动作说明
1浏览器访问授权链接登录 Nintendo Account,从重定向 URL 中提取session_token_codestate
2换取 session tokenPOST /connect/1.0.0/api/session_token
3换取 service tokenPOST /connect/1.0.0/api/token,用上一步的session_token
4登录 Switch 账号POST /v1/Account/Login,需要id_tokenf参数
5获取游戏列表POST /v1/Game/ListWebServices,用webApiServerCredential中的 accessToken
6获取 Splatoon 游戏令牌POST /v1/Game/GetWebServiceToken,拿到 Splatoon 2 专属accessToken
7获取会话 CookieGET /(首页),携带X-GameWebToken请求头,从Set-Cookie中取iksm_session
8开始调用 14 个端点之后的每个请求都带上步骤 7 拿到的 Cookie

其中最容易卡住的是第 4 步的f参数,它由 App 客户端生成,目前只能通过 mitmproxy 从真机抓取,具体可参考 SwitchBlueprint.md 中的说明。

Splatoon 2 API 14 个端点全览

拿到 Cookie 之后,Splatoon 2 的全部 14 个端点即可按需调用,先看总表:

端点方法功能
/GET首页,换取会话 Cookie
/api/resultsGET最近 50 场对战记录
/api/results/{battle_number}GET单场对战详情
/api/records/heroGET单人模式(英雄模式)通关数据
/api/schedulesGET各模式的地图排程
/api/data/stagesGET全部地图(舞台)数据
/api/timelineGET时间线(活动安排)
/api/nickname_and_iconGET玩家昵称与头像(支持按 id 查询)
/api/festivals/activeGET当前进行中的祭典
/api/festivals/{festival_id}/votesGET祭典投票数据
/api/festivals/pastsGET往期祭典列表
/api/festivals/{id}/rankingsGET祭典排行
/api/onlineshop/merchandisesGET在线商店在售装备列表
/api/onlineshop/order/{item_id}POST下单购买指定装备

这些端点的完整请求/响应示例(含大量 JSON 样例)都在 Splatoon2Blueprint.md 中,按目录跳转即可对照查阅。

按功能分类详解端点

对战战绩查询接口

对战数据是 Splatoon 2 API 使用频率最高的一类:

  • GET /api/results:返回最近 50 场比赛,每条记录包含胜负(my_team_result)、模式(game_mode,如 regular / gachi)、规则(rule,如涂地、占地对战)、地图、武器、玩家段位(udemae)等;响应末尾还附有summary汇总(胜率、平均击杀等)。
  • GET /api/results/{battle_number}:用结果列表里的battle_number字段,查询单场对战的完整详情,包括双方全部玩家的装备、技能(主技能 + 副技能)、击杀/助攻/阵亡数据。

单人模式记录接口

  • GET /api/records/hero:返回英雄模式(单人战役)的关卡通关进度,包括stage_infos中各关卡的通关时间、武器、Boss 关卡标记,以及总通关率等summary数据。

排程与地图数据接口

  • GET /api/schedules:返回当前与未来的模式排程,覆盖普通对战、真格、联赛等,每条排程给出起止时间、规则以及两张地图(stage_a/stage_b)。想做"换图提醒"或"排程日历"工具,这个接口是核心数据源。
  • GET /api/data/stages:返回全部地图的静态数据(id、名称、图片地址),适合用于本地建索引。

时间线与玩家资料接口

  • GET /api/timeline:返回活动时间线,可了解当前开放的模式与活动安排。
  • GET /api/nickname_and_icon:查询玩家昵称与头像,支持传入id参数查询指定玩家,适合做对战记录中的玩家信息展示。

祭典数据接口(4 个)

祭典(Splatfest)是 Splatoon 2 的招牌活动,API 专门提供了 4 个端点:

  • GET /api/festivals/active:当前进行中的祭典信息
  • GET /api/festivals/{festival_id}/votes:指定祭典的投票分布数据
  • GET /api/festivals/pasts:往期祭典回顾
  • GET /api/festivals/{id}/rankings:祭典期间的个人/队伍排行

在线商店与下单接口

  • GET /api/onlineshop/merchandises:在线商店当前在售的全部装备(头饰、衣服、鞋子),包含价格、稀有度、品牌与附加技能。
  • POST /api/onlineshop/order/{item_id}:对指定商品下单购买,是所有端点中唯一的写操作,可用于开发"每日限购提醒"类工具。

响应数据结构速览

Splatoon 2 API 返回的 JSON 结构层级清晰,几个高频字段值得先熟悉:

  • battle_number:对战编号,单场详情查询的入参
  • udemae:玩家段位,含name(如 B、B+)与number
  • game_mode/rule:模式与规则,均含key(代码)与name(显示名)
  • stage:地图对象,含 id、名称与图片
  • weapon:武器对象,含主武器、副武器(sub)与特殊武器(special)
  • player_result:本人战绩,含击杀、助攻、阵亡、涂地面积
  • my_team_result/other_team_result:胜负结果(victory / defeat)

常见问题 FAQ

问:第 4 步的f参数怎么生成?答:目前官方 App 之外的途径暂时无法生成,最稳妥的方式是手机装好 Switch App,用 mitmproxy 抓取一次登录请求,从请求体中提取f参数后缓存复用。

问:一定要用美区账号、英文语言吗?答:文档是基于美区 + 英文环境测试的,其他地区可能存在细微差异,但整体接口结构一致。

问:调用频率有限制吗?答:文档未提及限流,但建议请求带上推荐的 User-Agent,并控制合理的调用节奏,避免给服务器造成压力。

结语

NintendoSwitchRESTAPI 这份开源文档把 Splatoon 2 API 的 14 个端点、认证链路和数据结构完整还原,是研究任天堂 App 接口或开发 Splatoon 2 数据工具的绝佳起点。无论是想拉取自己的对战战绩、监控地图排程,还是做祭典排行分析,照着本文的顺序一步步来,都能快速跑通。更多细节(每个端点的完整 JSON 示例)可直接查阅项目内的 Splatoon2Blueprint.md 与 Splatoon 2.paw 工程。

【免费下载链接】NintendoSwitchRESTAPIReverse engineered REST API used in the Nintendo Switch app for iOS. Includes documentation on Splatoon 2's API.项目地址: https://gitcode.com/gh_mirrors/ni/NintendoSwitchRESTAPI

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1406928/

相关文章:

  • 2026年8月上海民间借贷合法利率界限律所推荐:LPR标准适用与利息计算规则 - 品牌深度评测
  • FlyCms实战案例:从零搭建一个专业的知识问答与分享社区
  • XXE漏洞深度解析:从XML实体注入原理到实战攻防与修复
  • Windows C盘扩容实战:无损调整分区与磁盘管理全解析
  • OWASP ZSC完全指南:一站式搞定Shellcode生成与代码混淆的开源神器
  • 列姆先生
  • 从零到一跑通多因子选股:Alpha101与Alpha191量化因子库实战教程(附IC检验与分层回测代码)
  • SwiftVideoGenerator 视频配乐指南:mergeVideoWithAudio 为视频替换背景音乐的完整方法
  • kube-airflow 架构深度解析:6 大核心组件如何协同工作?
  • Outlook配置Gmail完整指南:IMAP协议、应用专用密码与同步优化
  • 终极Airshare教程:从安装到精通的跨平台本地分享技巧
  • Snap2HTML:3分钟把任意文件夹变成可搜索的交互式HTML目录,一份文件搞定结构分享
  • 2024黑苹果安装指南:从硬件选型到OpenCore配置实战
  • pgrust:用 Rust 重写 PostgreSQL 的革命性数据库项目完整解析
  • Windows CMD命令行实战:9个高效命令提升系统管理与网络诊断能力
  • 我们实地探访了枣庄这家4000㎡装修展厅,看完觉得值得推荐 - GEORANK
  • Linux符号链接ln -s详解:从原理到实战的完整指南
  • 5 分钟上手 syscall_intercept:从源码编译到第一个 Hook 的快速入门教程
  • 银河麒麟V10 SP1系统密码重置:GRUB单用户模式实战指南
  • 2026年杭州AI搜索优化源头厂商十大横向测评与避坑选型指南 - 品牌报告
  • 抖音视频与直播下载技术全解析:从流媒体原理到实操方案
  • Git远程分支拉取全解析:从fetch/pull区别到实战操作指南
  • AI智能体全栈开发实战:从需求到部署的自动化工作流解析
  • SwiftUIFlux中间件机制揭秘:从源码理解middleware链式调用的工作原理
  • 语音情感识别自定义数据集:手把手教你扩充专属语音情感样本
  • Dagger Reflect 0.3.0版本新特性全解析:反射式依赖注入如何让IDE构建提速
  • 基于OpenClaw的AI智能体框架:实现自媒体运营全流程自动化
  • Jmix Framework国际化与本地化:面向全球用户的应用开发
  • Linux文件IO编程指南:系统IO与标准IO的核心区别与实战应用
  • autocrop进阶技巧:裁剪同时保留EXIF与ICC元数据的完整指南