Как опубликовать в 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>'
);