1.前提・実現したいこと
特定のチャンネルのキーワード、日付に沿った動画をすべて取得し、googleスプレッドシートに表示させたいです。
2.発生している問題・エラーメッセージ
ですが、下記の最大50個までしか取得できません。
3.該当のソースコード
GAS
function searchByKeyword() { // データを取得 const results = YouTube.Search.list('snippet', { channelId:'チャンネルID', publishedAfter:'YYYY-MM-DDT00:00:00Z', publishedBefore:'YYYY-MM-DDT00:00:00Z', q:'キーワード', maxResults: 50 }); //シート定義 const ss = SpreadsheetApp.getActiveSpreadsheet() const sheetName1 = "シート名"; const srcSheet = ss.getSheetByName(sheetName1); //データを貼り付けるシートをクリア srcSheet.clear() // ログに表示 for(let i = 0; i < results.items.length; i++){ Logger.log(results.items[i].snippet.title) Logger.log(results.items[i].snippet.publishedAt) Logger.log(results.items[i].snippet.channelTitle) Logger.log(results.items[i].id.videoId) Logger.log(results.items[i].id.channelId) // 追加(スプレッドシートにデータを表示) srcSheet.getRange(i+1, 1).setValue(results.items[i].snippet.title) srcSheet.getRange(i+1, 2).setValue(results.items[i].snippet.publishedAt) srcSheet.getRange(i+1, 3).setValue(results.items[i].snippet.channelTitle) srcSheet.getRange(i+1, 4).setValue(results.items[i].id.videoId) srcSheet.getRange(i+1, 5).setValue(results.items[i].id.channelId) } }
4.自分で調べたことや試したこと
そのため、youtube data api公式リファレンスよりpagetokenをスクリプトに組み込むと最大個数50個以上の情報が取得できるということはわかりました。しかし、他のウェブサイトで調べてもpagetokenをどこに、どう組み込めばいいかわかりません。
5.使っているツールのバージョンなど補足情報
Google Apps Script
初心者のためわかりにくい文章になってましたらすみません。
まだ回答がついていません
会員登録して回答してみよう