Квота YouTube API увеличена - PullRequest
       117

Квота YouTube API увеличена

0 голосов
/ 04 августа 2020

Итак, я в полном тупике. Я не могу понять, почему я взрываю квоту 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
            }
        })
    })
}


Loggly logs

Quota page

Фактическое использование.

1 Ответ

2 голосов
/ 04 августа 2020

Согласно официальной документации, любой вызов Search.list конечной точки API имеет стоимость квоты в 100 единиц; соответственно, любой заданный PlaylistItems.list вызов конечной точки API имеет стоимость квоты в 1 единицу.

Таким образом, посредством элементарной арифметики c: 249 поисковых вызовов раз 100 единиц плюс 709 вызовов элементов списка воспроизведения раз 1 единица равно 25609 единиц квоты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...