我正在开发一个应用程序,它可以帮助我的一个朋友更好地组织他的YouTube频道。他在不同的谷歌账户上拥有多个渠道。我是用Python开发的,目前我对YouTube数据API没有太多的经验,我计划使用它,因为它似乎是唯一的选择
应用程序本身并不复杂。它唯一需要做的事情就是上传视频,带有指定的标题、描述和其他属性,还可以在视频上写评论。我在Google开发者控制台中启动了一个简单的应用程序,启用了YouTube数据API,并创建了一个API密钥和一个OAUTH客户端ID
到目前为止,我已经设法在视频上发布评论,但每次我运行Python脚本(目前只是一个简单的脚本,只发布一条评论)时,Google都希望我明确选择要使用的帐户,并且每次运行脚本时,我都必须对脚本授予权限
有没有一种方法可以让我只运行一次脚本,然后告诉谷歌我想使用哪个帐户发布评论,授予所有权限,然后谷歌就会记住,这样我就不必每次都明确授予权限了
还有,我怎样才能切换帐户并使用该帐户进行上传,因为当前我总是需要在运行脚本时,当Google客户端弹出时选择一个帐户
我听说你可以获得谷歌授权的应用程序,这会有帮助吗?或者如果我只是让我的应用程序在测试中,而不是在生产中,这样可以吗
如果您有
N
个帐户,并且希望在每个帐户上上载视频,则必须运行以成功完成N
OAuth 2授权/身份验证流对于这些
N
OAuth流中的每一个流,在成功完成每一个流后,必须将获得的凭证数据持久化到计算机本地存储中的一个单独的文件中这可以被看作是应用程序的初始化步骤(不过,在以后的任何阶段,你都可以为你的应用程序需要知道的任何其他频道重复这一步骤)。您的代码如下所示:
上面,
client_secret_file
是包含应用程序客户端机密JSON文件的文件的完整路径,该文件是从Google开发者控制台获得的随后,每次你想要上传视频时,你都必须在应用程序中选择将视频上传到哪个频道。从您的程序逻辑的角度来看,这意味着以下事情:假设您选择了ID为
channel_id
的频道:请读入与channel_id
相关联的凭证数据文件,以便将其内容传递到YouTube服务对象youtube
,构建如下:运行此代码后,YouTube服务对象
youtube
将以这样的方式初始化,即通过此对象发出的每个API端点调用将代表channel_id
标识的通道完成授权请求一个重要的注意事项:您需要安装包Google Authentication Library for Python,
google-auth
,版本>;=1.21.3(google-auth
v1.3.0引入了Credentials.from_authorized_user_file
,v1.8.0引入了Credentials.to_json
,v1.21.3修复了后一个函数w.r.t.它的类expiry
成员),以便将凭证对象cred
保存到JSON文本文件中并从JSON文本文件中加载还有一个重要的注意事项:上面的代码尽可能简化。根本不处理错误条件。例如,当在写入新凭据数据文件时
cred_file
已经存在,或者在读取假定已经存在的凭据数据时cred_file
不存在时,上述代码不会处理错误情况相关问题 更多 >
编程相关推荐