You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅通过App ID获取Steam游戏图标?Electron.js启动器开发求助

仅通过App ID获取Steam游戏图标的推荐方案

以下是几种无需依赖过时库或手动查找哈希值的可靠方案:

1. 官方Steam Web API(最可靠)

利用Steam官方提供的Web API获取游戏信息,直接拿到图标URL:

  • 先在Steam开发者平台申请免费的API密钥。
  • 调用GetAppDetails接口,返回的JSON数据中包含logo和header_image字段,分别对应游戏logo图标和封面图。
  • Electron中示例代码:
const fetch = require('node-fetch');

async function fetchSteamIcon(appId, apiKey) {
  const apiUrl = `https://api.steampowered.com/ISteamApps/GetAppDetails/v2/?appids=${appId}&key=${apiKey}`;
  const res = await fetch(apiUrl);
  const data = await res.json();
  
  if (data[appId]?.success) {
    // 优先取logo,也可根据需求替换为header_image
    return data[appId].data.logo;
  }
  return null;
}
  • 注意:接口有调用频率限制,建议将获取到的图标URL缓存到本地,避免重复请求。

2. 无API密钥的Steam CDN端点

Steam提供了一个无需认证的CDN端点,直接通过App ID访问图标:

  • 固定格式:https://steamcdn-a.akamaihd.net/steam/apps/{appId}/logo.png
  • 示例:访问https://steamcdn-a.akamaihd.net/steam/apps/70/logo.png即可获取Half-Life的logo。
  • Electron中可直接在页面加载或通过网络请求获取,无需额外处理。
  • 注意:少数冷门/老游戏可能没有该资源,但覆盖绝大多数主流游戏。

3. 本地Steam缓存提取(无网络依赖)

如果需要离线获取,直接读取Steam本地缓存文件:

  • Steam会将游戏图标缓存到{Steam安装目录}/appcache/librarycache下,文件名格式为{appId}_icon.jpg或{appId}_logo.png。
  • Electron中读取本地文件的示例:
const fs = require('fs').promises;
const path = require('path');

async function getLocalSteamIcon(appId, steamInstallPath) {
  // 先尝试icon.jpg
  const iconPath = path.join(steamInstallPath, 'appcache', 'librarycache', `${appId}_icon.jpg`);
  try {
    await fs.access(iconPath);
    return `file://${iconPath}`; // Electron支持直接加载本地文件路径
  } catch {
    // 尝试logo.png
    const logoPath = path.join(steamInstallPath, 'appcache', 'librarycache', `${appId}_logo.png`);
    try {
      await fs.access(logoPath);
      return `file://${logoPath}`;
    } catch {
      return null;
    }
  }
}
  • 注意:需要先获取用户的Steam安装路径,可通过常见路径猜测(如Windows的C:\Program Files (x86)\Steam)或读取注册表信息。

内容的提问来源于stack exchange,提问作者user25770302

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 15:33:11