- Вы хотите получить все элементы из
channelId
. - Вы хотите поместить
title
и videoId
из найденных элементов в столбцы "A" и "B" of "Sheet1 ".
Если мое понимание верно, как насчет этой модификации?Пожалуйста, подумайте об этом как об одном из нескольких ответов.
Точки модификации:
- Если вы хотите получить предметы более 50, используйте
nextPageToken
. - В вашем скрипте
setValue()
используется в цикле for.В этом случае стоимость процесса станет высокой.Таким образом, в вашем случае вы можете использовать setValues()
.
Когда указанные выше точки отражаются в вашем скрипте, это выглядит следующим образом.
Модифицированный скрипт:
Когда вы используете это, включите API данных YouTube в Advanced Google Services.
function Search_YouTube_videos_ByChannel() {
var items = [];
var pageToken = "";
do {
var temp = YouTube.Search.list('id,snippet', {
channelId:'UCZFUrFoqvqlN8seaAeEwjlw',
maxResults: 50,
pageToken: pageToken,
});
Array.prototype.push.apply(items, temp.items);
pageToken = temp.nextPageToken || "";
} while (pageToken);
var spread_active = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = spread_active.getSheetByName("Sheet1");
var values = items.map(function(e) {return [e.snippet.title, e.id.videoId]});
sheet1.getRange(sheet1.getLastRow() + 1, 1, values.length, values[0].length).setValues(values);
}
Примечание:
- Когда этот скрипт запущен, получается 410 элементов.
Ссылки:
Если я неправильно понял ваш вопрос, и это был не тот результат, который вам нужен, прошу прощения.