我正在制作一个脚本,用于更新实时流的标题和描述。我已阅读available documentation,并已完成以下一般步骤:
当我使用API Explorer并手动选择品牌帐户时,这一切都可以正常工作。但是,当我采用生成的Python代码并合并适用的服务帐户代码时,会出现权限错误。
request = youtube.liveBroadcasts().update(
part="contentDetails,snippet,status",
body={
"contentDetails": {
"enableClosedCaptions": True,
"enableContentEncryption": True,
"enableDvr": True,
"enableEmbed": False,
"recordFromStart": True,
"startWithSlate": False,
"monitorStream": {
"enableMonitorStream": True,
"broadcastStreamDelayMs": 5
}
},
"id": "<video_id_here>",
"snippet": {
"scheduledStartTime": "2020-03-04T01:27:02Z",
"title": "New Foorbar Title"
},
"status": {
"privacyStatus": "public"
}
}
response = request.execute()
unauthorized_client:未授权客户端检索访问令牌 使用此方法,或者客户无权使用任何范围 请求。
我尝试将主题字段设置为在其自己的帐户设置中找到的主要帐户的电子邮件(x@example.com
),x@example.iam.gserviceaccount.com
电子邮件和品牌电子邮件x@pages.plusgoogle.com
。我浏览了几乎所有与此相关的内容,this issue tracker似乎是最有用的(但令人沮丧!)。
这使我了解到不可能在品牌帐户上实现全自动API授权。
有人对这个问题有见识吗?我缺少一些琐碎的东西吗?还是Google的固定限制?