如何在Excel中通过单元格输入的游戏密钥自动拉取Torn City API的荣誉数据
如何在Excel中通过单元格输入的游戏密钥自动拉取Torn City API的荣誉数据
Hey Kyle,我来帮你搞定这个Excel自动拉取Torn City荣誉数据的需求!下面是一步步的实操方法,亲测好用:
一、准备密钥输入单元格
- 选一个单元格(比如A1)作为游戏密钥的输入框,你可以给它加个批注或者旁边输入文字提示:请在此输入你的Torn City游戏密钥。
二、构建动态API链接
在另一个单元格(比如B1)输入以下公式,它会自动把固定API前缀和用户输入的密钥拼接成完整的请求链接:
=CONCATENATE("https://api.torn.com/user/?selections=honors&key=", A1)
或者用更简洁的TEXTJOIN函数也可以:
=TEXTJOIN("", TRUE, "https://api.torn.com/user/?selections=honors&key=", A1)
当用户在A1输入密钥后,B1会立刻生成对应的API请求链接。
三、拉取并解析JSON数据
这里分两种Excel版本来处理,适配不同的功能支持:
1. 适用于Excel 365/2021(支持动态数组)
这类版本自带JSON函数,处理起来非常方便:
首先在C1单元格输入公式获取API返回的JSON内容:
=WEBSERVICE(B1)接着在D1单元格输入公式,提取并展开
honors_awarded列表:=JSON(C1, "honors_awarded")因为是动态数组,这个公式会自动把所有荣誉项依次填充到D1及下方的单元格里,不需要手动下拉。
(可选)添加错误提示,避免密钥无效时显示乱码:
=IFERROR(JSON(WEBSERVICE(B1), "honors_awarded"), "密钥无效/API请求失败,请检查密钥")
2. 适用于旧版Excel(无JSON函数)
旧版Excel可以用Power Query来解析JSON,步骤如下:
- 点击顶部菜单栏的数据选项卡 → 选择获取数据 → 自其他来源 → 自Web
- 在弹出的窗口中,选择高级,然后点击使用单元格值,选中刚才的B1单元格,确定后加载数据
- Power Query编辑器会自动识别JSON结构,找到
honors_awarded列,点击列标题旁的展开按钮,选择“展开到新行” - 处理完成后,点击关闭并上载,数据就会导入到Excel表格中。后续只要更新A1的密钥,右键点击表格选择刷新就能获取最新荣誉数据。
四、额外优化建议
- 数据验证:给A1单元格加数据验证,限制输入格式(比如长度匹配密钥格式),避免无效输入
- 自动刷新:如果用Power Query,可以设置刷新间隔(数据选项卡 → 全部刷新 → 连接属性 → 设置刷新频率);或者用VBA实现当A1内容变化时自动刷新(需要启用宏)
- 密钥安全:提醒用户不要随意分享自己的API密钥,因为它能访问你的游戏账号数据;也可以把密钥单元格隐藏起来,避免误修改
备注:内容来源于stack exchange,提问作者Kyle Bekker
相关产品推荐
相关产品推荐

