YouTube 资源上 window.fetch 的 CORS 错误

CORS error with window.fetch on YouTube resource

我正在使用 window.fetch 检索具有以下 URL 的 YouTube 资源:

http://www.youtube.com/oembed?url=http://www.youtube.com/watch?v=[id]&format=json

使用 Fiddler,我看到我从 YouTube 服务器收到包含 JSON 数据的预期回复。但是,我无法使用它,因为我遇到 Javascript 错误。

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:60366' is therefore not allowed access.

我尝试在我的 window.fetch 上启用 CORS,但我了解到这仅在服务器在其 header 响应中允许 CORS 时才有效。 YouTube 的回复中没有此 header 字段。

如何使用 window.fetch 让我的脚本接受来自 YouTube 的响应? (我正在使用 Chrome v44。)

window.fetch(
            url, {
                method: 'GET',
                mode: 'cors',
                headers: {
                    'Accept': 'text/plain',
                    'Content-Type': 'text/plain'
                }
            })
...

我认为您需要使用 youtube API 才能发出 CORS 请求。

https://developers.google.com/youtube/v3/