Python: загрузка видео на YouTube с использованием предоставленного Google фрагмента кода не работает - PullRequest
2 голосов
/ 25 апреля 2020

Я пытаюсь загрузить видео на Youtube, используя python скрипт.

Итак, код, указанный здесь (upload_video.py), должен работать, и я следил за настройкой, включающей включение API YouTube и получение секретных ключей 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-oauth2. json необходимо, поскольку в файле upload_video.py секретный файл 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'

Так что теперь я зашел в тупик. Есть идеи о том, что делать сейчас?

1 Ответ

1 голос
/ 25 апреля 2020

См. Код функции get_authenticated_service в upload_video.py: вы не должны создавать файл upload_video.py-oauth2.json самостоятельно! Этот файл создается после завершения потока OAuth2 посредством вызова run_flow в get_authenticated_service.

Также вы можете прочитать do c OAuth 2.0 для мобильных устройств и Настольные приложения для получения подробной информации о процессе авторизации на автономных компьютерах.

...