Youtube api 使用Youtube数据API获取内容所有者数据

Youtube api 使用Youtube数据API获取内容所有者数据,youtube-api,Youtube Api,我们在Youtube上设置了几个内容所有者(我称他们为A、B、C、D)。所有这些都已经与谷歌账户(我称之为GA1)关联。我们有一个自定义应用程序,需要能够通过使用Youtube数据API v3为内容所有者检索视频和分析数据。(API第2版将于4月20日下线。) 我的问题是,显然没有办法做到这一点。使用一个服务帐户(以及谷歌的PHP库与Youtube API对话),我最终打了一个如下所示的电话: $optParams = array( 'forContentOwner' => true,

我们在Youtube上设置了几个内容所有者(我称他们为A、B、C、D)。所有这些都已经与谷歌账户(我称之为GA1)关联。我们有一个自定义应用程序,需要能够通过使用Youtube数据API v3为内容所有者检索视频和分析数据。(API第2版将于4月20日下线。)

我的问题是,显然没有办法做到这一点。使用一个服务帐户(以及谷歌的PHP库与Youtube API对话),我最终打了一个如下所示的电话:

$optParams = array(
  'forContentOwner' => true,
  'onBehalfOfContentOwner' => '[A]',
  'order' => 'date',
  'maxResults' => 20,
  'type' => 'video',
);

$serviceYT->search->listSearch('snippet', $optParams);
这最终抛出一个403禁止异常。(上面的“[A]”被替换为实际的内容所有者名称。)我可以成功地进行许多其他调用,例如列出频道或视频,甚至其他类型的搜索,但只要我添加“forContentOwner”和“OnBehalfOfContentTowner”参数,我就会得到403禁止(没有关于为什么禁止的其他信息)

在Youtube API文档()中,我发现了以下行:

服务帐户流支持不访问用户信息的服务器到服务器交互。但是,YouTube数据API不支持此流。由于无法将服务帐户链接到YouTube帐户,因此尝试使用此流授权请求将生成NoLinkedYouTubeAccount错误


但是,当我使用在开发人员控制台中创建的服务帐户(用于链接到内容所有者的帐户GA1)进行授权(OAuth 2.0)时,它的授权很好,而且我从未看到任何“NoLinkedYouTubeAccount”错误。有人知道我做错了什么吗?或者根本不可能通过服务帐户访问内容所有者数据?我是否应该使用另一个OAuth 2.0流?需要调用API的代码通过cron作业触发;它根本不是交互式的。

您的问题解决了吗?