Как прикрепить видео с ютуба vk api?

Всем привет, подскажите пожалуйста как залить на стену не ссылку на видео, а чтобы именно видео прикрепилось через апи, когда просто вставляешь ссылку через сайт вк, видос сам подтягивается, а через апи нет.
  • Вопрос задан
  • 329 просмотров
Пригласить эксперта
Ответы на вопрос 1
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
С видео 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!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы