【问题标题】:YouTube API Quota Blowing UpYouTube API 配额激增
【发布时间】:2020-11-23 23:08:54
【问题描述】:

所以,我完全被难住了。我不知道为什么我会超出 YouTube API 配额。根据我的记录,我每天只发出约 1000 个获取请求。但是当谈到 YouTube 配额时,我已经达到了 20k 的限制。

但是,当我查看实际方法时,我只记录了 709 个关于播放列表项目的获取请求(每约 20 分钟扫描一次 youtube 播放列表以获取新评论)和 249 个搜索请求(在 YouTube 上搜索新游戏预告片)。

我正在使用 nodejs api / 包。

我上周刚刚刷新了 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
            }
        })
    })
}


【问题讨论】:

    标签: youtube-api youtube-data-api google-api-nodejs-client


    【解决方案1】:

    根据官方文档,任何给定的Search.list API 端点调用的配额成本为 100 个单位;分别地,任何给定的PlaylistItems.list API 端点调用的配额成本为 1 个单位。

    因此,通过基本算术:249 次搜索调用 100 个单位加上 709 个播放列表项调用 1 个单位等于 25609 个配额单位。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-21
      • 1970-01-01
      • 2018-03-17
      • 2020-10-02
      • 2022-01-24
      • 2023-04-01
      • 2018-03-04
      相关资源
      最近更新 更多