如何授予在 YouTube 上上传字幕的范围

问题描述 投票:0回答:1

我有一个Python脚本,可以按照文档上传视频和缩略图,并且它可以工作。我想对其进行调整以上传字幕或字幕。遵循这个要点,看起来很简单:

youtube = get_authenticated_service(args)

def upload(youtube, filepath, language, video_id):
  youtube.captions().insert(
    part="snippet",
    body={
      "snippet": {
        "videoId": video_id,
        "language": language,
        "name": "Subtitles"
      }
    },
    media_body=filepath
  ).execute()

此代码失败并出现以下错误:

{
  "error": {
    "code": 403,
    "message": "Request had insufficient authentication scopes.",
    "errors": [
      {
        "message": "Insufficient Permission",
        "domain": "global",
        "reason": "insufficientPermissions"
      }
    ],
    "status": "PERMISSION_DENIED"
  }
}

所以我尝试授权我的应用程序有字幕的权限。 [文档] 建议这些范围:

授权

此请求需要至少具有以下范围之一的授权(阅读有关身份验证和授权的更多信息)。

范围

https://www.googleapis.com/auth/youtube.force-ssl https://www.googleapis.com/auth/youtubepartner

我认为我无法授予自己 YouTube 合作伙伴的身份,而且我不明白 SSL 与此有什么关系。

当我在顶部栏搜索“范围”时,我的应用程序的 Google Cloud Console 仪表板没有显示任何结果。当我搜索“OAuth”时,我看到了

Enabled APIs and services
Credentials
的页面,但没有看到范围。

如何让已上传视频和缩略图的应用程序也上传字幕?

python-3.x youtube youtube-data-api
1个回答
0
投票

根据 API 文档,至少需要您列出的范围之一:

范围 https://www.googleapis.com/auth/youtube.force-ssl https://www.googleapis.com/auth/youtubepartner

要将它们添加到您的项目中,请打开您的 OAuth 同意屏幕,您将在第二页中找到范围。搜索 youtube,您将在其中找到两个范围,如以下屏幕截图所示。

正如您所提到的,我还认为如果您要将字幕添加到自己的频道,则不需要 youtubepartner 范围。我建议您首先添加force-ssl,看看它是否有效,如果无效,则将 youtubepartner 范围添加到您的应用程序中。

© www.soinside.com 2019 - 2024. All rights reserved.