С видео api vk не работал, но пробежался по докам(не читая). Алгоритм примерно следующий:
1) Вызываете метод
video.save - передаете url видеозаписи с youtube,token и некоторые другие параметры. В случае успешного выполнения метода, получаете json с параметрами видео и video_id(его нужно передать в следующий метод).
2) Вызываете метод
video.add - передаете в него id пользователя или сообщества, куда добавить видео(в данном случае - свой id), video_id и id владельца видео(я так понял, тоже свой id). В случае успеха, метод вернёт 1.
Посмотрите документацию, там есть интересные необязательные параметры.
Пример:
import requests
import json
token = '' # Токен, с доступом к видео
my_id = '' # Свой id
def video_save(link):
response = requests.get(f'https://api.vk.com/method/video.save?link={link}&access_token={token}&v=5.107')
# print(response.text) # мощная функция для отладки кода :)
j_data = json.loads(response.text) # Возвращает адрес сервера, необходимый для загрузки, и данные видеозаписи.
return j_data['response']['video_id'] # Возвращаем из функции только video_id(для удобства)
def video_add(target_id, video_id, owner_id):
# target_id - id пользователя или сообщества, в которое нужно добавить видео.
# video_id - id видеозаписи.
# owner_id -id пользователя или сообщества, которому принадлежит видеозапись.
response = requests.get(f'https://api.vk.com/method/video.add?target_id={target_id}&owner_id={owner_id}&video_id={video_id}&access_token={token}&v=5.107')
return response.text # Если вернет 1, значит видео добавлено
video_id = video_save('https://www.youtube.com/watch?v=58RSC7HO9aU') # Получаем video_id
result = video_add(my_id,video_id,my_id) # Добавляем видео себе в видеозаписи
print(result)
Курите внимательно доки по api, в вк одно и самых простых api!