Googleスプレッドシートを使ってYouTubeの再生数を自動で取得したい場合、App Scriptを使用することで自動化できます。しかし、質問者のようにトリガー設定後に再生数がスプレッドシートに反映されない問題が発生することがあります。この記事ではその解決方法を解説します。
1. 目標:YouTubeの再生数をGoogleスプレッドシートに自動で反映
まず、GoogleスプレッドシートにYouTube動画の再生数を自動で記録したいという目標を達成するためには、以下の流れを実行する必要があります。
- App ScriptでYouTube APIを呼び出す
- 取得したデータをスプレッドシートに書き込む
- 時間ごとにデータを更新するためのトリガー設定
2. App ScriptでYouTubeの再生数を取得するコードの基本
まず、YouTube APIを使用するためにGoogle Apps Scriptで以下のコードを記述します。これをスプレッドシートのスクリプトエディタに追加してください。
function getMovieViews() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
var videoId = 'YOUR_VIDEO_ID';
var url = 'https://www.googleapis.com/youtube/v3/videos?part=statistics&id=' + videoId + '&key=YOUR_API_KEY';
var response = UrlFetchApp.fetch(url);
var json = JSON.parse(response.getContentText());
var viewCount = json.items[0].statistics.viewCount;
sheet.getRange('A1').setValue(viewCount);
}
このコードは、指定したYouTubeの動画IDに基づいて再生数を取得し、それをGoogleスプレッドシートに書き込む役割を果たします。
3. トリガーの設定で自動更新を実現する
次に、YouTubeの再生数を定期的に更新するために、トリガーを設定します。スクリプトエディタで以下の手順を行ってください。
- スクリプトエディタを開き、左側の「時計」アイコンをクリックしてトリガー管理画面を開く
- 「新しいトリガーを追加」を選択し、`getMovieViews`関数を選び、トリガーを時間ベース(例えば1時間おき)で設定
- トリガー設定を保存
4. トリガーが反映されない場合の確認事項
質問者が直面している「再生数がスプレッドシートに反映されない」問題を解決するためには、以下の点を確認します。
- 関数が正しく実行されているか:Google Apps Scriptの実行ログを確認し、`getMovieViews`関数が正常に実行されているか確認します。エラーが出ていないか確認しましょう。
- トリガーが設定されているか:トリガーが正しく設定されているか再度確認します。トリガーが設定されていないと、自動で更新されません。
- APIキーの確認:YouTube Data APIを使用するにはAPIキーが必要です。APIキーが正しく設定されているか確認します。
5. まとめとトラブルシューティングのポイント
GoogleスプレッドシートでYouTubeの再生数を自動で取得するためには、App ScriptとYouTube APIを活用したコードの実装、そして適切なトリガー設定が必要です。もしスプレッドシートにデータが反映されない場合、エラーや設定ミスが原因です。上記のポイントを確認し、もう一度設定を見直してみましょう。


コメント