Можно ли воспроизводить видео с другого сайта, кроме YouTube, на Facebook? - PullRequest
0 голосов
/ 01 ноября 2011

Я занимаюсь разработкой сайта для обмена видео.

Как известно, если вы заходите на YouTube, скопируйте ссылку, вставьте ее на стену Facebook или в сообщение, а затем вы сможете воспроизвести ее на Facebook, не переходя на YouTube. Насколько я знаю, YouTube - единственный сайт, который это делает. Если вы, например, скопируете ссылку из Vimeo и вставите ее в Facebook, она будет отображаться в виде эскиза, и вы не сможете воспроизвести ее из Facebook.

Итак, есть ли API , который я могу использовать для воспроизведения видео со своего сайта в Facebook, когда пользователь делится ссылкой, или эта функция доступна только для YouTube?

Ответы [ 3 ]

3 голосов
/ 01 ноября 2011

Да, это возможно. Вам необходимо разместить веб-страницу с соответствующими метатегами Open Graph Protocol для каждого видеоформата, который вы предлагаете для данного видео.

Тогда кто-то должен поделиться этим URL на Facebook. Facebook просканирует ваш сайт, проанализирует метатеги и предоставит видеоплеер.

Предложение большего количества видеоформатов обеспечивает лучшую кросс-браузерную совместимость.

Узнайте о метатегах здесь: http://developers.facebook.com/docs/opengraph/

Используйте инструмент отладчика Facebook, чтобы убедиться, что вы правильно форматируете метатеги: http://developers.facebook.com/tools/debug

1 голос
/ 08 октября 2012

Итак, есть ли API, который я могу использовать для воспроизведения видео со своего сайта в Facebook, когда пользователь делится ссылкой

@ Эли,

Да, есть API для воспроизведения видео с веб-сайта в Facebook, он называется Open Graph Protocol. Читайте все об этом по адресу: http://ogp.me/ Дополнительную документацию можно найти по адресу https://developers.facebook.com/docs/opengraph/

Ниже приведен пример кода, чтобы начать, наслаждайтесь.

<!doctype html>
<!--[if lt IE 7]><html lang="en" class="no-js ie6"><![endif]-->
<!--[if IE 7]><html lang="en" class="no-js ie7"><![endif]-->
<!--[if IE 8]><html lang="en" class="no-js ie8"><![endif]-->
<!--[if IE 9]><html lang="en" class="no-js ie9"><![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--><html lang="en" class="no_js"><!--<![endif]-->
<head>
<meta charset="utf-8">
<title></title>
<meta property="og:title" content="Title goes here">
<meta property="og:type" content="company">
<meta property="og:url" content="http://yourdomainhere.com/">
<meta property="og:image" content="http://yourdomainhere.com/og_image_that_shows_on_facebook.jpg">
<meta property="og:site_name" content="Your Site Name">
<meta property="fb:app_id" content="APP_ID_NUMBER_IF_YOU_HAVE_ONE">
<meta property="fb:admins" content="ADMIN_ID_NUMBER_FOR_FACEBOOK_ANALYTICS">
<meta property="og:description" content="Your description.">
<meta property="og:determiner" content="the" />
<meta property="og:locale" content="en_US" />
<meta property="og:locale:alternate" content="es_ES" />
<meta property="og:video" content="http://example.com/bond/trailer.swf" /><!--VIDEO SRC URL-->
<meta property="og:video:secure_url" content="https://secure.example.com/movie.swf" />
<meta property="og:video:type" content="application/x-shockwave-flash" />
<meta property="og:video:width" content="400" />
<meta property="og:video:height" content="300" />
</head>
<body>
<div id="fb-root"></div>

<script>
/*Facebook Connect JavaScript SDK http://developers.facebook.com/docs/reference/javascript/FB.init/*/
window.fbAsyncInit = function() {
  'use strict';

  FB.init({
    appId                 : 'APP_ID_GOES_HERE', //App ID
    channelURL            : '//yourdomainhere.com/channel.php', //Channel File
    status                : true, //Check login status
    cookie                : true, //Enable cookies to allow the server to access the session
    xfbml                 : true, //Parse XFBML
    oauth                 : true, //Enable OAuth 2.0
    login                 : true,
    authResponse          : true, //Object
    frictionlessRequests  : true
  });

//Additional initialization code here

};

/*Load the Facebook Connect JavaScript SDK Asynchronously */
(function(d){
  'use strict';

  var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
  if (d.getElementById(id)) {
    return;
  }
  js = d.createElement('script'); js.id = id; js.async = true;
  js.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
  ref.parentNode.insertBefore(js, ref);
}(document));
</script>
</body>
</html>
1 голос
/ 01 ноября 2011

Насколько я знаю, это зависит от того, как Facebook разрабатывает свои системы, чтобы при просмотре URL-адреса YouTube он вставлял видео с умом, что означает, что пользователь не перенаправлен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...