Итак, я в полном тупике. Я не могу понять, почему я взрываю квоту YouTube API. По моим данным, я делаю только ~ 1000 запросов на получение в день. Но когда дело доходит до квоты YouTube, я достигаю предела в 20 тыс.
Однако, когда я смотрю на фактические методы, я записал только 709 запросов на получение для элементов списка воспроизведения (сканирование списков воспроизведения YouTube на предмет новых проверяет каждые ~ 20 минут) и 249 запросов на поиск (поиск трейлеров новых игр на YouTube).
Я использую nodejs api / package.
Я только что обновил ключ API на прошлой неделе и удалил все неиспользуемые ключи API. Я очень уверен, что не существует мошеннического ключа API.
Примеры кода ...
const yt = google.youtube({version: 'v3', auth: 'XXXXXXXXX-my-api-key-XXXXXXXXX'});
function searchByVideoTitle (title, order, token, channelId) {
let req = {
part:'snippet',
q: title,
maxResults: 10,
order: order || "relevance",
pageToken: token || null
};
if (channelId) {
req.channelId = channelId;
}
return new Promise(function (resolve, reject) {
loggly.log('info', 'BlackWidow searching by video title: ' + title);
fileLog.info('BlackWidow searching by video title: ' + title);
yt.search.list(req, function (err, response) {
if (err) reject(err);
...
});
});
}
function getPlaylistVideos (channelId) {
currentPlaylistRequests++;
if (currentPlaylistRequests > playlistLimit) {
return Promise.reject(' too many requests ' + channelId);
}
loggly.log('info', 'BlackWidow searching playlist: ' + channelId);
fileLog.info('BlackWidow searching playlist: ' + channelId);
return yt.playlistItems.list({part: "snippet", playlistId: channelId, maxResults: 10}).then(results => {
return results.data.items.map(item => {
return {
title: item.snippet.title,
description: item.snippet.description,
publishedDate: item.snippet.publishedAt,
externalUrl: "https://www.youtube.com/watch?v=" + item.snippet.resourceId.videoId
}
})
})
}
Фактическое использование.