Youtube api 如何在没有api密钥的客户端计算机上使用Youtube api v3?

Youtube api 如何在没有api密钥的客户端计算机上使用Youtube api v3?,youtube-api,youtube-data-api,Youtube Api,Youtube Data Api,我计划制作一个使用Youtube数据API v3的浏览器扩展。由于代码对用户是公开的,因此我无法在代码中使用API密钥。在这种情况下,使用API的正确方法是什么?此外,由于API调用将从用户的浏览器中进行,是否有任何其他方法可以在根本不使用API键的情况下获取数据?TL;博士 在上,创建一个新密钥或编辑一个现有密钥,使其不受限制。这将使任何人都可以在发布时使用此键发出请求如果没有密钥(或者使用OAuth时分别使用令牌),就无法使用YouTube API。你的客户每天最多可以消费50.000.00

我计划制作一个使用Youtube数据API v3的浏览器扩展。由于代码对用户是公开的,因此我无法在代码中使用API密钥。在这种情况下,使用API的正确方法是什么?此外,由于API调用将从用户的浏览器中进行,是否有任何其他方法可以在根本不使用API键的情况下获取数据?

TL;博士 在上,创建一个新密钥或编辑一个现有密钥,使其不受限制。这将使任何人都可以在发布时使用此键发出请求如果没有密钥(或者使用OAuth时分别使用令牌),就无法使用YouTube API。你的客户每天最多可以消费50.000.000个配额单位,之后,除非你购买更多配额,否则你的应用程序将在一天的剩余时间内基本中断

但是,我不同意您不能(或“不应该”)发布API密钥的说法;在某些情况下,这很可能是需要的

详细说明 Web应用程序密钥过去分为两组:服务器密钥和浏览器密钥,前者在Web应用程序的服务器上保密,而后者被发送到客户端用于JavaScript。服务器密钥可以配置为仅从某些IP地址接受。这样,即使有人拿到了你的钥匙,他们也无法使用它。浏览器密钥可以限制在指定的引用方,即您的web应用程序的域(如DNS),因此除了您自己的站点之外,它也无法在其他站点上工作

如今,服务器键和浏览器键之间不再有区别,它们被简单地称为“API键”。这种结合对我来说非常有意义,因为这两种类型之间的唯一区别在于它们是如何受到限制的。有了新的API密钥,您仍然可以选择如何限制其使用,或者选择根本不限制密钥

这就是我们回到您的案例的地方:当然,可以发布密钥,同时限制它。根据有多少用户正在使用你的应用程序(将来也会使用),以及有多少用户正在为他们自己的应用程序(你无法控制)使用你的密钥,5000万配额限制将对你起作用,或者不会

A那么还有责任您负责使用API密钥进行的查询。这可能是YouTube不允许没有有效密钥的请求的原因之一:他们需要控制自己的服务,并且自然地希望保护它免受DOS攻击。如果有人用你的钥匙捣乱,你会因此而受到惩罚,通常是通过停用钥匙