获取 Twitch 中的直播用户列表

Get a list of live streaming users in Twitch

我想检索正在直播代码的用户列表。

此端点将提供直播流列表:

curl -H 'Accept: application/vnd.twitchtv.v3+json' -X GET https://api.twitch.tv/kraken/streams?stream_type=live

一个流(响应之一)有一个频道,其名称为:

{
        "_id": 21413418816,
        "_links": {
            "self": "https://api.twitch.tv/kraken/streams/nervarien"
        },
        "average_fps": 60.0490196078,
        "channel": {
            "_id": 25452510,
            "_links": {
                "chat": "http://api.twitch.tv/kraken/chat/nervarien",
                "commercial": "http://api.twitch.tv/kraken/channels/nervarien/commercial",
                "editors": "http://api.twitch.tv/kraken/channels/nervarien/editors",
                "features": "http://api.twitch.tv/kraken/channels/nervarien/features",
                "follows": "http://api.twitch.tv/kraken/channels/nervarien/follows",
                "self": "http://api.twitch.tv/kraken/channels/nervarien",
                "stream_key": "http://api.twitch.tv/kraken/channels/nervarien/stream_key",
                "subscriptions": "http://api.twitch.tv/kraken/channels/nervarien/subscriptions",
                "teams": "http://api.twitch.tv/kraken/channels/nervarien/teams",
                "videos": "http://api.twitch.tv/kraken/channels/nervarien/videos"
            },
            "background": null,
            "banner": null,
            "broadcaster_language": "pl",
            "created_at": "2011-10-14T16:36:04Z",
            "delay": null,
            "display_name": "Nervarien",
            "followers": 205381,
            "game": "League of Legends",
            "language": "pl",
            "logo": "https://static-cdn.jtvnw.net/jtv_user_pictures/nervarien-profile_image-8a488c78bf3d3082-300x300.png",
            "mature": false,
            "name": "nervarien",
            "partner": true,
            "profile_banner": null,
            "profile_banner_background_color": null,
            "status": "PI\u0104TEK 12:00!",
            "updated_at": "2016-05-20T11:02:47Z",
            "url": "https://www.twitch.tv/nervarien",
            "video_banner": "https://static-cdn.jtvnw.net/jtv_user_pictures/nervarien-channel_offline_image-8b8038246b36a5d6-1920x1080.jpeg",
            "views": 22045728
        },
        "created_at": "2016-05-20T10:08:00Z",
        "delay": 0,
        "game": "League of Legends",
        "is_playlist": false,
        "preview": {
            "large": "https://static-cdn.jtvnw.net/previews-ttv/live_user_nervarien-640x360.jpg",
            "medium": "https://static-cdn.jtvnw.net/previews-ttv/live_user_nervarien-320x180.jpg",
            "small": "https://static-cdn.jtvnw.net/previews-ttv/live_user_nervarien-80x45.jpg",
            "template": "https://static-cdn.jtvnw.net/previews-ttv/live_user_nervarien-{width}x{height}.jpg"
        },
        "video_height": 720,
        "viewers": 2776
    }

这个名字是用户名吗?

频道和用户有什么区别?

怎么知道是不是流码?

twitch 上的每个用户都有自己的频道,通常(在某些情况下除外)是他们进行流式传输的频道。在上面给出的示例中,用户的显示名称,例如。在流标题和聊天中显示的是 "Nervarien",索引在 json['channel']['display-name'] 下。

官方说频道和用户没有区别。它们应该完全相同。

该用户没有流式传输代码,如 json['game'] 下所示,他们正在流式传输英雄联盟。在 Twitch 上,没有官方的 programming/code 部分,只有 "game" Creative 下的标签,这是几乎所有 non-gaming 内容的包罗万象的目录。解析用户是否在 twitch 上流式传输代码的唯一方法是检查 json['game'] 是否为 "Creative",如果匹配,则检查 json['channel']['status'] 并在其中搜索字符串 #programming,因为标签位于流标题下方。

我希望这能回答你的问题。