YouTube嵌入式播放器抛出401错误

时间:2017-11-27 05:57:26

标签: youtube-api youtube-javascript-api

我在Angular应用中使用了YouTube HTML5嵌入播放器,并且我在页面加载(Chrome)上看到这些401错误。视频仍然很好,但我想知道发生了什么。我试过暂停AdBlock,我看到了同样的错误。

www-embed-player.js:301 POST https://www.youtube.com/youtubei/v1/log_event?alt=json&key=AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9xx 401 ()

www-embed-player.js:301 POST https://www.youtube.com/youtubei/v1/log_interaction?alt=json&key=AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9xx 401 ()

我已经使用这个代码好几个月了,直到现在还没有看到这个。

这是失败的代码:

function Ce(a, b, c, d, e, f, g) {
    function h() {
        4 == (k && "readyState"in k ? k.readyState : 0) && b && Pd(b)(k)
    }
    c = void 0 === c ? "GET" : c;
    d = void 0 === d ? "" : d;
    var k = se();
    if (!k)
        return null;
    "onloadend"in k ? k.addEventListener("loadend", h, !1) : k.onreadystatechange = h;
    k.open(c, a, !0);
    f && (k.responseType = f);
    g && (k.withCredentials = !0);
    c = "POST" == c;
    if (e = xe(a, e))
        for (var m in e)
            k.setRequestHeader(m, e[m]),
            "content-type" == m.toLowerCase() && (c = !1);
    c && k.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    k.send(d);
    return k
}

1 个答案:

答案 0 :(得分:1)

Youtube API 401 error的定义如下:

  

此错误表示用户拥有未关联的Google帐户,   这意味着用户拥有Google帐户但没有   YouTube频道。这些用户可以访问许多功能   取决于用户授权,例如评级视频或添加   视频到watch_later播放列表。但是,作为一个例子,用户   需要YouTube频道才能上传视频。一个用户   拥有Gmail帐户或Android设备肯定会拥有Google   帐户但可能尚未将该Google帐户与a关联   YouTube频道。

     

如果您尝试使用OAuth 2.0服务,则会出现此错误   帐户流量。 YouTube不支持服务帐户,如果您支持   尝试使用服务帐户进行身份验证,您将获得此信息   错误。

     

YouTube API blog post   介绍Google帐户支持还讨论了   youtubeSignup需要更详细的错误。博客文章虽然   解释了API 2.1版的错误,错误的含义是   仍然适用。