我正在努力尝试正确配置新的 YouTube Data API v3。我需要从 Google Chrome 扩展程序访问 API。我已经从Google APIs Console创建了一个 API 密钥,更准确地说是浏览器应用程序的密钥(带有引用者)密钥。将允许的引用设置为空白,所有引用都被允许并且一切正常。
但是,此密钥嵌入在我的 Chrome 扩展程序中,因此对所有人公开。任何人都可以使用我的密钥提出请求,污染我的统计数据并浪费我的配额限制。我了解允许的引用字段是为了避免这种情况。跟踪我的 API 请求的标头,我可以看到我Origin
的如下:
chrome-extension://myExtensionId
此外,在 API 的响应中,我可以看到以下标头:
Access-Control-Allow-Origin: chrome-extension://myExtensionId
所以一切似乎都正常工作。但是,如果我将allowed referers字段设置为chrome-extension://myExtensionId
,它不起作用,我会收到类似“访问未配置”的错误。我究竟做错了什么?
我的猜测是allowed referers字段只能用于 HTTP 引用,但在这种情况下,这对于扩展开发人员来说是一个非常烦人的限制。我想说,对于允许的引用字段,任何模式都应该是可以的。