compartiendo video en facebook desde wordpress

2

Cuando un usuario intenta compartir una página con un video incorporado, solo el título de las páginas se muestra en su estado de Facebook y no en el reproductor de video flash. Esto sucede mientras se comparte con el botón addthis o si la URL se publica directamente en la página de Facebook. ¿Alguna idea de cómo puedo hacer que Facebook recoja el video flash incorporado?

    
pregunta TonyK 16.11.2010 - 21:21

2 respuestas

6

Eso realmente depende de cómo se incrusta el video en la página. Facebook solo puede manejar formatos específicos y, si ve algo que no espera, utiliza de forma predeterminada el estándar "no mostrar nada" a prueba de fallas.

Si el video incorporado es un estándar bien reconocido (es decir, el reproductor predeterminado de YouTube) debería funcionar bien. Sin embargo, si es tu propio reproductor de video auto alojado, esto no funcionará. Facebook no insertará objetos Flash de otras personas en su sitio.

Actualización 11/18

Facebook, por inteligente que sea, aún necesita una cantidad considerable de ayuda para determinar qué contenido vive en la página. Puede hacer un raspado rápido de las etiquetas <img /> para darle miniaturas de página, pero no escanea para <object> s o <embed> s porque esto podría ser cualquier cosa de un video de YouTube (que le gustaría compartir en Facebook) a una aplicación Flash intrusiva (que Facebook no quiere en su sitio).

Para facilitar las cosas, YouTube realmente usa una aplicación de Facebook específica para permitirte compartir videos que se incrustarán automáticamente en Facebook. Además de vincularse directamente a esta aplicación, cada página de video de YouTube incluye metainformación adicional en su encabezado que Facebook utiliza para rastrear el video e integrarlo en la página. Aquí hay un ejemplo del video al que has vinculado anteriormente:

<meta property="fb:app_id" content="87741124305" />
<meta property="og:title" content="Cubed: Manny Pacquiao&amp;#39;s Punchout" />
<meta property="og:description" content="Manny Pacquiao is training hard for his upcoming fight with Miguel Cotto, but you might be surprised how he got to the top.  Check out this clip." />
<meta property="og:type" content="video" />
<meta property="og:url" content="http://www.youtube.com/watch?v=IvCCuuuJhd4" />
<meta property="og:image" content="http://i2.ytimg.com/vi/IvCCuuuJhd4/default.jpg" />
<meta property="og:site_name" content="YouTube" />

La aplicación vinculada es la aplicación de YouTube en Facebook. También puede ver información específica incluida aquí: título, descripción, tipo, url, imagen, nombre del sitio. Todo esto ayuda a Facebook a descubrir qué hacer cuando "compartes" la página con tus amigos y tu red.

El botón AddThis no agrega ninguna de esta información a su encabezado. No puede, realmente, porque está diseñado para permitir el simple intercambio de páginas, no para potenciar el intercambio de sitios web de videos como YouTube.

Como dije antes, "depende de cómo se incrusta el video en la página". Facebook solo puede manejar videos en formatos específicos, etiquetados de una manera específica, que se originan en sitios / aplicaciones específicos.

Para replicar la función de video incrustado que tiene YouTube, deberás:

  • Crea tu propia aplicación de Facebook para potenciar las cosas
  • Agregue el mismo tipo de información meta a su encabezado

Si quieres (y te lo recomendaría), la ruta más fácil sería simplemente raspar las etiquetas <meta> que usa YouTube. Entonces, si agrega un video, use la misma ID de aplicación de YouTube, las mismas propiedades <meta> , y debería ser bueno para ir.

    
respondido por el EAMann 16.11.2010 - 22:46
1

Actualizar Para extraer solo las etiquetas meta con el atributo de propiedad, reúno lo siguiente:

  <?php 

ini_set('display_errors', false); 
$page = "http://www.youtube.com...(the video ID)"; 
$page_data = file_get_contents($page); 

$doc=new DOMDocument();
$doc->loadHTML($page_data);
$xml=simplexml_import_dom($doc);
$meta=$xml->xpath('//meta');
foreach ($meta as $met) 
{
 if ($met['property'] != '')
 {
     echo '<meta property="'.$met['property'] . '" content="' . $met['content']."\">\n";
 }
}
ini_set('display_errors', true); 

?>

Sé que es un poco pirateado pero funciona. Creo que voy a usar esto con uno de los complementos de incrustación de url video y establecer la meta información en el encabezado de la plantilla.

    
respondido por el TonyK 24.11.2010 - 00:24

Lea otras preguntas en las etiquetas