Python:使用Google提供的代码段将视频上传到youtube不起作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python:使用Google提供的代码段将视频上传到youtube不起作用相关的知识,希望对你有一定的参考价值。

我正在尝试使用python脚本将视频上传到Youtube。

因此,给定的here(upload_video.py)代码应该可以正常工作,并且我遵循了包括启用Youtube API以及获取OAuth秘密密钥的设置。您可能会注意到代码是在Python 2中编写的,因此我使用2to3使其与python3.7一起运行。问题是由于某种原因,我在执行upload_video.py时要求登录:

enter image description here

现在不应该发生这种情况,因为这就是拥有client_secrets.json文件的全部要点,您无需显式登录。因此,一旦退出此内置浏览器,就会看到以下内容:

enter image description here

这是第一行:

/usr/lib/python3.7/site-packages/oauth2client/_helpers.py:255: UserWarning: Cannot access upload_video.py-oauth2.json: No such file or directory
  warnings.warn(_MISSING_FILE_MESSAGE.format(filename))

现在,我不明白为什么需要与upload_video.py文件中一样的upload_video.py-oauth2.json,oauth2秘密文件设置为“ client_secrets.json”。

无论如何,我创建了文件upload_video.py-oauth2.json并将client_secrets.json的内容复制到其中。当时我没有得到奇怪的登录信息,但是又遇到了另一个错误:

Traceback (most recent call last):
  File "upload_video.py", line 177, in <module>
    youtube = get_authenticated_service(args)
  File "upload_video.py", line 80, in get_authenticated_service
    credentials = storage.get()
  File "/usr/lib/python3.7/site-packages/oauth2client/client.py", line 407, in get
    return self.locked_get()
  File "/usr/lib/python3.7/site-packages/oauth2client/file.py", line 54, in locked_get
    credentials = client.Credentials.new_from_json(content)
  File "/usr/lib/python3.7/site-packages/oauth2client/client.py", line 302, in new_from_json
    module_name = data['_module']
KeyError: '_module'

所以基本上现在我已经死胡同了。关于现在该怎么办?

答案

请参阅get_authenticated_service中的功能upload_video.py的代码:您不应自己创建文件upload_video.py-oauth2.json!该文件是在OAuth2流完成时通过调用run_flow中的get_authenticated_service创建的。

此外,您也可以阅读文档OAuth 2.0 for Mobile & Desktop Apps,以获得有关独立计算机上的授权流的详尽信息。

以上是关于Python:使用Google提供的代码段将视频上传到youtube不起作用的主要内容,如果未能解决你的问题,请参考以下文章

php 此代码段将排除您在WooCommerce Shop页面上显示的任何类别的所有产品。

php 此代码段将排除您在WooCommerce Shop页面上显示的任何类别的所有产品。

使用 Python 在 Google App Engine 上提供 Gtalk 服务

如何在Google App Engine上建立flex和python代码之间的通信

Google开源了Abseil,为C++和Python开发提供支持

通过Youtube Api上传360度视频