Загрузка...
Заливаем Ютуб Shorts автоматически
  1. PowerDevil
    PowerDevil Автор темы 21 дек 2024 11 957 27 авг 2022
    [IMG]
    [IMG]

    Resident PRIVATE Proxy от 0.049$ (Pia / ABC / 922 / 9) https://lolz.live/threads/6517233/

    *** Configs (WireGuard / Outline / Vless)
    https://lolz.live/threads/6751972/


    IPv4 Proxy (Socks5 / HTTPS)
    https://lolz.live/threads/6946368/

    Аренда +888
    https://lolz.live/threads/7800339/

    t.me/snegirshop_bot
    Всех с наступающим 2025 годом

    И хочу поделится как можно заливать на ютуб видео автоматически

    ------------------------------------------------------------------------------------------------------

    У нас будет разделен гайд на несколько частей, а именно получение API ключа и залива ютуб.


    ===============================================================================================

    1. Мы переходим в Google Developers Console

    Переходим по ссылке на Google Developers Console

    И если у вас нет проектов, мы создаем его, нажимая на кнопку Select a project слева сверху.

    После открывается у нас окно и нажимаем на New Project и называем наш проект как хотим и ожидаем пока создается у нас наш проект

    Далее переходим снова на Select a project

    [IMG]
    Далее просто переходим по нашему проекту.

    Сейчас мы должны включить сам апи ютуба мы переходим в

    APIs & Services

    [IMG]
    И создаем API Сервис
    [IMG]
    Мы должны пролистать ниже и найти YouTube Data API v3
    [IMG]
    Как перешли мы должны включить его нажав на кнопку ENABLE (Это у нас займет некоторое время)

    2. Создание учетных данных

    Переходим в раздел Credentials

    И нажимаем на Create credentials

    [IMG]
    Выбираем OAuth client ID

    Настройка согласия (OAuth consent screen)

    1. Выбираем External

    2. Дальше нас требует указать App name и User Support email и Developer contact information (указываем свой)

    3. Нажимаем Save AND Continue

    =====================================================================

    В Scopes Мы должны включить наш YouTube Shorts

    По этому мы нажимаем на Add OR Remove Scopes

    [IMG]
    И у нас повялвется справа фильтры мы должны найти там
    ⁡https://www.googleapis.com/auth/youtube.upload


    Для этого мы в поиске вписываем youtube.upload и у нас выходит YouTube Data API v3

    [IMG]


    [IMG]
    Нажимаем на UPDATE

    И уже в Scopes Мы снова нажимаем на Save And Continue

    Далше в Test User мы тут просто скипаем так же Save And Continue

    В Summary в нажимаем на BackToDashBoard

    3. ПОлучение Json

    3.1 Мы переходим снова в credentials

    нажимаем на
    Create Credentials

    3.2 Выбераем Create OAuth client ID

    3.3 выбераем в нем "Desktop application"

    3.4 Нажимаем на Create

    3.5 Нажимаем на Download JSON

    Все мы успешно получили JSON


    ----------------------------------------------------------------------------------------------------



    4. Залив На >>Yotube Shorts<<

    4.1 Для начала нам потеруется установить Python думаю у всех он есть а если нету то не составит труда вам его скачать



    Дальше мы создаем папку где будет хранится наш скрипт

    Мы создаем там main.py и вписываем данный код

    Python
    from os import getenv, path, listdir

    import json

    import google_auth_oauthlib.flow

    import googleapiclient.discovery

    import googleapiclient.errors

    from googleapiclient.http import MediaFileUpload

    from dotenv import load_dotenv



    load_dotenv()



    def find_credentials_file():

    script_dir = path.dirname(path.abspath(__file__))

    for file in listdir(script_dir):

    if file.endswith('.json'):

    file_path = path.join(script_dir, file)

    try:

    with open(file_path, 'r') as f:

    data = json.load(f)

    if 'installed' in data or 'web' in data:

    return file_path

    except json.JSONDecodeError:

    continue

    raise FileNotFoundError('Не найден JSON файл с учетными данными OAuth в директории скрипта')



    CLIENT_SECRETS_FILE = find_credentials_file()

    VIDEOS_FOLDER = getenv('VIDEOS_FOLDER', 'videos')



    class YouTubeShortsUploader:

    def __init__(self, client_secrets_file, videos_folder):

    self.videos_folder = videos_folder

    self.scopes = ["https://www.googleapis.com/auth/youtube.upload"]



    flow = google_auth_oauthlib.flow.InstalledAppFlow.from_client_secrets_file(

    client_secrets_file, self.scopes)

    credentials = flow.run_local_server(port=0)



    self.youtube = googleapiclient.discovery.build(

    "youtube", "v3", credentials=credentials)



    def get_video_details(self, video_path):

    title = path.splitext(path.basename(video_path))[0]

    description = "Uploaded"

    return title, description



    def upload_short(self, video_path):

    try:

    title, description = self.get_video_details(video_path)

    body = {

    'snippet': {

    'title': title,

    'description': description,

    'categoryId': '22'

    },

    'status': {

    'privacyStatus': 'public'

    }

    }



    media = MediaFileUpload(

    video_path,

    resumable=True,

    chunksize=1024*1024

    )



    request = self.youtube.videos().insert(

    part=",".join(body.keys()),

    body=body,

    media_body=media

    )



    response = request.execute()



    print(f"Видео {title} успешно загружено. ID: [URL='https://www.youtube.com/shorts/{response['id']}']https://www.youtube.com/shorts/{response['id']}")[/URL]

    return response['id']



    except googleapiclient.errors.HttpError as e:

    print(f"Ошибка при загрузке видео {video_path}: {e}")

    return None



    def upload_all_shorts(self):

    video_extensions = ['.mp4', '.mov', '.avi', '.mkv']



    for filename in listdir(self.videos_folder):

    if any(filename.lower().endswith(ext) for ext in video_extensions):

    video_path = path.join(self.videos_folder, filename)

    self.upload_short(video_path)



    def main():

    uploader = YouTubeShortsUploader(CLIENT_SECRETS_FILE, VIDEOS_FOLDER)

    uploader.upload_all_shorts()



    if __name__ == "__main__":

    main()





    и рядом с скриптом закидываем наш json файл

    И создаем файйл .env и вписываем
    ⁡VIDEOS_FOLDER= тут укзаываем путь
    ⁡ где хранятся у нас видео


    У меня хранится в E:\statia значит будет так
    ⁡VIDEOS_FOLDER=E:\statia


    видео должны хранится там

    [IMG]
    Дальше в консоли с скриптом прописываем
    ⁡pip install google-api-python-client google-auth-oauthlib python-dotenv


    Эту команду вписываем только 1 раз

    И все просто запускаем скрипт
    ⁡py main.py


    ( нас потребует авторизоваться в браузере 1 раз (указываем свой канал) )

    у вас на экране появится в браузере что успешно и смотрите в свою консоль видео начали загружаться

    [IMG]
    [IMG]
    (название ролика берет с название файла)

    Всем удачного пролива и еще раз с наступающим​
     
    Этот материал оказался полезным?
    Вы можете отблагодарить автора темы путем перевода средств на баланс
    Отблагодарить автора
    21 дек 2024 Изменено
    1. Посмотреть предыдущие комментарии (6)
    2. Vol4onokfg
      Hollywood, да, в следуйший раз перевиди ошибку на русский, и попробуй решить ее, либо у ИИ спроси
    3. HOFELE
      PowerDevil, а можно пожалуйста по подробнее про то как добавить тестеров?

Комментарии

Top