Ich arbeite gerade an einer Funktion, um Videos über AJAX auf meinen Kanal hochzuladen. Ich habe es bis jetzt geschafft, die Autorisierung erfolgreich zu sortieren, und auf meinem Kanal wird ein "Video" erstellt, aber dort endet es. Keine der Daten scheint durchzukommen. Ich bin nicht sicher, wie man die Metadaten richtig sendet und ob die eigentlichen Videodaten selbst richtig gesendet werden.So senden Sie YouTube-Video-Metadaten über AJAX
Hier ist die Referenz YouTube: https://developers.google.com/youtube/v3/docs/videos/insert
Eine andere seltsame Sache, mit der Bitte, asynchron sein gesetzt, bekomme ich keine Antwort und die Ladefunktion nicht ausgeführt. Wenn asynchron auf "false" gesetzt ist, erhalte ich eine Antwort von 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);
}