SlideShare a Scribd company logo
1 of 11
Download to read offline
Youtube Data API
で遊んでみた
岩武 澄
自己紹介
• 名前:岩武 澄
• 業務:ショッピングアプリの開発(androidを担当)
• 最近ハマっていること


リングフィットアドベンチャー( 運動不足解消のため)
• Youtubeでよくみるもの


料理, Vtuber(2D3DキャラクターのYoutuber)
LTの流れ
• Youtube Dta APIとは
• データ取得


ブラウザのお試し利用法


ライブラリ編
• おまけ


ちょっとAPIで遊んでみる


スマホアプリ公開にあたって
• まとめ


Youtube Dta APIとは
• Google が提供している Youtube関係のAPI


検索や動画投稿に関する API


 他のYoutube関係API: YouTube Analytics API


      YouTube Live API, YouTube Reporting API
• 動画のアップロードや削除
• 動画やチャンネルなどデータの取得




例:動画数,総視聴回数, チャンネル登録者数, 総高評価数,

総低評価数,総配信時間, ライブ配信情報
APIを用いたデータ取得方法
• データ取得方法は2つ




1.ブラウザ上でお試しでAPIを使う


一部の機能のみ使用可能






2.ライブラリを使用してAPIを使う


 APIを使うためのキーの準備が必要
val search = youtube.Search().list("snippet")


search.key = API_KEY


search.channelId=KIZUNA_AI


search.publishedAfter =
DateTime(DateUnit().yesterday())


//データ取得


val result = search.execute()


https://developers.google.com/youtube/v3/
docs/search/list
データ取得 ブラウザのお試し利用法
• キズナアイチャンネルの動画情報を取得


1.チャンネルIDを取得





2.チェンネルIDを設定し、動画情報を取得する


https://developers.google.com/youtube/v3/docs/search/list
データ取得 ライブラリ編(APIキーの作成)
1. 以下にアクセスする。


https://console.developers.google.com
2. プロジェクトを作成
3. プロジェクトの認証情報からAPIキーを作成する
※プロジェクトごとに


1日に行えるAPIの


リクエストに上限がある。




課金すれば上限が上がる。
データ取得 ライブラリ編
1. ライブラリを追加
2. パラメータや実装については以下のリファレンスを参考に実装


https://developers.google.com/youtube/v3/docs/search/list
1.




3. 取得結果(一部抜粋)
val search = youtube.Search().list("snippet")


search.key = API_KEY //APIキー


search.channelId=KIZUNA_AI //チャンネルID


//データ取得


