我有一个创建和管理YouTube直播活动的应用程序。 这一切都很好。我的应用程序中有一个最后一个要求,即检测用户是否确实为其帐户启用了直播。 根据结果,我的应用程序将继续创建/管理事件或直接退出。
注意:目前这被检测为Google API异常
[用户未启用直播。 [403]
但是在我们真正开始准备广播之前,这个例外没有出现。 在我的逻辑中,我需要一些方法来检测它。
答案 0 :(得分:0)
没有其他API可以检测用户是否未启用实时流式传输。
我们在申请中如何处理这个问题就是开始准备广播。如果liveBroadcasts
端点在任何时候返回liveStreamingNotEnabled
错误,我们将停止准备广播,并引导用户在其YouTube帐户上启用直播活动。
我们为用户提供了导航至其频道的选项 - >状态和功能页面(https://www.youtube.com/features),并向他们展示了准确启用直播的位置。不幸的是,这个页面没有移动版本,制作了一个糟糕的用户体验,但实际上没有任何其他方式。
如果没有公开的API来启用直播,这是我们当时可以想到的最佳解决方案。
如果用户启用了直播活动并返回应用程序,我们将再次开始广播设置过程,如果用户已在其帐户上启用了实时流式传输,则会继续成功,并且如果他们仍然可以再次引导他们进入功能页面没有启用设置。
答案 1 :(得分:0)
我知道这有点晚了,但我希望这个解决方案可以帮助那些现在遇到同样问题的人:
根据JAL的回答,我在开始流式传输之前创建了一个虚拟事件,如果它返回403状态代码或liveStreamingNotEnabled错误,我会停止广播并引导用户如何能够在他的频道上启用直播。此功能可以从(https://www.youtube.com/features)启用,但正如JAL所提到的,此页面没有可怕用户体验的移动版本,因此用户无法通过此页面从手机启用实时流式传输。
因此,为了克服这个问题,我创建了一个webview并加载了链接(https://www.youtube.com/live_streaming_signup)。这是按钮的功能,可以从功能页面启用实时流。 Youtube从那里自动处理流量。之后,如果用户想要再次创建事件,我会再次检查状态代码以确保启用流式传输。如果没有,我再次加载webview等等。