【问题标题】:YouTube embedded player throwing 401 errorsYouTube 嵌入式播放器抛出 401 错误
【发布时间】:2017-11-27 05:57:25
【问题描述】:

我在 Angular 应用程序中使用 YouTube HTML5 嵌入播放器,我看到这些 401 错误在页面加载 (Chrome) 时弹出。视频仍然可以正常播放,但我想知道发生了什么。我试过暂停 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
}

【问题讨论】:

    标签: youtube-api youtube-javascript-api


    【解决方案1】:

    Youtube API401 error定义如下:

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

    如果您尝试使用 OAuth 2.0 服务,通常会出现此错误 账户流量。 YouTube 不支持服务帐户,如果您 尝试使用服务帐户进行身份验证,你会得到这个 错误。

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

    【讨论】:

      猜你喜欢
      • 2017-08-11
      • 1970-01-01
      • 2016-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-02
      • 2013-09-19
      相关资源
      最近更新 更多