stihl не предоставил(а) никакой дополнительной информации.
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Resident PRIVATE [tooltip=151]Proxy[/tooltip] от 0.049$ (Pia / ABC / 922 / 9) Для просмотра ссылки Войдиили Зарегистрируйся
[tooltip=419]VPN[/tooltip] Configs (WireGuard / Outline / Vless)
Для просмотра ссылки Войдиили Зарегистрируйся
IPv4 [tooltip=151]Proxy[/tooltip] (Socks5 / HTTPS)
Для просмотра ссылки Войдиили Зарегистрируйся
Аренда +888
Для просмотра ссылки Войдиили Зарегистрируйся
Для просмотра ссылки Войдиили Зарегистрируйся
Resident PRIVATE [tooltip=151]Proxy[/tooltip] от 0.049$ (Pia / ABC / 922 / 9) Для просмотра ссылки Войди
[tooltip=419]VPN[/tooltip] Configs (WireGuard / Outline / Vless)
Для просмотра ссылки Войди
IPv4 [tooltip=151]Proxy[/tooltip] (Socks5 / HTTPS)
Для просмотра ссылки Войди
Аренда +888
Для просмотра ссылки Войди
Для просмотра ссылки Войди
Всех с наступающим 2025 годом
И хочу поделится как можно заливать на ютуб видео автоматически
------------------------------------------------------------------------------------------------------
У нас будет разделен гайд на несколько частей, а именно получение API ключа и залива ютуб.
===============================================================================================
1. Мы переходим в Google Developers Console
Переходим по Для просмотра ссылки Войдиили Зарегистрируйся
И если у вас нет проектов, мы создаем его, нажимая на кнопку Select a project слева сверху.
После открывается у нас окно и нажимаем на New Project и называем наш проект как хотим и ожидаем пока создается у нас наш проект
Далее переходим снова на Select a project
И хочу поделится как можно заливать на ютуб видео автоматически
------------------------------------------------------------------------------------------------------
У нас будет разделен гайд на несколько частей, а именно получение API ключа и залива ютуб.
===============================================================================================
1. Мы переходим в Google Developers Console
Переходим по Для просмотра ссылки Войди
И если у вас нет проектов, мы создаем его, нажимая на кнопку Select a project слева сверху.
После открывается у нас окно и нажимаем на New Project и называем наш проект как хотим и ожидаем пока создается у нас наш проект
Далее переходим снова на Select a project

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

И создаем API Сервис

Мы должны пролистать ниже и найти YouTube Data API v3

Как перешли мы должны включить его нажав на кнопку ENABLE (Это у нас займет некоторое время)
2. Создание учетных данных
Переходим в раздел Credentials
И нажимаем на Create credentials
2. Создание учетных данных
Переходим в раздел Credentials
И нажимаем на Create credentials

Выбираем OAuth client ID
Настройка согласия (OAuth consent screen)
1. Выбираем External
2. Дальше нас требует указать App name и User [tooltip=651]Support[/tooltip] email и Developer contact information (указываем свой)
3. Нажимаем Save AND Continue
=====================================================================
В Scopes Мы должны включить наш YouTube Shorts
По этому мы нажимаем на Add OR Remove Scopes
Настройка согласия (OAuth consent screen)
1. Выбираем External
2. Дальше нас требует указать App name и User [tooltip=651]Support[/tooltip] email и Developer contact information (указываем свой)
3. Нажимаем Save AND Continue
=====================================================================
В Scopes Мы должны включить наш YouTube Shorts
По этому мы нажимаем на Add OR Remove Scopes

И у нас повялвется справа фильтры мы должны найти там [srci]Для просмотра ссылки Войди или Зарегистрируйся
Для этого мы в поиске вписываем youtube.upload и у нас выходит YouTube Data API v3
Для этого мы в поиске вписываем youtube.upload и у нас выходит YouTube Data API v3


Нажимаем на UPDATE
И уже в Scopes Мы снова нажимаем на Save And Continue
Далше в Test User мы тут просто скипаем так же Save And Continue
В Summary в нажимаем на BackToDashBoard
3. ПОлучение Json
[tooltip=888]3.1[/tooltip] Мы переходим снова в credentials
нажимаем на Create Credentials
[tooltip=828]3.2[/tooltip] Выбераем Create OAuth client ID
[tooltip=829]3.3[/tooltip] выбераем в нем "Desktop application"
[tooltip=830]3.4[/tooltip] Нажимаем на Create
[tooltip=831]3.5[/tooltip] Нажимаем на Download JSON
Все мы успешно получили JSON
----------------------------------------------------------------------------------------------------
4. Залив На >>Yotube Shorts<<
4.1 Для начала нам потеруется установить [tooltip=894]Python[/tooltip] думаю у всех он есть а если нету то не составит труда вам его скачать
Дальше мы создаем папку где будет хранится наш [tooltip=926]скрипт[/tooltip]
Мы создаем там [unfurl="https://main.py"]main.py[/unfurl] и вписываем данный код
И уже в Scopes Мы снова нажимаем на Save And Continue
Далше в Test User мы тут просто скипаем так же Save And Continue
В Summary в нажимаем на BackToDashBoard
3. ПОлучение Json
[tooltip=888]3.1[/tooltip] Мы переходим снова в credentials
нажимаем на Create Credentials
[tooltip=828]3.2[/tooltip] Выбераем Create OAuth client ID
[tooltip=829]3.3[/tooltip] выбераем в нем "Desktop application"
[tooltip=830]3.4[/tooltip] Нажимаем на Create
[tooltip=831]3.5[/tooltip] Нажимаем на Download JSON
Все мы успешно получили JSON
----------------------------------------------------------------------------------------------------
4. Залив На >>Yotube Shorts<<
4.1 Для начала нам потеруется установить [tooltip=894]Python[/tooltip] думаю у всех он есть а если нету то не составит труда вам его скачать
Дальше мы создаем папку где будет хранится наш [tooltip=926]скрипт[/tooltip]
Мы создаем там [unfurl="https://main.py"]main.py[/unfurl] и вписываем данный код
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 и вписываем [srci]VIDEOS_FOLDER= тут укзаываем путь[/srci] где хранятся у нас видео
У меня хранится в E:\statia значит будет так [srci]VIDEOS_FOLDER=E:\statia[/srci]
видео должны хранится там
И создаем файйл .env и вписываем [srci]VIDEOS_FOLDER= тут укзаываем путь[/srci] где хранятся у нас видео
У меня хранится в E:\statia значит будет так [srci]VIDEOS_FOLDER=E:\statia[/srci]
видео должны хранится там

Дальше в консоли с скриптом прописываем [srci]pip install google-api-python-client google-auth-oauthlib python-dotenv[/srci]
Эту команду вписываем только 1 раз
И все просто запускаем [tooltip=926]скрипт[/tooltip] [srci]py main.py[/srci]
( нас потребует авторизоваться в браузере 1 раз (указываем свой канал) )
у вас на экране появится в браузере что успешно и смотрите в свою консоль видео начали загружаться
Эту команду вписываем только 1 раз
И все просто запускаем [tooltip=926]скрипт[/tooltip] [srci]py main.py[/srci]
( нас потребует авторизоваться в браузере 1 раз (указываем свой канал) )
у вас на экране появится в браузере что успешно и смотрите в свою консоль видео начали загружаться


(название ролика берет с название файла)
Всем удачного пролива и еще раз с наступающим
Всем удачного пролива и еще раз с наступающим