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

403查询YouTube Analytics API.NET时返回禁止错误

琴修为
2023-03-14

我已经阅读了大部分的开发人员控制台参考资料。

  1. 我在YouTube站点的“YouTube Manager Google Account”下的Google Developers控制台中创建了一个已安装的项目。
  2. 我已启用YouTube Data API v3和YouTube Analytics V1。
  3. 我已为已安装的项目创建了凭据。

代码通过身份验证没有任何问题:

UserCredential credential;
            using (var stream = new FileStream(hds_opo_youtube_service.Properties.Settings.Default.clientIDFile, FileMode.Open, FileAccess.Read))
            {
                credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
                    GoogleClientSecrets.Load(stream).Secrets,
                    // This OAuth 2.0 access scope allows for read-only access to the authenticated 
                    // user's account, but not other types of account access.
                    new[] { YouTubeService.Scope.YoutubeReadonly,
                            YouTubeAnalyticsService.Scope.YtAnalyticsReadonly},
                    "user",
                    CancellationToken.None,
                    new FileDataStore(this.GetType().ToString())
                );
            }

            var youtubeService = new YouTubeService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName = this.GetType().ToString()
            });

出现错误:Google.apis.requests.requesterRror禁止[403]错误[消息[禁止]位置[-]原因[禁止]域[global]]

我已经尝试使用API Explorer来解决这种情况。这很有帮助。当我尝试使用YouTube Manager所有者配置文件帐户进行身份验证时。查询失败。但如果我使用Google+页面帐户,这是不同的,我可以让查询工作。Google+页面帐户有一个电子邮件帐户,但与Google+页面帐户的所有通信都指向manager所有者配置文件帐户。所以我尝试将Google+页面帐户添加到项目权限中,但是没有办法确认链接。我想我的问题是YouTube频道是由Google+页面账户所有的。分配的管理器所有者有一个不同的帐户,一个配置文件帐户,即使它是youtube帐户的管理器。我知道这听起来很混乱。有没有人对如何解决这个问题有什么想法。谢谢

共有1个答案

孔光赫
2023-03-14

好吧,我想我会回答我自己的问题。YouTube频道链接到Google+的商业页面。这个页面不是一个完全意义上的谷歌帐户。它有一个自动生成的电子邮件,但它不是一个真正的电子邮件帐户。所有者经理是一个Google+个人资料帐户。在创建我的应用程序之前,我并不理解这种区别,所以当我最初尝试进行身份验证时,我被赋予了在验证Google+页面或Google+个人资料之间进行选择的权利。我选择了Google+的个人资料,以为它是youtube频道的所有者。随后的所有验证都使用了存储的刷新令牌,并且没有再次询问要针对两个Google+帐户中的哪一个进行验证。同时,我使用API Explorer并意识到我需要对Google+页面进行身份验证。所以我删除了存储的刷新令牌,然后再次运行代码。它给了我两个帐户中的一个选择。我选择了Google+页面,youtube analytics查询工作。

 类似资料:
  • 问题内容: 我正在尝试制作Sitecraper。我是在本地计算机上制作的,在那儿工作得很好。当我在服务器上执行相同操作时,它显示403禁止错误。我正在使用PHP简单HTML DOM解析器 。我在服务器上收到的错误是这样的: 警告:file_get_contents(http://example.com/viewProperty.html?id=7715888)[function.file- get

  • 对localhost的Ajax请求返回403错误。然而,当我更改controller requestMethod以获取并在浏览器上打开请求“url”时,它会显示从服务器返回的json数据。我希望使用这些数据填充一个下拉列表。请帮帮我。我正在使用spring security 4.0和spring MVC框架。CSRF未禁用。此外,该url在Spring得到保护。 我在这里查看了相关问题,但没有找到

  • 我使用http://localhost:8080/auth/realms/{realm_name}/protocol/openid-connect/token endpoint创建令牌。 grant_type=client_credentials 客户端-id:------------- 客户端-secret:78296D38-CC82-4010-A817-65C283484E51 现在我想获得r

  • 我正在调用CloudBlobContainer。CreateIfNotExist(请参阅下面的FindOrCreatePrivate ateBlobContainer方法)间接来自Web API服务,但它返回以下403禁止错误消息: 以下是生成错误的代码: 我需要一些帮助来解决此错误的原因。我尝试了以下方法: 已检查要创建的容器的名称是否有效,并且在这种特定情况下,仅由小写字母组成(无特殊或大写字

  • 问题内容: 我制作了供个人使用的python脚本,但不适用于Wikipedia … 这项工作: 这不起作用: 这是错误: 问题答案: 在当前代码内: Python 2.X 的Python 3.X 带有Selenium的Python 3.X(执行Javascript函数) 修改后的版本起作用的原因是因为Wikipedia检查User-Agent是“流行的浏览器”

  • 我试图从共享Dropbox文件夹加载一系列图像,这样: 该文件夹是共享的,Dropbox表示具有链接的人可以查看。我试图做同样的与谷歌驱动器,但我得到一个跨原点错误。 编辑:我只是试着单独共享其中一个文件,结果成功了。我现在是否必须检查文件夹中的每个文件并执行此操作?我想如果我只共享这个文件夹,我应该可以访问它的所有内容。 错误消息: