1

好的,所以我已经放弃尝试通过 onApiReady 为 Youtube API 更新元数据,并继续发出一个 put 请求,如https://developers.google.com/youtube/v3/docs/videos/update所示.

ajax 请求返回成功,但实际上并没有更新任何数据。此外,返回的 jqXHR 详细说明了更新请求之前的原始数据。出于演示目的,我已将其转换为示例,但它仍然不起作用。这是放置请求。

$.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 不能真正做到这一点(不太可能),要么我错过了一些愚蠢而简单的东西。如果有人可以提供帮助,请告诉我。

谢谢,

马特

4

1 回答 1

0

看到这个答案:

如何使用 API v3 更新 YouTube 上的视频

我相信您必须指定资源的种类:

"种类": "youtube#video",

于 2013-03-19T02:15:03.007 回答