Youtube 直播 API:直播流未启用。

7
使用PHP通过Youtube API在OAuth授权的用户账户上创建事件。该代码适用于几乎所有人,除了有一些用户会收到“liveStreamingNotEnabled”错误,具体信息请参见https://developers.google.com/youtube/v3/live/docs/liveBroadcasts/insert。显然,我认为他们的账户未启用直播功能,因此询问他们的账户是否已验证、是否处于良好状态以及是否显示为已启用,通常这可以帮助他们解决问题https://www.youtube.com/features

然而,我刚刚获得一个已验证、处于良好状态且YT功能页面显示其账户已启用直播功能的用户账户的访问权限,如下所示enter image description here

更令人困惑的是,我可以在他的账户内手动创建和开始一个直播广播。

有任何想法是什么导致这个问题?这让我疯狂!


看起来他正在使用一个品牌账户,虽然我找不到任何支持这个理论的文档,但我认为这可能会影响一些事情。 - KyleC
你找到解决方法了吗? - Steven2163712
我记得在启用直播流之后,需要一段时间才能检测到liveStreamingNotEnabled已被启用。 - Linda Lawton - DaImTo
1
你在那边发布了一个问题吗?https://github.com/googleapis/google-api-php-client/issues - Linda Lawton - DaImTo
1
@DaImTo 我没有,我承认我不经常使用GitHub。我现在会发布它。 - Zeke
显示剩余7条评论
1个回答

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']);
}

所以,我希望这只是一个简单的库中的错误,长时间未被修复。 我在GitHub上发布了这个问题


请在Google的问题跟踪器上提交一个错误报告,然后在这里链接回那个页面。这样,他们至少必须承认这个问题。 - stvar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接