val result = search.execute() Kotlin
"items": [


{


"id": {


"kind": "youtube#video",


"videoId": "On5gvNPjXGQ" //動画ID


},


"snippet": {


"publishedAt": "2020-08-28T08:24:54Z",


"channelId": "UC4YaOt1yT-ZeyB0OmxHgolA",


"title": "KING-Kanaria/covered by キズナアイ【歌ってみた】", //動画タイトル
おまけ ちょっとAPIで遊んでみる
• 動画IDから、ライブ配信のスケジュールを取得する。





• 結果(一部抜粋)








ある企業Vtuberの配信予定を
取得するスマホアプリ
val videoSearch = youtube.Videos().list("liveStreamingDetails,snippet")


videoSearch.key = API_KEY //APIキー


videoSearch.id = videoId //動画ID


//データ取得


val result = videoSearch.execute() Kotlin
チャンネルIDからライブ配信情報の取得が可能
"liveStreamingDetails": { //ライブ配信情報


"activeLiveChatId": null,


"actualEndTime": "2021-02-10T00:32:09Z", //配信終了時間


"actualStartTime": "2021-02-09T23:26:11.273000Z", //配信開始時間


"concurrentViewers": null,


"scheduledEndTime": null,


"scheduledStartTime": "2021-02-09T22:00:00Z"     //配信開始予定時間


}
おまけ ∼スマホアプリ公開にあたって∼
• 問題点


APIの利用制限があり、アプリで固定のキーを設定すると


複数人が同一のキーを使用するため利用制限に引っかかる。


→youtubeのデータを取得するサーバを作成し、データを返却させる。
• APIサーバの構築


サーバ:レンタルサーバ(さくらインターネット)


言語:PHP


フレームワーク:Laravel


アーキテクチャ:REST


まとめ
1. YoutubeDateAPIは 検索や動画投稿に関する APIで


2種の使用方法がある。


ブラウザのお試し利用法/ライブラリでの使用
2. ライブラリの使用の場合はAPIキーの準備が必要


APIはプロジェクト毎に利用制限がある。
3. YoutubeAPIを利用すると様々な動画情報を取得できる。


例:チャンネル情報から動画IDを取得し、動画IDから


ライブ情報を取得することができる。




やれることが多いのでよかったら遊んでみてね。

More Related Content

What's hot

それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイント
それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイントそれを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイント
それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイントMakoto Goto
 
ノベルゲーム動的演出の考え方
ノベルゲーム動的演出の考え方ノベルゲーム動的演出の考え方
ノベルゲーム動的演出の考え方tuna cook
 
ゲームAI製作のためのワークショップ(II)
ゲームAI製作のためのワークショップ(II)ゲームAI製作のためのワークショップ(II)
ゲームAI製作のためのワークショップ(II)Youichiro Miyake
 
Unite2017 tokyo toonshadermaniax
Unite2017 tokyo toonshadermaniaxUnite2017 tokyo toonshadermaniax
Unite2017 tokyo toonshadermaniax小林 信行
 
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザインCEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザインKouji Ohno
 
ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0
ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0
ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0Osamu Ohkubo
 
「3Dゲームをおもしろくする技術 」のいろいろな読み方
「3Dゲームをおもしろくする技術 」のいろいろな読み方「3Dゲームをおもしろくする技術 」のいろいろな読み方
「3Dゲームをおもしろくする技術 」のいろいろな読み方Kouji Ohno
 
【Unity道場スペシャル 2017大阪】トゥーンシェーダー・マニアクス2 〜ユニティちゃんトゥーンシェーダー2.0徹底解説〜
【Unity道場スペシャル 2017大阪】トゥーンシェーダー・マニアクス2 〜ユニティちゃんトゥーンシェーダー2.0徹底解説〜【Unity道場スペシャル 2017大阪】トゥーンシェーダー・マニアクス2 〜ユニティちゃんトゥーンシェーダー2.0徹底解説〜
【Unity道場スペシャル 2017大阪】トゥーンシェーダー・マニアクス2 〜ユニティちゃんトゥーンシェーダー2.0徹底解説〜Unity Technologies Japan K.K.
 
Blender で作ったアニメーションを Unreal Engine 4 で利用する
Blender で作ったアニメーションを Unreal Engine 4 で利用するBlender で作ったアニメーションを Unreal Engine 4 で利用する
Blender で作ったアニメーションを Unreal Engine 4 で利用するrarihoma
 
ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成
ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成
ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成Sugimoto Chizuru
 
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜narumi_
 
インディーゲーム開発の現状と未来 2021
インディーゲーム開発の現状と未来 2021インディーゲーム開発の現状と未来 2021
インディーゲーム開発の現状と未来 2021Unity Technologies Japan K.K.
 
Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~
Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~
Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~Piro Shiki
 
Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_ltDoozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lttorisoup
 
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!Unity Technologies Japan K.K.
 
Arxan導入前後で変わったこと
Arxan導入前後で変わったことArxan導入前後で変わったこと
Arxan導入前後で変わったことYusuke Shirakawa
 
仕様書作成のポイント_180814
仕様書作成のポイント_180814仕様書作成のポイント_180814
仕様書作成のポイント_180814Sugimoto Chizuru
 
Unityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクションUnityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクションUnity Technologies Japan K.K.
 

What's hot (20)

それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイント
それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイントそれを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイント
それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイント
 
ノベルゲーム動的演出の考え方
ノベルゲーム動的演出の考え方ノベルゲーム動的演出の考え方
ノベルゲーム動的演出の考え方
 
ゲームAI製作のためのワークショップ(II)
ゲームAI製作のためのワークショップ(II)ゲームAI製作のためのワークショップ(II)
ゲームAI製作のためのワークショップ(II)
 
Unite2017 tokyo toonshadermaniax
Unite2017 tokyo toonshadermaniaxUnite2017 tokyo toonshadermaniax
Unite2017 tokyo toonshadermaniax
 
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザインCEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
 
ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0
ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0
ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0
 
「3Dゲームをおもしろくする技術 」のいろいろな読み方
「3Dゲームをおもしろくする技術 」のいろいろな読み方「3Dゲームをおもしろくする技術 」のいろいろな読み方
「3Dゲームをおもしろくする技術 」のいろいろな読み方
 
【Unity道場スペシャル 2017大阪】トゥーンシェーダー・マニアクス2 〜ユニティちゃんトゥーンシェーダー2.0徹底解説〜
【Unity道場スペシャル 2017大阪】トゥーンシェーダー・マニアクス2 〜ユニティちゃんトゥーンシェーダー2.0徹底解説〜【Unity道場スペシャル 2017大阪】トゥーンシェーダー・マニアクス2 〜ユニティちゃんトゥーンシェーダー2.0徹底解説〜
【Unity道場スペシャル 2017大阪】トゥーンシェーダー・マニアクス2 〜ユニティちゃんトゥーンシェーダー2.0徹底解説〜
 
Blender で作ったアニメーションを Unreal Engine 4 で利用する
Blender で作ったアニメーションを Unreal Engine 4 で利用するBlender で作ったアニメーションを Unreal Engine 4 で利用する
Blender で作ったアニメーションを Unreal Engine 4 で利用する
 
ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成
ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成
ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成
 
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
 
インディーゲーム開発の現状と未来 2021
インディーゲーム開発の現状と未来 2021インディーゲーム開発の現状と未来 2021
インディーゲーム開発の現状と未来 2021
 
Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~
Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~
Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~
 
Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_ltDoozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lt
 
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
 
Arxan導入前後で変わったこと
Arxan導入前後で変わったことArxan導入前後で変わったこと
Arxan導入前後で変わったこと
 
UE4モバイルでノンゲームコンテンツ
UE4モバイルでノンゲームコンテンツUE4モバイルでノンゲームコンテンツ
UE4モバイルでノンゲームコンテンツ
 
仕様書作成のポイント_180814
仕様書作成のポイント_180814仕様書作成のポイント_180814
仕様書作成のポイント_180814
 
UIElements+UI BuilderでEditor拡張を作ろう
UIElements+UI BuilderでEditor拡張を作ろうUIElements+UI BuilderでEditor拡張を作ろう
UIElements+UI BuilderでEditor拡張を作ろう
 
Unityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクションUnityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクション
 

Similar to Youtube Data APIで遊んでみた

LINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
LINEにおける GitHub Enterpriseの活用事例と LINE NotifyについてLINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
LINEにおける GitHub Enterpriseの活用事例と LINE NotifyについてLINE Corporation
 
第38回載せられないapp
第38回載せられないapp第38回載せられないapp
第38回載せられないappcivic Sasaki
 
無料アプリ向け 広告媒体資料0731
無料アプリ向け 広告媒体資料0731無料アプリ向け 広告媒体資料0731
無料アプリ向け 広告媒体資料0731Hika Hika
 
AWS ソリューションアーキテクト アソシエイト受験レポ
AWS ソリューションアーキテクト アソシエイト受験レポAWS ソリューションアーキテクト アソシエイト受験レポ
AWS ソリューションアーキテクト アソシエイト受験レポかの たん
 
モジュール4
モジュール4モジュール4
モジュール4yukai314
 
TwitterのStreaming APIについて
TwitterのStreaming APIについてTwitterのStreaming APIについて
TwitterのStreaming APIについてHidenori Goto
 
Twitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hackTwitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hackMocel Mocelic
 
Web API を気軽に使える ツールやサービスのご紹介
Web API を気軽に使えるツールやサービスのご紹介Web API を気軽に使えるツールやサービスのご紹介
Web API を気軽に使える ツールやサービスのご紹介CData Software Japan
 
YouTube活用+成功事例集+〜YouTubeチャンネル運用編〜.pdf
YouTube活用+成功事例集+〜YouTubeチャンネル運用編〜.pdfYouTube活用+成功事例集+〜YouTubeチャンネル運用編〜.pdf
YouTube活用+成功事例集+〜YouTubeチャンネル運用編〜.pdfssuser3b70d8
 
Python twitter data_150709
Python twitter data_150709Python twitter data_150709
Python twitter data_150709BrainPad Inc.
 
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化Shinichi Nakagawa
 
Google Play Developer APIを使ってみた
Google Play Developer APIを使ってみたGoogle Play Developer APIを使ってみた
Google Play Developer APIを使ってみたshinya sakemoto
 
DIGA向けサービスを実現するAPIと新たなサービス活性化構想
DIGA向けサービスを実現するAPIと新たなサービス活性化構想DIGA向けサービスを実現するAPIと新たなサービス活性化構想
DIGA向けサービスを実現するAPIと新たなサービス活性化構想API Meetup
 
単機能Twitter クライアント試作のための各種方法の検討
単機能Twitter クライアント試作のための各種方法の検討単機能Twitter クライアント試作のための各種方法の検討
単機能Twitter クライアント試作のための各種方法の検討Akira Niiyama
 
Tokyo gas #5_whatsnewinappsscript_公開用
Tokyo gas #5_whatsnewinappsscript_公開用Tokyo gas #5_whatsnewinappsscript_公開用
Tokyo gas #5_whatsnewinappsscript_公開用啓介 大橋
 

Similar to Youtube Data APIで遊んでみた (18)

YouTube APIの紹介
YouTube APIの紹介YouTube APIの紹介
YouTube APIの紹介
 
LINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
LINEにおける GitHub Enterpriseの活用事例と LINE NotifyについてLINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
LINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
 
第38回載せられないapp
第38回載せられないapp第38回載せられないapp
第38回載せられないapp
 
無料アプリ向け 広告媒体資料0731
無料アプリ向け 広告媒体資料0731無料アプリ向け 広告媒体資料0731
無料アプリ向け 広告媒体資料0731
 
AWS ソリューションアーキテクト アソシエイト受験レポ
AWS ソリューションアーキテクト アソシエイト受験レポAWS ソリューションアーキテクト アソシエイト受験レポ
AWS ソリューションアーキテクト アソシエイト受験レポ
 
モジュール4
モジュール4モジュール4
モジュール4
 
TwitterのStreaming APIについて
TwitterのStreaming APIについてTwitterのStreaming APIについて
TwitterのStreaming APIについて
 
Twitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hackTwitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hack
 
Web API を気軽に使える ツールやサービスのご紹介
Web API を気軽に使えるツールやサービスのご紹介Web API を気軽に使えるツールやサービスのご紹介
Web API を気軽に使える ツールやサービスのご紹介
 
YouTube活用+成功事例集+〜YouTubeチャンネル運用編〜.pdf
YouTube活用+成功事例集+〜YouTubeチャンネル運用編〜.pdfYouTube活用+成功事例集+〜YouTubeチャンネル運用編〜.pdf
YouTube活用+成功事例集+〜YouTubeチャンネル運用編〜.pdf
 
Python twitter data_150709
Python twitter data_150709Python twitter data_150709
Python twitter data_150709
 
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
 
MySQL Binlog Events でストリーム処理してみた #MySQLUC15
MySQL Binlog Events でストリーム処理してみた #MySQLUC15MySQL Binlog Events でストリーム処理してみた #MySQLUC15
MySQL Binlog Events でストリーム処理してみた #MySQLUC15
 
Twitter4Jとテスト
Twitter4JとテストTwitter4Jとテスト
Twitter4Jとテスト
 
Google Play Developer APIを使ってみた
Google Play Developer APIを使ってみたGoogle Play Developer APIを使ってみた
Google Play Developer APIを使ってみた
 
DIGA向けサービスを実現するAPIと新たなサービス活性化構想
DIGA向けサービスを実現するAPIと新たなサービス活性化構想DIGA向けサービスを実現するAPIと新たなサービス活性化構想
DIGA向けサービスを実現するAPIと新たなサービス活性化構想
 
単機能Twitter クライアント試作のための各種方法の検討
単機能Twitter クライアント試作のための各種方法の検討単機能Twitter クライアント試作のための各種方法の検討
単機能Twitter クライアント試作のための各種方法の検討
 
Tokyo gas #5_whatsnewinappsscript_公開用
Tokyo gas #5_whatsnewinappsscript_公開用Tokyo gas #5_whatsnewinappsscript_公開用
Tokyo gas #5_whatsnewinappsscript_公開用
 

Youtube Data APIで遊んでみた