Я хочу автоматически получать некоторые аналитические данные о нашем контенте на нашем канале Youtube, такие как просмотры, лайки, среднее время просмотра, подписки по видео ... Поэтому я подписался на официальная документация Youtube Analytics, но когда я запускаю скрипт python, он постоянно говорит мне переходить по ссылке и вводить токен каждый раз, когда я запускаю скрипт. Проблема в том, что я хочу создать сценарий, который будет загружать все данные автоматически, без необходимости вводить токен при каждом его запуске. Я пробовал использовать ключ API, но токен все еще запрашивается.
Я читал, что Youtube Analytics работает только с Oauth2, есть ли способ получить эту информацию, не вводя токен каждый раз вручную? Если нет, могу ли я получить эти данные с помощью API данных YouTube?
Спасибо
create_service
, определенную в моем ответе, который я цитировал выше (я делаю это, надеясь, что ее работа станет более ясной). Во-первых, обратите внимание, что файл pickle фактически содержит два разных токена: (долгоживущий) токен обновления и (недолговечный; обычно действительный в течение часа) токен доступа. Маркер обновления инициализируется после успешной аутентификации / авторизации OAuth и после инициализации не изменяется:flow = InstalledAppFlow.from_client_secrets_file(client_secret_file, scopes); cred = flow.run_console()
. - person stvar   schedule 05.01.2021cred.refresh(Request())
. Обновление токена доступа выполняется вне любого потока OAuth. Маркер доступа - это конкретные данные учетных данных, которые передаются каждому вызову API, отправляемому через объектyoutube
, полученный отcreate_service
. Важно отметить следующий факт: после того, как вы успешно прошли поток OAuth (таким образом, получив токен обновления, который сохраняется в первом файле pickle), последующие вызовыcreate_service
не будут инициировать другие потоки OAuth. - person stvar   schedule 05.01.2021create_service
будет делать следующее: (1) читать файл pickle; (2) проверить, истек ли срок действия сохраненного токена доступа (при необходимости обновив его); (3) сохранить текущий объект учетных данных в файле pickle. Вызовcreate_service
во второй (третий и т. Д.) Раз после успешного выполнения потока OAth не выполнит 'flow = InstalledAppFlow.from_client_secrets_file (...) `иcred = flow.run_local_server()
. - person stvar   schedule 05.01.2021