【问题标题】:Youtube API Put request to update metadata acting as readonlyYoutube API Put 请求以只读方式更新元数据
【发布时间】:2013-03-18 18:24:24
【问题描述】:

好的,所以我已经放弃尝试通过 onApiReady 为 Youtube API 更新元数据,转而按照https://developers.google.com/youtube/v3/docs/videos/update 的指示发出 put 请求。

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 上没有更新任何数据,响应中返回的 sn-p 包含所有原始值。

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

谢谢,

马特

【问题讨论】:

    标签: jquery ajax youtube-api metadata put


    【解决方案1】:

    看到这个答案:

    How to update video on YouTube using API v3

    我认为您必须指定资源的种类:

    “种类”:“youtube#video”,

    【讨论】:

    • 这看起来可行,但在我发现使用 iframe 直接干扰其触发并更改为使用 div 之后,我最终通过 onApiReady 调用弄清楚了如何做到这一点。感谢您的建议。
    猜你喜欢
    • 2019-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-06
    • 2021-04-08
    相关资源
    最近更新 更多