使用服务帐户的 YouTube 报告 API

2023-12-01

按照 Google 的文档,您应该能够使用 YouTube Reporting API,而无需使用服务帐户进行用户身份验证。

目前我有一个非常简单的示例,它应该为我提供可用工作的列表,但也可能为空。但我的 403 权限被拒绝。

Request:

$client = new \Google_Client();
$client->setAuthConfig('service-account-key.json');

$client->addScope(Google_Service_YouTubeReporting::YT_ANALYTICS_MONETARY_READONLY);
$client->addScope(Google_Service_YouTubeReporting::YT_ANALYTICS_READONLY);

$youtube_reporting_service = new \Google_Service_YouTubeReporting($client);

$jobs = $youtube_reporting_service->jobs->listJobs();

Response:

Google_Service_Exception

{
    "error": {
        "code": 403,
        "message": "The caller does not have permission",
        "errors": [
            {
                "message": "The caller does not have permission",
                "domain": "global",
                "reason": "forbidden"
            }
        ],
        "status": "PERMISSION_DENIED"
    }
}

我验证了以下 API 已启用:

  • YouTube 报告 API
  • YouTube 数据 API v3
  • YouTube 分析 API
  • 谷歌+ API(我对此表示怀疑是否真的有必要)

我不明白的是 Google Cloud Platform 中的项目和 YouTube 帐户之间的关系应该如何。

这有关系吗将域范围的权限委派给服务帐户?

那么您是否需要启用 G Suite?

我看到一个类似的问题如何为 Google 服务帐户授予对 Youtube Reporting API 的访问权限?存在,但自上次响应以来该内容可能有点老化。我希望我的示例和补充能为这个问题带来新的启发。

有人有工作样本吗?可能是其他语言。只要水流畅通。


通常,服务帐户可用于模拟用户帐户。中提到进行授权调用准备进行授权的 API 调用.

但要回答这个问题,服务帐户不适用于 YouTube API:

