twitch_api
一个纯 Dart 的包装器,用于通过 OAuth 隐式认证连接到 Twitch.tv。
所有端点均根据 Twitch API 参考 的定义实现。
入门
注意:此包仍处于早期阶段,请耐心等待更多方法的实现,或如果您添加了对某个端点的支持,请随时提出合并请求。目前我没有要优先添加的端点路线图,因此请随时 打开一个问题 以根据您的需求提出建议。
要使用此包,您需要在 Twitch 开发者控制台 上注册一个应用程序以获取 **客户端 ID**。
注册您的应用程序后,您需要使用您 `clientId` 和 `redirectUri` 来实例化包中的 `TwitchClient` 类。
import 'package:twitch_api/twitch_api.dart';
final _twitchClient = TwitchClient(
clientId: clientId,
redirectUri: redirectUri,
);
现在您已经初始化了客户端,在使用方法之前最后一步是管理与您的 twitch 帐户的首次连接并初始化您将收到的令牌。您可以在 flutter_webview_plugin 中找到使用该包的完整实现示例。
const clientId = "<YOUR_CLIENT_ID>";
const redirectUri = "<YOUR_REDIRECT_URL>"; // ex: "https:///"
final _twitchClient = TwitchClient(
clientId: clientId,
redirectUri: redirectUri,
);
final _flutterWebviewPlugin = FlutterWebviewPlugin();
// First authentication through a webview
Future<TwitchToken> _openConnectionPage({
List<TwitchApiScope> scopes = const [],
}) {
// Listen for url changes to detect redirection on our redirectUri.
_flutterWebviewPlugin.onUrlChanged.listen((url) {
if (url.startsWith(_twitchClient.redirectUri)) {
// After you got to your redirectUri you can initialize the token.
_twitchClient.initializeToken(TwitchToken.fromUrl(url));
// Close the webview
_flutterWebviewPlugin.close();
}
});
// When the webview is closed pop the current route.
_flutterWebviewPlugin.onDestroy.listen((_) => Navigator.pop(context));
// Get authorization URL for the connection with the webview.
final _url = _twitchClient.authorizeUri(scopes);
return Navigator.push(
context,
MaterialPageRoute(
builder: (context) => WebViewPage(_url.toString()),
),
).then((_) => _twitchClient.twitchHttpClient.validateToken());
}
现在您已准备好使用 支持的端点 部分中实现的方法。
支持的端点
广告
- 开始商业广告
分析
- 获取扩展分析
- 获取游戏分析(文档正在编写中)
Bits
- 获取 Bits 排行榜
- 获取 Cheermotes
- 获取扩展交易
频道
- 获取频道信息
- 修改频道信息
- 获取频道编辑
频道积分
- 创建自定义奖励
- 删除自定义奖励
- 获取自定义奖励
- 获取自定义奖励兑换
- 更新自定义奖励
- 更新兑换状态
聊天
- 获取频道表情
- 获取全局表情
- 获取表情集
- 获取频道聊天徽章
- 获取全局聊天徽章
- 获取聊天设置
- 更新聊天设置
剪辑
- 创建剪辑
- 获取剪辑
权益
- 创建权益授予上传 URL
- 获取代码状态
- 获取掉落权益
- 兑换代码
扩展
- 获取扩展配置段
- 设置扩展配置段
- 设置扩展所需配置
- 发送扩展 PubSub 消息
- 获取直播频道
- 获取扩展密钥
- 创建扩展密钥
- 发送扩展聊天消息
- 获取扩展
- 获取已发布的扩展
- 获取扩展 Bits 产品
- 更新扩展 Bits 产品
EventSub
- 创建 EventSub 订阅
- 删除 EventSub 订阅
- 获取 EventSub 订阅
游戏
- 获取热门游戏
- 获取游戏
Hype Train
- 获取 Hype Train 事件
管理
- 检查 AutoMod 状态
- 获取被禁事件
- 获取被禁用户
- 获取主持人
- 获取主持人事件
民意调查
- 获取投票
- 创建投票
- 结束投票
预测
- 获取预测
- 创建预测
- 结束预测
日程
- 获取频道直播日程
- 获取频道 iCalendar
- 更新频道直播日程
- 创建频道直播日程段
- 更新频道直播日程段
- 删除频道直播日程段
Search
- 搜索类别
- 搜索频道
Streams
- 获取直播流密钥
- 获取直播流
- 创建直播流标记
- 获取直播流标记
订阅
- 获取主播订阅
标签
- 获取所有直播流标签
- 获取直播流标签
- 替换直播流标签
Users(用户)
- 获取用户
- 更新用户
- 获取用户关注
- 创建用户关注
- 删除用户关注
- 获取用户黑名单
- 屏蔽用户
- 解除用户屏蔽
- 获取用户扩展
- 获取用户活动扩展
- 更新用户扩展
视频
- 获取视频
- 删除视频
Webhooks
- 获取 Webhook 订阅