Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax 如何通过YouTube API v3更新已上传视频的片段和状态值?_Ajax_Http_Youtube_Youtube Api_Metadata - Fatal编程技术网

Ajax 如何通过YouTube API v3更新已上传视频的片段和状态值?

Ajax 如何通过YouTube API v3更新已上传视频的片段和状态值?,ajax,http,youtube,youtube-api,metadata,Ajax,Http,Youtube,Youtube Api,Metadata,如何使用AJAX请求通过YouTube API v3“”更改已上载视频的片段和状态值 我的更新代码(不工作): $.ajax({ type: "PUT", dataType: "jsonp", url: "https://www.googleapis.com/youtube/v3/videos?part=id,snippet,status&key=<API Key>", headers: {

如何使用AJAX请求通过YouTube API v3“”更改已上载视频的片段和状态值

我的更新代码(不工作):

$.ajax({
        type: "PUT",
        dataType: "jsonp", 
        url: "https://www.googleapis.com/youtube/v3/videos?part=id,snippet,status&key=<API Key>",
        headers: {
            "Content-Type": "application/json",
            "Authorization": "Bearer " + <Access Token>
        },
        data: $.parseJSON('{"id": "<Video ID>", "snippet": {"title": "New Title", "description": "New Description"}, "status": {"privacyStatus": "unlisted"}}'), 
        success: function(data, error, completeError) {
            alert( JSON.stringify(data));
            alert( JSON.stringify(error));
            alert( JSON.stringify(completeError));
        }
    });
$.ajax({
键入:“放置”,
数据类型:“jsonp”,
url:“https://www.googleapis.com/youtube/v3/videos?part=id,snippet,status&key=“,
标题:{
“内容类型”:“应用程序/json”,
“授权”:“持票人”+
},
数据:$.parseJSON(“{”id:“,”snippet:“{”title:“New title”,“description:“New description”}”,status:“{”privacyStatus:“unlisted”}”),
成功:函数(数据、错误、完整错误){
警报(JSON.stringify(数据));
警报(JSON.stringify(错误));
警报(JSON.stringify(completeError));
}
});
使用参数
part=id,snippet,status向端点发出PUT请求

HTTP PUT: https://www.googleapis.com/youtube/v3/videos?part=id,snippet,status&key={YOUR_API_KEY}
您的请求正文:

{
    "id": "VIDEO_ID",
    "snippet": { // any snippet fields you want to change
        "description": "New Video Description"
    },
    "status": { // any status fields you want to change
        "privacyStatus": "public"
    }
}

这是我玩游戏时使用的代码。不过效果很好。 它不使用JQuery,但应该为您指明正确的方向

function UpdateVideoInfo(video_id){
        var resource = {
                'snippet':{
                    'title' : 'test title',
                    'description' : 'test description',
                    'categoryId' : 22
                },
                'status' : {
                    'privacyStatus' : 'private'
                },
                'id': video_id
            };

        post_string = JSON.stringify(resource);

        var ajax = new XMLHttpRequest();
        ajax.open('PUT', 'https://www.googleapis.com/youtube/v3/videos?part=snippet,status', true);
        ajax.setRequestHeader("Authorization", '<?php echo $authorization_header; ?>');
        ajax.setRequestHeader("Content-type", "application/json; charset=UTF-8");
        ajax.send(post_string);

        ajax.onload = function() {
            if (ajax.status == 200) {
                alert(ajax.responseText);
            }
        };
    }
函数更新视频信息(视频id){
变量资源={
“片段”:{
“标题”:“测试标题”,
“描述”:“测试描述”,
分类:22
},
“状态”:{
“privacyStatus”:“private”
},
“id”:视频\u id
};
post_string=JSON.stringify(资源);
var ajax=new-XMLHttpRequest();
open('PUT','https://www.googleapis.com/youtube/v3/videos?part=snippet,状态“,真实);
setRequestHeader(“授权”,“”);
setRequestHeader(“内容类型”,“应用程序/json;字符集=UTF-8”);
发送(post_字符串);
ajax.onload=function(){
if(ajax.status==200){
警报(ajax.responseText);
}
};
}

url应该如下所示(如果我错了请纠正我){YOUR_API_KEY}@user2985035它不是
/videos/update
,它只是
/videos
。我的答案中的完整URL是您应该调用PUT请求的位置:
https://www.googleapis.com/youtube/v3/videos?part=id%2C+snippet&key={YOUR_API_key}
Ok,但是我对文档中的“part=id%2C+snippet”段感到困惑url@user2985035哦,我明白你的意思了。我认为这是谷歌方面的URL编码问题。完整的url应该如下所示:
https://www.googleapis.com/youtube/v3/videos?part=id,snippet,status&key={YOUR_API_key}
您需要传入
id
来获取视频,而
snippet
status
是因为您正在修改这些属性。