在能够通过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.