服务帐户不适用于 YouTube 数据 API 调用,因为 服务帐户需要关联的 YouTube 频道,并且您不能 将新的或现有的渠道与服务帐户相关联。如果您使用 服务帐户调用YouTube数据API,API服务器返回 错误类型设置为未经授权且原因设置为 youtube需要注册。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用服务帐户的 YouTube 报告 API 的相关文章

  • PHP 是否有一个函数可以在给定有效内容类型的情况下返回正确的文件扩展名?

    PHP 是否有一个函数可以返回给定内容类型的文件扩展名 我正在寻找类似以下功能的东西
  • Laravel 4,->withInput(); = 未定义的偏移量:0

    我在这里和 Laravel 论坛上进行了长时间的搜索 但我找不到这个问题的答案 gt withInput 咳出Undefined offset 0 对于上下文 控制器 public function getJobs position opt
  • Laravel 内存问题?

    各位 我在 DO 服务器上遇到这样的问题 我已经尝试了一切 整个网站在使用 Homestead 的 Linux 服务器上 100 正常工作 但上传后 它只能工作一次 在重新加载或刷新页面后会多次下降 我尝试增加 apache 服务器的内存
  • yii2 更新后返回上一页

    更新记录后如何将用户重定向到上一页 这是典型的场景 用户在索引页面中过滤结果或对记录进行分页 然后找到想要编辑的记录并单击编辑按钮 他们更新该记录的数据 一旦单击 更新 按钮 他们将被重定向到索引视图 但具有先前选择的过滤器 页面 更新后我
  • PHP - 将数据从一个站点安全地传递到另一个站点

    我有一个可以接受来自多个站点的请求的站点 有点像升级检查 这些网站将发送用户名 密码 应用程序版本等信息 然后我的网站将根据这些信息发送响应 基本上这是一个 GET请求 例如 http www mysite com user boo pas
  • 从 PHP 访问 JavaScript 变量

    我需要访问一个JavaScript变量与PHP 这是我当前正在尝试的代码的精简版本 该版本不起作用 我对 JavaScript 和 PHP 都是新手 所以我非常感谢任何建议 UPDATE 好吧 我想我过于简化了 我想做的是创建一个表单 提交
  • PHP 内部:TSRMLS_FETCH 如何工作?

    PHP 内部结构是怎样的TSRMLS FETCH宏发挥作用吗 Per the PHP手册 http php net manual en internals2 memory tsrm php 在开发扩展时 包含 tsrm ls is unde
  • PHP Laravel 路由问题

    我的设置目前看起来像这样 应用程序 控制器 register php class register Controller extends Base Controller public restful true public function
  • PHP:合并/添加多维数组?

    假设我有几个具有相同结构的多维数组 如下所示 basketA fruit apple 1 basketA fruit orange 2 basketA fruit banana 3 basketA drink soda 4 basketA
  • Composer 安装失败并出现总线错误:10

    我正在尝试安装作曲家 curl sS https getcomposer org installer php 此操作失败并显示错误消息 Bus error 10 我也尝试过 php r readfile https getcomposer
  • 无法打开 phpmyadmin,require_once(./libraries/common.inc.php):无法打开流:没有这样的文件或目录

    当我做php usr share phpmyadmin index php 我明白了 PHP 警告 require once libraries common inc php 无法打开流 第 33 行 usr share phpmyadmi
  • PHP json_encode 反斜杠和数组名称的问题

    我正在将一些 postgresql 数据转换为 PHP json encode 但我遇到了一些问题 json encode 将 BackSlash 添加到我的数据中的所有斜杠中 在描述中出现段落标记的结束 我认为是因为反斜杠问题 我不希望我
  • 将字符串拆分为字母数组 - 双字符字母 PHP

    我需要将一个字符串拆分为一个字母数组 问题是在我的语言 克罗地亚语 中也有双字符字母 例如 lj nj d 所以字符串如ljubi icajecvijet应该分成一个数组 如下所示 Array 0 gt lj 1 gt u 2 gt b 3
  • mysqldump创建空sql文件? [Windows 上的 php 和 mysql]

    我尝试转储数据库 我尝试了指定 mysqldump exe 的完整路径或仅使用 mysqldump 它仍然给我一个 0kb dumpfile sql 细节 编程语言 PHP 数据库 MySql 5 XX 操作系统 服务器 Windows S
  • 提交表单时显示警告框

    所以我有这两页 pageOne php and pageTwo php 表格在pageOne php
  • 扩展 Codeigniter Exceptions 类以添加自定义方法

    我创建了一个新方法来处理 401 apache 错误 我的核心类扩展了 CI 核心类 但是当我调用方法名称时 我收到此消息 致命错误 调用未定义的函数show 401 in G Path application controllers lo
  • xampp openssl 调用 openssl_pkey_new() 时出错;

    所以我试图让 openssl 在我的 Windows 安装的 xampp 1 7 3 上工作 它是用 OpenSSL 0 9 8l 构建的 这只是我第二次在 amp 安装上安装 openssl 但第一次进展顺利 这是在同一台机器上的 wam
  • PHP runkit_function_rename 不起作用?

    这段代码不起作用 为什么不 我真正想要的是这个 我正在使用一个具有功能的系统 当我在本地主机上时 我希望该函数做一些不同的事情 我想用自己的东西覆盖该函数 也欢迎所有替代方案 您是否安装了 PECL 扩展 http www php net
  • 限制传出 PHP+curl 请求的速率

    有没有办法限制 有延迟 向外部服务器发出 PHP curl 请求的速率 以便每秒只有 n 个请求 PHP 在 Fastcgi 模式下使用 因此无法使用睡眠 是的 有curl 多重处理程序 您可以使用 OOP 方式以 OOP 方式完成此操作这
  • 如何开始 Zend Framework 开发

    Hai 首先谢谢 我下载了 Zend 框架 C wamp zend 我将 php ini 的包含路径更改为 C wamp zend 我在我的 php 信息中看到了这个 我认为包含路径是正确的 我仍然有很多疑问 我从哪里开始在 zend 框架

