【发布时间】:2018-04-04 06:28:03
【问题描述】:
我正在创建一个应用程序,该应用程序将部署在各个站点上,并将定期将每个站点的视频上传到 YouTube。我已经上传了视频,但理想情况下每个站点都有自己的频道。
我搜索了一下是否有人遇到过这个问题(不要重新发明轮子,对吗?),但我发现的唯一一件事是引用 onBehalfOfContentOwner 参数 detailed in the api here 的几个线程。
这与我无关,因为我不是内容合作伙伴;至少我不认为我是。 Google API 帮助文档随后将我发送到这里,所以我来了。
我创建了一个 YouTube 品牌帐户,目前有两个频道。显然,每个人都有自己的频道 ID。到目前为止,我已经尝试了以下方法:
在创建视频片段时指定 ChannelId,我看不到其他任何地方可以设置它或使用合适的对象。我尝试使用相同的 OAuth 凭据使用两个不同的频道 ID。
使用两个唯一的 OAuth 凭据创建两个单独的 api 项目,然后在运行时加载这些凭据。在应用程序的整个生命周期中,我只使用一组凭据,然后在我测试上传仍然有效后更改为第二组凭据。我使用的第一个凭据集提示我登录并 随后选择一个帐户。第二组没有提示我 除了视频之外的所有视频都上传到我拥有的同一个帐户上 之前选择的。我退出了 YouTube,我的浏览器是 在这两种情况下都关闭;浏览器关闭后不会存储任何详细信息。
我想我的问题是这个。指定要上传到哪个频道的最佳做法是什么?我正在使用的应用程序将在设定的时间自动运行,因此在上传过程中我无法进行用户交互。 (不过,在初始设置期间选择一个帐户就可以了!)
非常感谢任何帮助。提前致谢。
编辑:
如果 C:\Users{USERNAME}\AppData\Roaming\Google.Apis.Auth;即使我在我的应用程序中使用不同的 OAuth 凭据。删除访问令牌文件将导致您下次使用本机的 api 时出现登录提示。
对于我的应用程序,这是可以接受的,因为当我部署时,只需要一次登录并获得访问令牌,然后每小时刷新一次。这也意味着我可以为我们的每个网站选择要上传到的帐户/频道。虽然我承认 MαπμQμαπkγVπ.0 给出的答案,但鉴于我不是前面提到的内容合作伙伴,我认为这不适用于此处。
如果有人可以告诉我如何通过代码而不是删除访问令牌来执行此操作,那当然是首选解决方案。 (或者让我知道我是内容合作伙伴,以便我可以尝试 onBehalf 参数)
【问题讨论】:
标签: youtube-api youtube-data-api