好的,所以我已经放弃了尝试通过Youtube API的onApiReady更新元数据,并继续发出put请求,如https://developers.google.com/youtube/v3/docs/videos/update所示。
ajax请求返回成功,但实际上没有更新数据。此外,在发出更新请求之前,返回的jqXHR详细说明了原始数据。为了演示,我已经将其转换为示例,但它仍然不起作用。这是put请求。
$.ajax({
type: "PUT",
dataType: "jsonp",
url: "https://www.googleapis.com/youtube/v3/videos/?part=snippet&key=<replaced with api key>",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer " + oAuthToken.access_token
},
data: $.parseJSON('{"id": "<replaced with videoId>", "snippet": {"title": "New Title", "description": "New Description"}, "status": {"privacyStatus": "unlisted"}}'),
success: function(data, error, completeError) {
alert("Hallelujah");
}
});
它报告成功,youtube上没有数据更新,响应中返回的代码片段包含所有原始值。
根据我的OAuth2令牌进行身份验证var scopes = ['https://gdata.youtube.com', 'https://www.googleapis.com/auth/youtube', 'https://www.googleapis.com/auth/youtubepartner', 'http://gdata.youtube.com', 'https://www.googleapis.com/auth/youtube.upload'];
我一直在做这个,我知道要么Youtube实际上不能做到这一点(不太可能),要么我错过了一些愚蠢和简单的东西。如果有人能帮忙,请告诉我。
谢谢,马特
看答案:
如何使用API v3更新YouTube上的视频
我认为你必须指定资源的种类:
"类型":"youtube #视频",