前提:クライアントID&OAth認証のキー取得&配信者idを取得
以前のページを参考に、クライアントID・OAth認証キー、必要であれば配信者idを取得します
「Get Clips API」からTwitchのクリップを取得
以下のページを参考にしてクリップを取得します
Reference
Twitch Developer tools and services to integrate Twitch into your development or create interactive experience on twitch.tv.
- URLは「https://api.twitch.tv/helix/clips」
- Headerに
「client_id」:「前提で取得したクライアントID」
「Authorization」:「Bearer」+「前提で取得したOAuthの文字列」 - Paramsに
「broadcaster_id」:「配信者のid」
「game_id」:「ゲームのid」
「id」:「クリップのid」
のいずれかを入れます - 追加でParamに
「started_at」:クリップが作られた時間の検索開始時間
「ended_at」:クリップが作られた時間の検索終了時間
「first」:一度に取得するクリップ数、指定しなければ20個、最大100個
「before」、「after」:後述のcursorを指定すれば、一度の検索で取得できなかった以降のクリップを取得する開始位置を指定できる
を入れることが出来ます
※時間指定はRFC3339の形式で指定します
https://docs.oracle.com/cd/E53235_01/server.761/es_data_loading/src/rdi_prereqs_props_datetime.html#:~:text=Z%E3%81%AF%E3%80%81UTC%E3%82%AA%E3%83%95%E3%82%BB%E3%83%83%E3%83%88%E3%81%8C,%E7%A4%BA%E3%81%99%E3%82%BE%E3%83%BC%E3%83%B3%E6%8C%87%E5%AE%9A%E5%AD%90%E3%81%A7%E3%81%99%E3%80%82
使用例
「2024-05-02T00:00:00Z~2024-05-03T00:00:00Z」の間に作成された「グラセフ」のクリップを「100個」取得
- URLは「https://api.twitch.tv/helix/clips」
- Headerに
「client_id」:「前提で取得したクライアントID」
「Authorization」:「Bearer」+「前提で取得したOAuthの文字列」 - Paramsに
「game_id」:32982(グラセフのゲームid)
「started_at」:2024-05-02T00:00:00Z
「ended_at」:2024-05-03T00:00:00Z
「first」:100
結果
以下のように100個クリップが取得できます
また、cursorキーが入っているので、101個以降の結果を取得する場合はこのキーを使って検索することが出来ます
{
"data": [
{
"id": "IncredulousPiercingDugongPhilosoraptor-C_w0wnfLfwYaLZHR",
"url": "https://clips.twitch.tv/IncredulousPiercingDugongPhilosoraptor-C_w0wnfLfwYaLZHR",
"embed_url": "https://clips.twitch.tv/embed?clip=IncredulousPiercingDugongPhilosoraptor-C_w0wnfLfwYaLZHR",
"broadcaster_id": "119506529",
"broadcaster_name": "らっだぁ",
"creator_id": "653466746",
"creator_name": "chaccha85",
"video_id": "2135235794",
"game_id": "32982",
"language": "ja",
"title": "察しが良すぎるパレトさん👏",
"view_count": 64313,
"created_at": "2024-05-02T13:12:42Z",
"thumbnail_url": "https://clips-media-assets2.twitch.tv/Y89sVwv8NMJ3y38GGi2R0Q/AT-cm%7CY89sVwv8NMJ3y38GGi2R0Q-preview-480x272.jpg",
"duration": 7,
"vod_offset": 11798,
"is_featured": false
},
{
"id": "SuaveSneakyJayMVGame-U0FqtAWx5YZ0b9HY",
"url": "https://clips.twitch.tv/SuaveSneakyJayMVGame-U0FqtAWx5YZ0b9HY",
"embed_url": "https://clips.twitch.tv/embed?clip=SuaveSneakyJayMVGame-U0FqtAWx5YZ0b9HY",
"broadcaster_id": "119506529",
"broadcaster_name": "らっだぁ",
"creator_id": "415168766",
"creator_name": "あらんえむかーびぃ",
"video_id": "2135235794",
"game_id": "32982",
"language": "ja",
"title": "本日の神ヘリアタック",
"view_count": 29103,
"created_at": "2024-05-02T14:40:06Z",
"thumbnail_url": "https://clips-media-assets2.twitch.tv/XLGO8lNBarQFseWGdG_R2A/41266632023-offset-17074-preview-480x272.jpg",
"duration": 26,
"vod_offset": 17050,
"is_featured": false
},
{
"id": "AntediluvianNimbleMoonOSkomodo-T1f-DfJrmi2Xxxh5",
"url": "https://clips.twitch.tv/AntediluvianNimbleMoonOSkomodo-T1f-DfJrmi2Xxxh5",
"embed_url": "https://clips.twitch.tv/embed?clip=AntediluvianNimbleMoonOSkomodo-T1f-DfJrmi2Xxxh5",
"broadcaster_id": "119506529",
"broadcaster_name": "らっだぁ",
・・・・・・・・・・
{
"id": "LuckyNurturingBoarCmonBruh-0z-RP1eAtN3lxTpb",
"url": "https://clips.twitch.tv/LuckyNurturingBoarCmonBruh-0z-RP1eAtN3lxTpb",
"embed_url": "https://clips.twitch.tv/embed?clip=LuckyNurturingBoarCmonBruh-0z-RP1eAtN3lxTpb",
"broadcaster_id": "212474095",
"broadcaster_name": "ギルくん",
"creator_id": "951238682",
"creator_name": "リリィシア",
"video_id": "2135203298",
"game_id": "32982",
"language": "ja",
"title": "音鳴も拾ってボブキャから逃走!",
"view_count": 5599,
"created_at": "2024-05-02T14:43:34Z",
"thumbnail_url": "https://clips-media-assets2.twitch.tv/UgZk09M_kT9XgLTd5cU6Ww/AT-cm%7CUgZk09M_kT9XgLTd5cU6Ww-preview-480x272.jpg",
"duration": 56.6,
"vod_offset": 24042,
"is_featured": false
}
],
"pagination": {
"cursor": "eyJiIjpudWxsLCJhIjp7IkN1cnNvciI6Ik1UQXcifX0"
}
}
Paramsに
「after」:eyJiIjpudWxsLCJhIjp7IkN1cnNvciI6Ik1UQXcifX0
を追加して検索すると101~200個目のクリップが取得できます
注意点
Get Clips APIのパラメーター「broadcaster_id」、「game_id」、「id」は同時に使用することは出来ません
例えば、グラセフのファンタのクリップを取得しようとしたときに、クエリパラメータに
「broadcaster_id」=203654142
「game_id」=32982
を同時にAPIに投げることは出来ません
なのでファンタのクリップを取得した後に、自分でグラセフのクリップかどうかを調べる必要があります
まとめ
TwitchのGet Clip APIを使ってクリップを取得する方法をまとめました
また、APIを実際にPOST manを使って叩いてクリップの一覧を取得できることを確認しました
コメント