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

如何通过TwitchLib获取指定游戏的Drops(Entitlements)数据?

解决TwitchLib获取指定游戏Drops活动列表的问题

你搞混了API端点的用途:GetDropsEntitlementsAsync是用来获取当前授权用户已经领取的掉落权益(比如已拿到的皮肤、道具),不是用来查询游戏本身的掉落活动列表(比如哪些任务可触发掉落)。

要获取指定游戏的Drops活动数据,你应该用TwitchLib的Helix.Drops.GetDropsCampaignsAsync方法,这个端点专门拉取游戏的公开掉落活动信息,和你在Twitch官网Drops页面看到的内容对应。

修正后的代码示例

// 第一步:获取目标游戏的ID
var gamesResponse = await TwitchApi.Api.Helix.Games.GetGamesAsync(gameNames: new List<string> { "Halo Infinite" });
var targetGameId = gamesResponse.Games.FirstOrDefault()?.Id;
if (string.IsNullOrEmpty(targetGameId))
{
    // 处理游戏未找到的情况
    return;
}

// 第二步:调用正确的端点获取游戏的掉落活动列表
var dropsCampaignsResponse = await TwitchApi.Api.Helix.Drops.GetDropsCampaignsAsync(gameId: targetGameId);

// 遍历输出活动信息
foreach(var campaign in dropsCampaignsResponse.Campaigns)
{
    Console.WriteLine($"掉落活动名称:{campaign.Name}");
    Console.WriteLine($"活动状态:{campaign.Status}");
    Console.WriteLine($"开始时间:{campaign.StartDate}");
    Console.WriteLine($"结束时间:{campaign.EndDate}");
}

权限与注意事项

  • 这个端点不需要特殊的游戏权限,只要你的Twitch API客户端凭证(Client ID + Client Secret)有效即可,因为掉落活动是公开数据。
  • 如果你之前用的是用户授权的token(带用户范围的),也能正常调用这个端点,无需额外申请权限。
  • 之前的错误提示虽提到ClientID或token问题,但本质是你用错了端点——GetDropsEntitlementsAsync需要用户授权的token(访问用户个人权益),但即便传了userId,它也不是你要的游戏掉落活动数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 22:12:10