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

HoloLensで音声認識をする方法を色々試してみた
HoloLensで音声認識をする方法を色々試してみたHoloLensで音声認識をする方法を色々試してみた
HoloLensで音声認識をする方法を色々試してみたTakahiro Miyaura
 
ゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのことゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのことMASA_T_O
 
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#Yoshifumi Kawai
 
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法モノビット エンジン
 
ゲームの仕様書を書こうまとめ
ゲームの仕様書を書こうまとめゲームの仕様書を書こうまとめ
ゲームの仕様書を書こうまとめSugimoto Chizuru
 
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019devCAT Studio, NEXON
 
이원, MMORPG 스토리텔링의 금기들, NDC2010
이원, MMORPG 스토리텔링의 금기들, NDC2010이원, MMORPG 스토리텔링의 금기들, NDC2010
이원, MMORPG 스토리텔링의 금기들, NDC2010devCAT Studio, NEXON
 
ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成
ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成
ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成Sugimoto Chizuru
 
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
モバイルアプリの高速で安定したビルドを支えるJenkins運用術モバイルアプリの高速で安定したビルドを支えるJenkins運用術
モバイルアプリの高速で安定したビルドを支えるJenkins運用術KLab Inc. / Tech
 
ゲームエンジンの中の話
ゲームエンジンの中の話ゲームエンジンの中の話
ゲームエンジンの中の話Masayoshi Kamai
 
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介UnityTechnologiesJapan002
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~UnityTechnologiesJapan002
 
【Unite Tokyo 2018 Training Day】ProBuilderで学ぶレベルデザイン ProBuilderをマスターしよう!
【Unite Tokyo 2018 Training Day】ProBuilderで学ぶレベルデザイン ProBuilderをマスターしよう!【Unite Tokyo 2018 Training Day】ProBuilderで学ぶレベルデザイン ProBuilderをマスターしよう!
【Unite Tokyo 2018 Training Day】ProBuilderで学ぶレベルデザイン ProBuilderをマスターしよう!Unity Technologies Japan K.K.
 
スクリプトエンジン作って 無双する
スクリプトエンジン作って 無双するスクリプトエンジン作って 無双する
スクリプトエンジン作って 無双するKLab Inc. / Tech
 
Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャtorisoup
 
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザインCEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザインKouji Ohno
 
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計UnityTechnologiesJapan002
 
適度に弱い敵aiの作り方
適度に弱い敵aiの作り方適度に弱い敵aiの作り方
適度に弱い敵aiの作り方dodoyuzo
 

What's hot (20)

HoloLensで音声認識をする方法を色々試してみた
HoloLensで音声認識をする方法を色々試してみたHoloLensで音声認識をする方法を色々試してみた
HoloLensで音声認識をする方法を色々試してみた
 
ゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのことゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのこと
 
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#
 
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
 
ゲームの仕様書を書こうまとめ
ゲームの仕様書を書こうまとめゲームの仕様書を書こうまとめ
ゲームの仕様書を書こうまとめ
 
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
 
이원, MMORPG 스토리텔링의 금기들, NDC2010
이원, MMORPG 스토리텔링의 금기들, NDC2010이원, MMORPG 스토리텔링의 금기들, NDC2010
이원, MMORPG 스토리텔링의 금기들, NDC2010
 
ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成
ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成
ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成
 
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
モバイルアプリの高速で安定したビルドを支えるJenkins運用術モバイルアプリの高速で安定したビルドを支えるJenkins運用術
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
 
ゲームエンジンの中の話
ゲームエンジンの中の話ゲームエンジンの中の話
ゲームエンジンの中の話
 
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
 
【Unite Tokyo 2018 Training Day】ProBuilderで学ぶレベルデザイン ProBuilderをマスターしよう!
【Unite Tokyo 2018 Training Day】ProBuilderで学ぶレベルデザイン ProBuilderをマスターしよう!【Unite Tokyo 2018 Training Day】ProBuilderで学ぶレベルデザイン ProBuilderをマスターしよう!
【Unite Tokyo 2018 Training Day】ProBuilderで学ぶレベルデザイン ProBuilderをマスターしよう!
 
スクリプトエンジン作って 無双する
スクリプトエンジン作って 無双するスクリプトエンジン作って 無双する
スクリプトエンジン作って 無双する
 
売り切りとF2pの話
売り切りとF2pの話売り切りとF2pの話
売り切りとF2pの話
 
Riderはいいぞ!
Riderはいいぞ!Riderはいいぞ!
Riderはいいぞ!
 
Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
 
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザインCEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
 
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
 
適度に弱い敵aiの作り方
適度に弱い敵aiの作り方適度に弱い敵aiの作り方
適度に弱い敵aiの作り方
 

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で遊んでみた