Youtube 直播 API:liveStreamingNotEnabled

Posted

技术标签:

【中文标题】Youtube 直播 API:liveStreamingNotEnabled【英文标题】:Youtube Live Broadcast API: liveStreamingNotEnabled 【发布时间】:2017-03-23 06:02:51 【问题描述】:

通过 php 使用 Youtube API 在 OAuth 授权的用户帐户上创建事件。该代码几乎适用于所有人,除了我有几个用户收到了 liveStreamingNotEnabled 错误,详见此处https://developers.google.com/youtube/v3/live/docs/liveBroadcasts/insert。显然,我认为他们的帐户没有启用直播,所以请询问他们的帐户是否经过验证、信誉良好以及它是否在 https://www.youtube.com/features 上显示为已启用,这通常会为他们指明修复问题的正确方向。

但是,我刚刚获得了对经过验证、信誉良好的用户帐户的访问权限,并且 YT 功能页面显示他的帐户已启用实时流媒体,如此处所示

更令人困惑的是,我可以从他的帐户中手动创建并开始直播。

任何想法可能导致这种情况?快把我逼疯了!

【问题讨论】:

看起来他正在使用一个品牌帐户,虽然我找不到任何支持该理论的文档,但我认为可能会搞砸 你找到解决办法了吗? IIR 在 liveStreamingNotEnabled 启用后可能需要一段时间才能被拾取。 你在那边发过问题吗? github.com/googleapis/google-api-php-client/issues @DaImTo 我没有,我承认我不经常使用 GitHub。我现在就发。 【参考方案1】:

这不一定是问题的答案,而是一种解决方法。但是,我希望人们在处理这个问题时发现它很有用,直到找到真正的答案或解决方案。

似乎 PHP 客户端库有某种错误,它会抛出我们正在谈论的 liveStreamingNotEnabled 错误。但是,当使用这样的 cURL 方法时,它可以完美运行:

$endpoint = 'https://www.googleapis.com/youtube/v3/liveBroadcasts?part=snippet,contentDetails,status&broadcastType=all&mine=true&key=[YOUR_API_KEY]';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $endpoint);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Accept: application/json',
    'Authorization: Bearer '.$_SESSION['access_token'] // make sure this exists
]);
$output = curl_exec($ch);
curl_close($ch);
$res = json_decode($output, true);
if(isset($res['error']))
    throw new Google_Exception($res['error']['message']);

所以,我希望这真的只是库中的一个简单错误,很久没有解决。 I posted the issue on GitHub.

【讨论】:

请在Google's issue tracker 上打开错误报告,然后在此处也链接回该页面。这样,他们至少必须承认问题。

以上是关于Youtube 直播 API:liveStreamingNotEnabled的主要内容,如果未能解决你的问题,请参考以下文章

YouTube 直播 API 限制

您如何使用 YouTube 数据 API 获取过去的直播流

YouTube API 直播

无法使用 Youtube API 将我的 Youtube 广播转换为直播

Youtube /v3/search API 不再返回直播视频

使用 Android Youtube API 播放直播流