Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用Helix API监听Twitch用户在线状态?_C#_Dotnet Httpclient_Twitch_Twitch Api - Fatal编程技术网

C# 如何使用Helix API监听Twitch用户在线状态?

C# 如何使用Helix API监听Twitch用户在线状态?,c#,dotnet-httpclient,twitch,twitch-api,C#,Dotnet Httpclient,Twitch,Twitch Api,我正在尝试创建Twitch扩展的后端,该扩展将搜索流式处理同一游戏的所有其他用户。要获得与游戏进行比较的类别,唯一的方法是相关频道是否为直播频道。这很好,因为只有当流开始运行时,扩展才会工作 我的问题是,我不知道如何确定扩展的用户是否已联机 public static async Task<string> GetStreamAsync() { string product = ""; List<Stream> finalPr

我正在尝试创建Twitch扩展的后端,该扩展将搜索流式处理同一游戏的所有其他用户。要获得与游戏进行比较的类别,唯一的方法是相关频道是否为直播频道。这很好,因为只有当流开始运行时,扩展才会工作

我的问题是,我不知道如何确定扩展的用户是否已联机

    public static async Task<string> GetStreamAsync()
    {
        string product = "";
        List<Stream> finalProduct = new List<Stream>();

        var response = await _httpClient.GetAsync("https://api.twitch.tv/helix/streams?user_login=Ninja");
        if (response.IsSuccessStatusCode)
        {
            product = await response.Content.ReadAsStringAsync();
            var streamToRelate = JsonConvert.DeserializeObject<RootStream>(product);

            finalProduct = await GetAllRelatedChannels(streamToRelate.Data.FirstOrDefault());
        }

        return product;
    }
公共静态异步任务GetStreamAsync()
{
字符串乘积=”;
List finalProduct=新列表();
var response=await\u httpClient.GetAsync(“https://api.twitch.tv/helix/streams?user_login=Ninja");
if(响应。IsSuccessStatusCode)
{
product=wait response.Content.ReadAsStringAsync();
var streamToRelate=JsonConvert.DeserializeObject(产品);
finalProduct=await GetAllRelatedChannel(streamToRelate.Data.FirstOrDefault());
}
退货产品;
}

正如你所看到的,我已经硬编码了一条流,我知道当时是在线的(忍者)。此数据返回得非常好,但下一步是将字符串传递到此函数中,以便进行搜索。如何在运行时获取扩展的“用户”?如果我完全偏离基准,并且缺少某些概念,请让我也知道,必要时我会做进一步的研究。

那么,如果您是扩展检测到的登录用户,您想显示其他拖缆与您玩相同的游戏(产品)吗?你可能需要做一些类似于“否”的事情,我在问,当他们开始流媒体时,我如何知道“检测”或“查看”当前用户是什么。下一步不是使用硬编码的名称,而是接受“当前用户”,我不知道怎么做。你还对此有意见吗?据我所知,您试图获取当前正在使用扩展的广播公司的用户ID/用户名?我仍然存在此问题,这是正确的。如果您已经知道他们已经开始流式处理,那么您可以调用
/users
端点,而不使用任何参数,它将返回一个1的集合,其中只包含经过身份验证的用户。这将为您提供他们的用户ID,然后您可以从中获取其余的。因此,如果您是扩展检测到的登录用户,您是否希望显示与您玩相同游戏(产品)的其他拖缆?你可能需要做一些类似于“否”的事情,我在问,当他们开始流媒体时,我如何知道“检测”或“查看”当前用户是什么。下一步不是使用硬编码的名称,而是接受“当前用户”,我不知道怎么做。你还对此有意见吗?据我所知,您试图获取当前正在使用扩展的广播公司的用户ID/用户名?我仍然存在此问题,这是正确的。如果您已经知道他们已经开始流式处理,那么您可以调用
/users
端点,而不使用任何参数,它将返回一个1的集合,其中只包含经过身份验证的用户。这将给你他们的用户ID,然后你可以从那里得到其余的。