Проблема в том, что большинство данных YouTube являются частными данными пользователя.Поскольку это личные данные пользователя, вы должны быть аутентифицированы как пользователь, имеющий доступ к данным, чтобы получить к ним доступ.Для этого мы используем Oauth2 и входим в нашу учетную запись и получаем токен доступа и возвращаемый токен обновления.
Токен доступа можно использовать для запроса данных с Api Youtube, токен обновления можно использовать для запросановый токен доступа, когда истекает срок его действия (через час)
Обычно я бы сказал, что вам следует подумать об использовании служебной учетной записи.Учетные записи служб являются фиктивными пользователями, которые могут быть предварительно настроены на доступ к данным пользователя.К сожалению, API Youtube не поддерживает учетные записи служб.
То, что вы должны делать, и то, что я делал несколько раз в прошлом, - это аутентифицировать ваш код один раз.Получите токен обновления и сохраните его.В будущем, когда вы захотите запустить свое приложение, вы просто используете токен обновления, чтобы запросить новый токен доступа, и вы сможете получить доступ к API.Вам больше не нужно будет вручную вводить свой логин и пароль и давать согласие на доступ, все можно сделать в фоновом режиме, используя токен refesh.
Примечание. Вам нужно будет просмотреть его. В некоторых случаях срок действия маркера обновления может истечь, но вам не следует беспокоиться по большей части о том, что он хорош, если вы продолжаете использовать его регулярно.
Я не разработчик Python, но нашел это
from oauth2client import client, GOOGLE_TOKEN_URI
CLIENT_ID = "client_id"
CLIENT_SECRET = "client_secret"
REFRESH_TOKEN = "refresh_token"
credentials = client.OAuth2Credentials(
access_token = None,
client_id = CLIENT_ID,
client_secret = CLIENT_SECRET,
refresh_token = REFRESH_TOKEN,
token_expiry = None,
token_uri = GOOGLE_TOKEN_URI,
token_ id = None,
revoke_uri= None)
http = credentials.authorize(httplib2.Http())