【问题标题】:How do I use the YouTube Data API to upload video to secondary channel on personal account如何使用 YouTube 数据 API 将视频上传到个人帐户的辅助频道
【发布时间】:2021-02-08 23:08:36
【问题描述】:

我查看了 Stack Overflow 并看到了一些关于此的帖子,但没有一个解决方案有帮助。

我有一个在 YouTube 中使用的 Google 帐户。我在该 YouTube 帐户上创建了第二个频道,以便上传具有特定主题的视频,将它们与主要视频分开。

尝试使用 Google API 上传视频以便我可以通过 Python 脚本运行它,但我一直在与正在寻找应用验证、隐私政策和网页链接的 Google 碰壁 - 我没有这些.

此应用程序是一个 Python 脚本,不向公众提供,也不会收集任何公共信息。我要做的就是将视频上传到我自己的个人 YouTube 帐户。

所以我开始认为这是我应该使用的其他东西,而不是 API(上传网页不适合在脚本中使用)。

我的两个问题是:

  1. 我可以使用 YouTube API 将视频直接上传到我个人 YouTube 帐户的第二个频道吗?

  2. 我应该使用另一种更简单的机制通过脚本将视频上传到我的个人 YouTube 帐户吗?我必须通过脚本执行此操作的原因是设备无人值守。

谢谢,

大卫

【问题讨论】:

    标签: youtube-api youtube-data-api


    【解决方案1】:

    在能够通过YouTube 网站。


    回答问题号。 1: 是的,这是完全可能的。

    作为 OAuth 2.0 身份验证/授权流程的一部分,您将在浏览器中看到选择为您的应用授予访问权限的帐户的选项。

    在使用脚本之前,您可以在Google Developers OAuth 2.0 Playground 的帮助下练习此行为。

    在 OAuth 流程成功后,您可以验证(也可以撤销)您的帐户在 account's permissions page 上授予的权限。

    回答问题号。 2: 不,除了使用Videos.insert API 端点之外,没有办法在 YouTube 上以编程方式上传符合 YouTube's DTOS 的视频。

    附录

    由于现在您至少有两个凭据集,因此可能需要知道给定凭据对象与您的哪个 YouTube 频道相关联。

    如果使用Google APIs Client Library for Python,您可以通过调用Channels.list API 端点,将参数@987654329 传递给API 端点,轻松地从API 获取与给定凭据对象CREDENTIALS 关联的通道ID @如mine=true:

    from googleapiclient.discovery import build
    
    youtube = build(
        'youtube', 'v3',
         credentials = CREDENTIALS)
    
    response = youtube.channels().list(
        mine = 'true',
        part = 'id',
        fields = 'items(id)',
        maxResults = 1
    ).execute()
    
    channel_id = response['items'][0]['id']
    

    请注意,上面的代码使用fields 请求参数从Channels.list 端点仅获取通道的ID 信息(从API 中仅询问实际使用的信息总是好的)。

    使用上述过程的警告如下:如果给定的 CREDENTIALS 实例具有 its scopes 仅包含:

    https://www.googleapis.com/auth/youtube.upload,

    然后 API 将响应 insufficientPermissions 类型的错误和消息 请求的身份验证范围不足。

    为了成功调用Channels.list,附加到CREDENTIALS 的范围包括以下任一就足够了:

    https://www.googleapis.com/auth/youtube.readonly, https://www.googleapis.com/auth/youtube.

    【讨论】:

    • 感谢您的回复,我承认必须发生类似的事情,但我不明白必须为私人脚本提供隐私政策和网站端点。这似乎是一个打勾练习。但也许我不完全理解它,因为我是 API 世界的新手。您能否建议我如何将视频上传到我帐户的第二个频道,因为我真的开始为此苦苦挣扎,因此我们将不胜感激。我已将 API 上传到我的主频道正常运行。
    • 上传到附属于同一 Google 帐户的辅助 YouTube 频道并没有什么特别之处。这是already answered here on SO。我会在上面更新我的答案。
    • 我建议用N/A回答那些不适用于您的应用用例的问题。
    • 谢谢大家的帮助。不幸的是,当我现在尝试使用 API 时,遇到了 401 错误“youtubeSignupRequired”。我在这里阅读了这个错误的含义:developers.google.com/youtube/v3/docs/errors 说明我的谷歌帐户没有频道。我不明白这一点错误,因为我确实有一个频道(实际上是 2 个)。谁能告诉我如何得到这个?
    • @cikatomo:确实,Videos.insert API 端点的官方文档确实如此。
    猜你喜欢
    • 2020-07-13
    • 1970-01-01
    • 2021-07-29
    • 2016-04-16
    • 2012-09-25
    • 1970-01-01
    • 2013-02-03
    • 1970-01-01
    • 2014-11-22
    相关资源
    最近更新 更多