Как опубликовать в Tumblr встроенное видео с помощью API Tumblr?
Я хотел бы опубликовать видео в tumblr от имени пользователя, используя в Tumblr API-интерфейс (после получения маркера доступа). Он отлично работает с видео youtube/vimeo, но не при предоставлении определенного url-адреса видео (без фактической загрузки его с нуля), например видео. Я хочу, чтобы мое видео воспроизводилось на панели управления tumblr (и в блоге пользователя).
Я использую следующую конечную точку: https://api.tumblr.com/v2/blog/myblog.tumblr.com/postHere с этими парамтерами:
params = {'type': 'video', 'caption': 'my cool video post!', 'embed': 'https://d22d7v2y1t140g.cloudfront.net/m_8386091_p64lvWa7cCG7.mov.mp4', 'format': "html"}
Как я могу сделать нечто подобное для других типов видео?
3 ответов
вот один рекомендуемый способ, используя pytumblr
внешние библиотеки:
import pytumblr
client = pytumblr.TumblrRestClient(
'<consumer_key>',
'<consumer_secret>',
'<oauth_token>',
'<oauth_secret>',
)
# Now that you're established, look at the client.create_video method.
client.create_video(**kwargs)
для дальнейшего изучения того, какие параметры он принимает,посмотреть источник, в частности data
значение, которое представляет собой строку локального пути для загрузки или embed
значение, которое является разделом HTML-кода, который будет загружать ваше внешнее размещенное видео.
для получения информации о том, как должен выглядеть тег embed, вы можете увидеть его в объект ответа примера в API:
{
"width": 250,
"embed_code": "<object width=\"248\" height=\"169\"><param
name=\"movie\" value=\"http:\/\/www.youtube.com\/
v\/4Q1aI7xPo0Y&rel=0&egm=0&
showinfo=0&fs=1\"><\/param><param name=\"wmode\"
value=\"transparent\"><\/param><param name=\"
allowFullScreen\" value=\"true\"><\/param><embed
src=\"http:\/\/www.youtube.com\/v\/
4Q1aI7xPo0Y&rel=0&egm=0&showinfo=
0&fs=1\" type=\"application\/x-shockwave-flash\"
width=\"248\" height=\"169\" allowFullScreen=\"true\"
wmode=\"transparent\"><\/embed><\/object>"
}
Ниже приведен параметр для видеопоста в tumblr
$params = array(
'type' => 'video',
'caption' => 'caption',
'embed'=> '<iframe
width="560"
height="315"
src="you youtube url"
frameborder="0"
allow="autoplay; encrypted-media"
allowfullscreen></iframe>'
);
вы можете отправить видеофайл с вашего сервера, вставив видео HTML5 следующим образом:
$params = array(
'type' => 'video',
'caption' => 'caption',
'embed'=> '<video width="100%" height="auto" controls><source src="/path/to/video" type="video/mp4">Your browser does not support the video tag.</video>'
);