コーディング レベル: 初級
所要時間: 20 分
プロジェクト タイプ: 時間ベースのトリガーを使用した自動化
目標
- ソリューションの機能について理解する。
- ソリューション内での Apps Script サービスの役割を理解する。
- スクリプトを設定します。
- スクリプトを実行します。
このソリューションについて
このソリューションは、Google スプレッドシートのスプレッドシートで、公開されている YouTube 動画のパフォーマンス(視聴回数、高評価、コメントなど)を追跡します。このトリガーは毎日更新情報を確認します。動画に新しいコメント アクティビティがある場合はメールを送信し、質問やコメントに対応できるようにします。
仕組み
このスクリプトは、高度な YouTube サービスを使用して、各シートの [動画リンク] 列にリストされている動画 URL の YouTube 動画の詳細と統計情報を取得します。リストに表示されている動画のコメント数が増加すると、スクリプトは、シートの名前が付けられているメールアドレスにメール通知を送信します。
Apps Script サービス
このソリューションでは、次のサービスを使用します。
- スプレッドシート サービス - スプレッドシートから YouTube URL 情報を取得します。
- YouTube Data API アドバンスト サービス - 各動画 URL の YouTube 動画の詳細と統計情報を取得します。
- メール サービス - 新しいコメントが付いた動画のリストを含むメールを作成して送信します。
前提条件
このサンプルを使用するには、次の前提条件を満たしている必要があります。
- Google アカウント(Google Workspace アカウントの場合、管理者の承認が必要となる可能性があります)。
- インターネットに接続できるウェブブラウザ。
スクリプトを設定する
Apps Script プロジェクトを作成する
- 次のボタンをクリックして、YouTube 動画の視聴回数とコメントを追跡するスプレッドシートのコピーを作成します。このソリューションの Apps Script プロジェクトがスプレッドシートに添付されています。
コピーを作成 - コピーしたスプレッドシートで、[Your_Email_Address] シートの名前をメールアドレスに変更します。
- トラッキングする YouTube 動画の URL を追加するか、提供された URL を使用してテストします。URL は
www.youtube.com/watch?v=
形式で始まる必要があります。 - [拡張機能] > [Apps Script] をクリックします。[サービス] に [YouTube] がすでに表示されている場合は、次の 2 つの手順に進みます。
- [サービス] の横にある [サービスを追加] をクリックします。
- リストから [YouTube Data API] を選択し、[追加] をクリックします。
トリガーを作成する
- Apps Script プロジェクトで、[トリガー] > [トリガーを追加] をクリックします。
- [実行する関数を選択] で [markVideos] を選択します。
- [イベントのソースを選択] で [時間主導型] を選択します。
- [時間ベースのトリガーのタイプを選択] で、[日時ベースのタイマー] を選択します。
- [時刻を選択] で、希望する時刻を選択します。
- プロンプトが表示されたら、スクリプトを承認します。OAuth 同意画面に [このアプリは確認されていません] という警告が表示された場合は、[詳細] > [{プロジェクト名} に移動(安全でない)] を選択して続行します。
スクリプトを実行する
設定したトリガーにより、スクリプトは 1 日に 1 回実行されます。スクリプトを手動で実行してテストできます。
- Apps Script プロジェクトで、[エディタ] をクリックします。
- 関数のプルダウンで [markVideos] を選択します。
- [実行] をクリックします。
- スプレッドシートに戻り、スクリプトがシートに追加した情報を確認します。
- メールを開き、コメントが 1 件以上ある動画のリストを確認します。今後スクリプトが実行されると、スクリプトの前回実行以降にコメント数が増加した動画のみがメールで送信されます。
コードを確認する
このソリューションの Apps Script コードを確認するには、下の [ソースコードを表示] をクリックします。
ソースコードを表示
コード.gs
email.html
寄稿者
このサンプルは、Google デベロッパー エキスパートの協力を得て Google によって管理されています。