Как я могу опубликовать на Tumblr встроенное видео с помощью API Tumblr?
Я хотел бы опубликовать видео на Tumblr от имени пользователя с помощью API Tumblr (после получения токена доступа). Он отлично работает с видео на 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>'
);