-1

我尝试加载 Youtube 数据 API(通过在我的标题部分中注入它)。

它曾经完美地工作,但突然间我只得到 307 个响应代码(并且没有真正的内容)。

307 是temporary_redirect,这个页面:https ://developers.google.com/youtube/v3/docs/core_errors

告诉我通过将请求转发到 307 响应的 Location 标头中指定的位置来获取内容。问题是响应的 Location 标头中没有任何内容!:-(

有谁知道发生了什么,如何解决它,以及如何防止它再次发生?(我应该创建代码以在收到 307 响应时将请求重新发送到新的 URI 吗??)

这是我的注入代码(但它曾经完美地工作):

var YTDtag = document.createElement('script'),
            YTItag = document.createElement('script');
        YTDtag.src = "https://apis.google.com/js/client.js?onload=apiReady"; // load YouTube data API
        YTItag.src = "https://www.youtube.com/iframe_api"; // load YouTube Iframe API
        var firstScriptTag = document.getElementsByTagName('script')[0];
        firstScriptTag.parentNode.insertBefore(YTDtag, firstScriptTag);
        firstScriptTag.parentNode.insertBefore(YTItag, firstScriptTag);

但我从https://apis.google.com/js/client.js?onload=apiReady得到的唯一响应是 307 号码,因此我的 apiReady 永远不会被调用。

如果我尝试通过将页面放在浏览器位置字段中来“手动”加载页面,它似乎可以正常加载 - 但当我尝试通过我的 js 加载它时却不行?:-/

4

1 回答 1

1

要缩小此问题的范围,请检查以下内容:

  • 您是否仅在您自己的浏览器/您自己的机器上或其他机器上遇到这个问题?

  • 也许您安装的任何隐私插件/扩展都会干扰它?

如果不是这种情况,并且问题在其他机器上也可以重现 - 那么您可能需要去向 Google 支持寻求帮助。


(作为 OP 要求的答案添加。可能不是对此明确答案,但如果这有助于调试问题或缩小范围,那就这样吧……)

于 2015-10-07T13:39:24.623 回答