随机推荐

  • 分配后字符数组组件的长度错误

    我想创建一个包含可分配字符数组组件的派生类型 但是 当我尝试在子例程中分配内存时 没有任何反应 通过下面的代码示例可能会更清楚 program test type t1 character len allocatable c end typ
  • MATLAB 求解方程问题

    我想用以下方程求解MATLAB and 我相信存在非零解 方程为 0 7071 x 0 7071 z x 0 5 x 0 7071 y 0 5 z y 0 5 x 0 7071 y 0 5 z z 我在 MATLAB 中写道 x y z s
  • PHP 获取多维数组中的值

    在 php 中 我如何获取下面这个数组中的值 error 我做了一个var dump myArray 我尝试过回声 myArray 0 0 and myArray 0 但这些都不起作用 array 1 0 gt array 1 error
  • SQL select 如果没有找到记录则返回 0,否则返回值

    我现在使用 Microsoft SQL 我的代码是 SELECT TOP 1 avail FROM table1 where name abc order by datetime desc 我希望当 avail 存在时 返回 avail 的
  • 使用 Tomcat 调试 GWT 应用程序 (Eclipse)

    我尝试使用tomcat部署应用程序 并且成功了 现在 我需要将 tomcat 设置为默认内置服务器 而不是内部 GWT 服务器 并用它来调试我的应用程序 我面临的问题是我能够成功地将文件上传到托管模式 但是当我尝试将应用程序部署到 tomc
  • javax.validation.constraints 的注释不起作用

    使用注解需要什么配置javax validation constraints like Size NotNull ETC 这是我的代码 import javax validation constraints NotNull import j
  • 无法让 PhpStorm 连接到在 WSL 2 中运行的 Xdebug

    我在使用以下设置让 PhpStorm 2020 2 与 xdebug 一起使用时遇到问题 WSL2 运行 Ubuntu 20 安装了 PHP 和 php xdebug 每当我在启用调试的情况下运行测试时 它都会显示 未建立连接 这是 Xde
  • 如何将 String^ 转换为 char 数组 [重复]

    这个问题在这里已经有答案了 可能的重复 需要将 String 转换为 char 我一直在寻找这个解决方案 但我找不到任何具体的东西 我在 Visual Studio C Windows 窗体应用程序中工作 我需要转换String 值存入 c
  • 给定 DataTable 时 Google Charts draw() 方法类型错误

    我试图使用 HTML 和 Javascript 在 Google Charts 中显示带有范围过滤器的折线图 但是每当我运行draw 函数 代码告诉我我使用了错误的数据类型draw 参数 它应该是一个DataTable 然而 我使用构建我的
  • 当管道中的一个进程失败时退出

    目标是制作一个简单的非侵入式包装器 将 stdin 和 stdout 跟踪到 stderr bin bash tee dev stderr script sh tee dev stderr exit PIPESTATUS 1 测试脚本scr
  • Zurb 基金会 SASS 变量

    我正在使用 Zurb 的 Foundation 框架 我想知道如何编辑 SASS 变量的默认值 我在互联网上进行了搜索 但找不到任何可以帮助我的东西 请检查本文档在他们的网站上 Under Available SCSS Variables部
  • Python 3.8 不加载 C dll

    升级到 Python 3 8 1 后 我的工作代码崩溃了 以下行曾经有效 但现在返回错误消息 cdll LoadLibrary mydllpath mydll dll gt Could not find module mydll dll T
  • 在其他 PHP 类中使用 PDO 数据库类

    我有一个使用 PDO 的数据库类 这是它的一部分示例 class db private host private username private password private con private pdo public functi
  • Jquery 选择器:如何:更改链接悬停时图像标记的 src 属性

    当链接悬停时 我需要更改图像的 src 属性 div class clear span 33 last div class hicon span 1 a href title Homepage img src Assets images h
  • 为什么受保护的继承会导致dynamic_cast失败?

    我将 C 基类更改为protected继承和我的dynamic cast s 停止工作 为什么要改变继承protected改变的行为dynamic cast struct Base static Base lookupDerived Act
  • 需要用Java编写一个RESTful JSON服务

    这是我的要求 我在 mysql 中有一个简单的表 考虑任何带有几个字段的表 我需要用 Java 编写一个简单的 RESTFUL JSON Web 服务 用于对此表执行 CRUD 操作 我尝试在网上搜索一些全面的示例 但找不到任何示例 有人可
  • 如何测试SSIS包?

    如何测试SSIS包 测试时应注意哪些事项 ssis 包 测试时应该编写哪些测试用例步骤 ssisUnit是一个用于对 SSIS 包进行单元测试的出色工具 我遇到的唯一警告是您需要在安装了 SSIS 服务器组件的计算机上运行单元测试 我在一家
  • 如何在 PHP 中删除十进制数的最后一位数字

    我想在 PHP 中删除十进制数的最后一位数字 假设我有 14 153 我希望它是 14 15 我将执行此步骤 直到我的数字不再是小数 我认为这应该有效
  • 如何对 QPlainTextEdit 进行分页?

    我一直在使用 QPlainTextEdit 在我们的应用程序中编辑文本 最近我们决定需要以分页格式显示文本 而不是一致的文本块 经过大量研究 我意识到虽然 QPlainTextEdit 没有任何页面或分页知识 但 QPlainTextDoc
  • 使用服务帐户的 YouTube 报告 API

    按照 Google 的文档 您应该能够使用 YouTube Reporting API 而无需使用服务帐户进行用户身份验证 目前我有一个非常简单的示例 它应该为我提供可用工作的列表 但也可能为空 但我的 403 权限被拒绝 Request