如何在Streamlink Python包中使用Twitch auth-token进行身份验证?
解决Streamlink Python包中设置Twitch Auth-Token的问题
你之前的代码错误在于直接将CLI参数名(带--前缀)传给了Streamlink的options参数,而Python API的options需要使用配置键名(不带--)。以下是两种正确的实现方式:
方法一:直接设置Twitch OAuth Token配置项
Streamlink专门提供了针对Twitch的oauth token配置键,无需手动构造请求头:
class MyClass: def __init__(self): auth = 'abcdefghijklmnopqrstuvwxyz0123' # 创建session时传入配置 self.session = streamlink.Streamlink(options={ "twitch-oauth-token": auth }) # 也可以在session创建后动态设置 # self.session.set_option("twitch-oauth-token", auth)
方法二:自定义Twitch API请求头
如果需要手动指定API请求头,使用不带--的twitch-api-header作为配置键:
class MyClass: def __init__(self): auth = 'abcdefghijklmnopqrstuvwxyz0123' self.session = streamlink.Streamlink(options={ "twitch-api-header": f"Authorization=OAuth {auth}" })
补充说明
- 设置完成后,Streamlink会使用你的认证信息向Twitch请求流,若你拥有Twitch Turbo或频道订阅,即可实现免广告播放。
- 若需要让所有HTTP请求都携带该认证头,也可以直接操作session的HTTP头:
self.session.http.headers.update({ "Authorization": f"OAuth {auth}" })
内容的提问来源于stack exchange,提问作者NeoFahrenheit
相关产品推荐
相关产品推荐

