1
現在、AJAX経由で自分のチャンネルに動画をアップロードする機能を開発中です。私は今までに承認をうまく整理して管理していて、自分のチャンネルに「ビデオ」が作成されていますが、それが終わりです。データのどれも通過していないようです。メタデータを正しく送信する方法と、実際のビデオデータ自体が適切に送信されているかどうかはわかりません。ここでAJAX経由でYouTube動画メタデータを送信する方法
は、YouTubeの参照です:https://developers.google.com/youtube/v3/docs/videos/insert
もう一つの奇妙なことは、非同期に設定要求で、私は応答がないとロード機能は実行されません。非同期をfalseに設定すると、私はYouTubeからの応答を得ます。
function UploadVideo()
{
formData = new FormData();
video = {
snippet : {
title : "Test Video",
description : "This is a test video",
categoryId : "22",
tags : "test"
}
};
file = document.getElementById("test_video").files[0];
ajax = new XMLHttpRequest();
formData.append("file", file);
formData.append("snippet", JSON.stringify(video));
ajax.open("POST", "https://www.googleapis.com/upload/youtube/v3/videos?part=snippet", true);
ajax.setRequestHeader("Content-type", "application/octet-stream");
ajax.setRequestHeader("Authorization", '<?php echo $authorization_header; ?>');
ajax.onload = function() {
if (ajax.status == 200) {
alert(ajax.responseText);
document.getElementById("video_response").innerHTML = ajax.responseText;
}
};
ajax.send(formData);
}