YouTube数据API - 如何指定要上传的频道?

时间:2017-10-23 16:10:52

标签: youtube-api youtube-data-api

我正在创建一个应用程序,该应用程序将部署在各个站点上,并定期将视频从每个站点上传到YouTube。我已经上传了视频,但理想情况下每个网站都有自己的频道。

我有一个搜索,看看是否有人遇到过这个问题(不要重新发明轮子,对吗?)但我发现的唯一一件事是引用onBehalfOfContentOwner参数detailed in the api here的几个线程。

这与我无关,因为我不是内容合作伙伴;至少我不认为我是。 Google API帮助文档然后将我发送到此处,所以我在这里。

我创建了一个YouTube品牌帐户,目前有两个渠道。显然,每个人都有自己的频道ID。到目前为止,我尝试了以下内容:

  • 在创建视频片段时指定ChannelId,我无法在其他任何地方看到设置它或使用的相应对象。我尝试使用相同的OAuth凭据使用两个不同的渠道ID。

  • 使用两个唯一的OAuth凭据创建两个单独的api项目,然后在运行时加载这些凭据。我在应用程序的整个生命周期中只使用了一组凭据,然后在我测试上传仍然有效后再更改为第二个凭据集。我使用的第一个凭证集促使我登录和 随后选择一个帐户。第二集没有提示我 除了视频之外的所有内容都上传到我所拥有的帐户中 以前选择过。我退出了YouTube,我的浏览器就是 两个案件都关闭;一旦关闭,浏览器就不会存储任何细节。

我想我真的是这个问题。指定要上传到哪个频道的最佳做法是什么?我正在使用的应用程序将在设定的时间自动运行,因此我无法在上传过程中进行用户交互。 (在初始设置期间选择一个帐户会很好!)

非常感谢任何帮助。提前谢谢。

修改

我发现API会自动在本地计算机上使用访问令牌(如果 C:\ Users {USERNAME} \ AppData \ Roaming \ Google.Apis.Auth < / strong>;即使我在我的应用程序中使用不同的OAuth凭据。删除访问令牌文件将导致下次使用此计算机的api时出现登录提示。

对于我的应用程序,这是可以接受的,因为当我部署时,只需要一次性登录并获得访问令牌,然后每小时刷新一次。这也意味着我可以选择为每个网站上传哪个帐户/频道。虽然我承认MαπμQμαπkγVπ.0给出的答案,但我认为这不适用于此,因为我不是前面提到的内容合作伙伴。

如果有人可以通过代码告诉我如何执行此操作而不是删除访问令牌,那当然是首选解决方案。 (或者让我知道我是一个内容合作伙伴,所以我可以尝试onBehalf参数)

2 个答案:

答案 0 :(得分:1)

我发现删除运行我的应用程序的PC上的OAuth令牌允许我重新选择我上传到的帐户/频道。

看来授权频道是使用此令牌确定的,一旦出现,它将每小时自动刷新一次。看到一台PC只会上传到一个给定网站的一个频道,我认为我必须为每个网站进行一次性设置才能获得一个令牌。

答案 1 :(得分:0)

如果您想指定上传视频所需的频道,我认为您的代码中可能需要this parameter

  

onBehalfOfContentOwnerChannel - 此参数只能在a中使用   妥善authorized request。此参数只能在a中使用   妥善authorized request注意:此参数是预期的   专门针对YouTube内容合作伙伴。

     

onBehalfOfContentOwnerChannel 参数指定YouTube   要添加视频的频道的频道ID。这个   当请求指定的值时,参数是必需的    onBehalfOfContentOwner 参数,它只能与该参数一起使用。此外,请求必须是   使用链接到内容所有者的CMS帐户授权    onBehalfOfContentOwner 参数指定。最后,   通道 onBehalfOfContentOwnerChannel 参数值   指定必须链接到内容所有者    onBehalfOfContentOwner 参数指定。

     

此参数适用于拥有和的YouTube内容合作伙伴   管理许多不同的YouTube频道。它允许内容所有者   验证一次并代表渠道执行操作   在参数值中指定,无需提供   每个单独渠道的身份验证凭据。