当前位置: 首页 > 知识库问答 >
问题:

Youtube Live API-使用OAuth拒绝广播预授权

危文乐
2023-03-14

我正在试着从我的网站上直播。Net应用程序使用Youtube。数据Api v3。我已经设置了OAuth并下载了。JSON文件,这很好。我知道这一点,因为我已经成功地获得了一系列频道响应。我的帐户上的视频,即以下代码工作:

var channelsRequest = ytService.Channels.List("contentDetails, snippet");
channelsRequest.Mine = true;
var channelsListResponse = channelsRequest.Execute();

但是如果我尝试执行一个插入请求(为了完整性,我向您展示了整个方法),

public static LiveBroadcast CreateImmediateBroadcast(string title = "DefaultBroadcast") {
    var snippet = new LiveBroadcastSnippet();
    snippet.Title = title;
    snippet.ScheduledStartTime = DateTime.Now;
    snippet.ScheduledEndTime = DateTime.Now + TimeSpan.FromMinutes(60);

    var status = new LiveBroadcastStatus();
    status.PrivacyStatus = "unlisted";

    var broadcast = new LiveBroadcast();
    broadcast.Kind = "youtube#liveBroadcast";
    broadcast.Snippet = snippet;
    broadcast.Status = status;

    var insertBroadcastRequest = ytService.LiveBroadcasts.Insert(broadcast, "snippet, status");
    insertBroadcastRequest.Execute();
    return broadcast;
}

调用插入BroadcastRequest时我得到一个异常。Execute(),即:

谷歌。GoogleApiException未处理

HResult=-2146233088消息=谷歌。API。请求。请求错误

权限不足[403]错误[消息[权限不足]位置[-]原因[不足权限]域[全局]]服务名称=youtube

来源=谷歌。API

StackTrace:在谷歌。API。请求。ClientServiceRequest“1”。C:\Users\cloudsharp\Documents\GitHub\google api dotnet client\Src\Support\GoogleAppis\api\Requests\ClientServiceRequest中的Execute()。cs:YoutubeConsole第96行。YouTubeAPI。在C:\Users\bussg\Source\Workspace\OwnExperimental\YoutubeConsole\YoutubeConsole\YouTubeAPI中创建即时团队(字符串标题)。cs:YoutubeConsole的第87行。YouTubeAPI。测试()位于。。。

另外,为了完整起见,这是我的授权,

using (var stream = new FileStream(Directory.GetCurrentDirectory() + @"\GoogleAuthOtherApplication.json", FileMode.Open, FileAccess.Read)) {
    credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
        GoogleClientSecrets.Load(stream).Secrets,
        new[] { YouTubeService.Scope.YoutubeForceSsl},
        "user",
        CancellationToken.None,
        new FileDataStore("YouTubeAPI")
    ).Result;
}

此外,对于YouTube服务。范围我已经尝试了所有选项。根据文档,插入方法应与强制SSL配合使用。

这个留档页也是

注意:频道必须获得批准才能使用YouTube直播功能,该功能允许频道所有者将直播内容流式传输到该频道。如果您代表其频道未启用或没有资格流式传输实时内容的已验证用户发送API请求,则API将返回“权限不足”错误。

但是我所有的频道都被批准YouTube直播。有什么想法如何让这个工作?

共有1个答案

公良英资
2023-03-14

好吧,在我们通过电子邮件进行了一些测试之后。

>

  • 您需要拥有正确的范围“YouTubeService。范围。YoutubeForceSsl”通过更改“用户”,我们强制它再次请求权限。我关于filedata商店如何在Google. net客户端库中工作的教程

    通过发送“片段,状态”来删除空格“片段,状态”,它对我有用。

    有趣的是:第8568期:直播:部分插入空格

  •  类似资料:
    • 我正在查看OAuth2.0,并编写了这个演示代码,但我没有获得访问令牌。http://localhost:8080/oauth/token?grant_type=password&client_id=restapp2&client_secret=secret&username=admin&password=admin 它显示访问被拒绝为 求求你,帮帮我。 spring-servlet.xml

    • 我对spring security&oauth2相当陌生。作为学习的一部分,我试图设置一个OAuth2授权服务器,并保护RESTendpoint免受未经授权的访问。 代码 资源服务器 ProductController.java 未经授权API可以正常工作 如果我们只使用权限(@preauthorize(“hasauthorize('...')”))进行授权,它可以正常工作 作用域在到达oauth

    • 我正在使用JWT令牌在web api 2中实现授权,我对这个领域是新手。我坚持生成AudienceId和AudienceCret的目的,为什么我需要它们?

    • 本文向大家介绍详解使用Spring Security OAuth 实现OAuth 2.0 授权,包括了详解使用Spring Security OAuth 实现OAuth 2.0 授权的使用技巧和注意事项,需要的朋友参考一下 OAuth 2.0 是一种工业级的授权协议。OAuth 2.0是从创建于2006年的OAuth 1.0继承而来的。OAuth 2.0致力于帮助开发者简化授权并为web应用、桌面

    • 本文向大家介绍oauth 授权码授予,包括了oauth 授权码授予的使用技巧和注意事项,需要的朋友参考一下 示例 第1步 第2步 资源

    • 我分配一个角色权限来创建数据库。相同的角色被分配给登录用户,但是当我试图使用分配角色的登录用户创建新数据库时,我得到权限拒绝错误。 无法执行语句。权限拒绝,数据库主,所有者dbo。运行此命令需要以下权限:CREATE DATABASE。赛贝斯错误代码=10331严重级别=14,状态=3,事务状态=0第1行 我用15.5分和16分试了一下。我做错什么了吗?我们需要考虑其他参数吗?我经历了这次讨论 h