[ひとことでいうとこんな記事]
[目次]
Many Google apps, one platform in the cloud
Google Apps Script は、様々なGoogleのサービスに関連したプログラムができる便利なものとなっています。
公式にも書いてあるとおりたくさんGoogleのサービスがありますが、それらをいろいろ複合的に処理できるわけですね。
YouTubeのアイコンは公式のTOPに掲載されていませんが、もちろんGASで情報を活用することができます。
Google Apps Script を記述する前に、以下の設定をしておきましょう。
Google Apps Script ページ上部のタブ > リソース > Googleの拡張サービス… > Advanced Google Services の YouTube Data API
を有効
YouTube.Search.list('id,snippet', {
maxResults: [budget(Integer)],
channelId: '[YourChannelID(String)]',
order: "date", // 取得順序は、最新動画順にしてある
type: "video",
pageToken: '[NextToken(String)]'
})
お気づきの人もいるかも知れませんが、NextTokenがあるということは 一気に取得できる上限があるってことなんですよね。
0 以上 50 以下の値を指定できます。デフォルト値は 5 です。
ということなので、ページングの要領で何度も動画情報を取得する必要があるということです。
ちなみに、160本ほど動画をアップロードしている方に頼まれてこの手法で取得しておりますが、なぜか64個ほどの動画情報しか取得ができていません。(原因がわかりません。だれか助けてください)
以下のような動画情報がitems
に配列として複数個入ってきます。
{
"kind": "youtube#video",
"etag": etag,
"id": string,
"snippet": {
"publishedTime": datetime,
"channelId": string,
"title": string,
"description": string,
"thumbnails": {
(key): {
"url": string,
"width": unsigned integer,
"height": unsigned integer
}
},
"channelTitle": string,
"liveBroadcastContent": string
}
実際私は、以下のように加工して利用していたりします。
function ParamToVideo_(param,upload){
this.title = param.snippet.title
this.slug = param.id
this.description = param.snippet.description
this.url = `https://www.youtube.com/watch?v=${param.id}`
this.thumbnail = param.snippet.thumbnails.high.url
this.iframe = `https://www.youtube.com/embed/${param.id}`
}
titleやdescriptionやidを取得するのはもちろん、iframe用のURLを生成したりしてます。
参考: YouTube 埋め込みプレーヤーとプレーヤーのパラメータ | YouTube IFrame Player API
Google Apps Script は冒頭にも記述したとおり様々なGoogleのサービスと連携しているので、__YouTubeの情報を取得し、それをGoogle Spread Sheet に入れる__なんてこともかんたんにできてしまいます。
その方法等は、以前記事にさせていただいた以下の内容を参考にぜひ実施してみてください。
Spreadsheetでラクしたい Google Apps Script ソースコードテンプレート
[お願い]
ささやかながらYouTubeでも、学んだことのアウトプットをしていく取り組みをしていきたいと思います。また、自分の好きなものの紹介も実施していきます。
チャンネル登録・高評価よろしくお願いいたします。
一緒に様々なことを学んでいく仲間を募集しています。
このサイトのお問い合わせなどからご連絡いただけると幸いです。