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 を介してロードしようとするとロードされませんか? :-/