通过WordPress在Facebook上分享视频

时间:2010-11-16 作者:TonyK

当用户尝试共享带有嵌入式视频的页面时,只有页面标题显示在他们的facebook状态上,而不是flash视频播放器上。当使用addthis按钮共享时,或者如果url直接发布到facebook页面,就会发生这种情况。你知道我怎样才能让facebook拾取嵌入的flash视频吗?

2 个回复
最合适的回答,由SO网友:EAMann 整理而成

这实际上取决于视频如何嵌入页面。Facebook只能处理特定的格式,如果它看到了它意想不到的东西,它会默认为故障保护;“不显示任何内容”;标准

如果嵌入式视频是公认的标准(即YouTube的默认播放器),那么它应该可以正常工作。如果是你自己的视频播放器,这就行不通了。Facebook不会在他们的网站上嵌入其他人的Flash对象。

2018年11月11日更新Facebook,尽管它很聪明,但仍然需要大量的帮助来确定页面上有哪些内容。它可以快速刮除<img /> 标签提供页面缩略图,但它不会扫描<object>s或<embed>因为这些可能是任何内容,从YouTube视频(你想在Facebook上共享)到入侵Flash应用程序(Facebook不想在他们的网站上使用)。

为了让事情变得更简单,YouTube实际上使用了一个特定的Facebook应用程序,允许您共享将自动嵌入Facebook的视频。除了直接链接到此应用程序外,每个YouTube视频页面的标题中都包含额外的元信息,Facebook使用这些信息来抓取视频并将其嵌入页面中。以下是您之前链接的视频中的一个示例:

<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" />
链接的应用程序是YouTube application 在Facebook上。您还可以看到此处包含的一些特定信息:标题、描述、类型、url、图像、站点名称。所有这些都有助于Facebook了解当你;“共享”;您的朋友和网络页面。

AddThis按钮不会将任何信息添加到标题中。它不能,真的,因为它的设计允许简单的页面共享,而不是像YouTube这样的视频网站的共享。

正如我之前所说,它;取决于视频嵌入页面的方式"E;Facebook只能处理来自特定网站/应用程序的特定格式、以特定方式标记的视频。

要复制YouTube的嵌入式视频功能,您需要:

创建你自己的Facebook应用程序来推动事情的发展,如果你愿意的话(我建议这样做),更简单的方法是只需将<meta> YouTube使用的标签。因此,如果添加视频,请使用相同的YouTube应用程序Id<meta> 属性,您应该准备好了。

SO网友:TonyK

Update 要仅提取具有属性属性的元标记,我将以下内容放在一起:

  <?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); 

?>
我知道这有点老套,但很管用。我想我将使用其中一个url视频嵌入插件,并在模板的头部设置元信息。

结束

相关推荐

使用Facebook API集成在WordPress上构建成员目录站点?

我想为我的一个WordPress网站建立一个成员目录,该网站将与Facebook API挂钩。网站用户可以浏览成员目录,查看他们的Facebook个人资料和信息,如电子邮件地址、电话号码、网站等。基本上,我认为会员需要从该网站登录facebook并“允许访问”然后,WordPress可以从Facebook中提取成员数据,如电子邮件地址、电话号码、网站等,并将其作为自定义元存储在WordPress中。这种方法的一个问题是,当用户更新他们的facebook个人资料时,WordPress网站将不会得到更新,直到