我正试图用python脚本把视频上传到Youtube上。
因此,给定的这里 (upload_video.py)代码应该能工作,我遵循了设置,包括启用Youtube API和获取OAuth密钥等等。您可能会注意到,代码是Python 2中的,所以我使用了2到3来使它与python3.7一起运行。问题是,出于某种原因,我在执行upload_video.py时被要求登录:
现在,这不应该发生,因为这是拥有一个client_secrets.json文件的全部意义,您不需要显式登录。因此,一旦我退出这个in浏览器,我看到的是:
下面是第一行:
/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_Visual.py-oauth2.json,而oauth2秘密文件被设置为"client_secrets.json“。
无论如何,我创建了文件upload_Visual.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'
所以基本上现在我已经到了死胡同。对现在该做什么有什么想法吗?
发布于 2020-04-25 05:35:38
参见函数get_authenticated_service
在upload_video.py
中的代码:您的不应该自己创建文件upload_video.py-oauth2.json
!该文件是在OAuth2流通过调用流在get_authenticated_service
中完成后创建的。
此外,您还可以阅读文档用于移动和桌面应用程序的OAuth 2.0,以获得有关独立计算机上的授权流的详细信息。
https://stackoverflow.com/questions/61425149
复制相似问题