【问题标题】:Open graph og:video Meta Tags content打开图 og:video Meta Tags 内容
【发布时间】:2011-04-20 08:03:57
【问题描述】:

我正在尝试设置一个页面,当它被分享/喜欢时,它可以被 Facebook 正确抓取。该页面将有一个与之关联的 YouTube 视频,因此在 og:video 标签的内容属性中,我应该将 YouTube 视频嵌入链接或实际的 youtube 页面链接放置在 Facebook 上,并带有小“预览”按钮在 Facebook 中播放视频?

希望有人可以提供帮助!谢谢!

【问题讨论】:

  • 上次:facebook更改了视频规则,您需要将youtube视频的分享网址从http更改为https
  • og 标签实现是否有任何变化。我正在尝试实现之前使用的相同 og 标签,但它只是添加了描述但没有播放选项,当点击它时会重定向到 url。

标签: facebook facebook-opengraph


【解决方案1】:

你有两个选择。您可以将og:video 设置为https://www.youtube.com/v/YOUTUBECODE 或将og:url 设置为YouTube 页面。

在我的示例中,我将此视频 https://www.youtube.com/v/BQBjVr1iHH4 嵌入到下一页 https://www.keithandthegirl.com/vip/bonus/episode/9/40/this-is-40 中。每当有人在 Facebook 上分享我的页面时,我希望 Facebook 显示 YouTube 视频。

选项1:将og:video设置为https://www.youtube.com/v/YOUTUBECODE

元标记看起来像

<meta property='og:video' content='https://www.youtube.com/v/BQBjVr1iHH4' />

请注意,YouTube 网址的结构与典型网址不同。您需要将“v”查询从 YouTube 链接中分离出来,并以我上面显示的 og:video 链接格式使用它。在我的示例中,v 的值为BQBjVr1iHH4

选项 2:将 og:url 设置为 YouTube 页面。

如果您没有能力隔离v 代码,您可以将og:url 标记设置为YouTube 页面。在我的示例中,它看起来像这样:

<meta property='og:url' content='https://www.youtube.com/watch?v=BQBjVr1iHH4' />

这将告诉 Facebook 从 https://www.youtube.com/watch?v=BQBjVr1iHH4 获取 Open Graph 标签并在嵌入中使用它。这意味着描述和标题将来自 YouTube 页面。但是,如果有人点击该链接,他们就会访问您的网站。

在我的示例中,如果有人在我使用第二个选项https://www.keithandthegirl.com/vip/bonus/episode/9/40/this-is-40 时粘贴以下链接,Facebook 将看到 URL 设置为 YouTube 并查询该 YouTube 链接以获取 OG 信息。一切都会像 YouTube 除了链接会点击到https://www.keithandthegirl.com/vip/bonus/episode/9/40/this-is-40

另一个注意事项:确保使用 https,而不是 http。 Facebook 不会在网站上嵌入任何不安全的视频。

【讨论】:

  • 我仍然在您的页面上看到这些元标记,但如果我将 URL 放在 Facebook 中,我只会看到一些简笔画的图像预览,而不是视频......
  • 简笔画是视频的预览缩略图。如果您在 Facebook 上分享链接,您应该会看到预览缩略图并能够单击它来播放其中的视频。您必须实际分享它才能看到它的全部效果。
  • 由于您似乎比我更了解这一点——如果您有时间的话——我在实施您的这个解决方案时遇到了麻烦。我在这里提出了一个新问题:stackoverflow.com/questions/27116133/…
【解决方案2】:

这是我发现的:

使用 Facebook 的开放图形协议,Publisher 现在可以使用来自任何 URL 的任何视频,只要该 URL 在其 HTML 的 &lt;head&gt; 中具有正确格式的元数据。以下是&lt;head&gt; 中应包含的信息列表:

  • 缩略图的网址:

    <meta property="og:image" content="image_src URL">
    
  • SWF 网址:

    <meta property="og:video" content="video_src URL">
    
  • 您的网页网址:

    <meta property="og:url" content="URL">
    
  • 标题:

    <meta property="og:title" content="title">
    
  • 说明:

    <meta property="og:description" content="description">
    
  • 视频像素宽度:

    <meta property="og:video:width" content="video_width">
    
  • 视频像素高度:

    <meta property="og:video:height" content="name="video_height">
    
  • 内容类型:

    <meta property="og:type" content="video">
    

【讨论】:

【解决方案3】:

从一个YouTube页面的源代码可以看出,og:video标签的格式如下

<meta property="og:video" content="http://www.youtube.com/v/k86xpd26M2g">

您还可以在以下 URL 的源代码中查看简化的 YouTube 元数据示例:http://fb.stevelarsen.co.uk/example.html

您可以在此处阅读有关 Open Graph 协议的更多信息:http://ogp.me/

【讨论】:

  • 请注意,这些标签不会出现在已禁用嵌入的 YouTube 视频中。
  • 您还需要使用 HTTPS 而不是 HTTP。更多细节在我的回答stackoverflow.com/a/17811187/461119
【解决方案4】:
<html xmlns:og="http://ogp.me/ns#"> 
    <head>
        <!-- ... -->
        <!-- [REQUIRED TAGS] -->
        <meta property="og:video" content="http://example.com/awesome.flv" />
        <meta property="og:video:height" content="640" />
        <meta property="og:video:width" content="385" />
        <meta property="og:video:type" content="application/x-shockwave-flash" />
        ...
    </head>

.flv 文件的链接....查看https://developers.facebook.com/docs/opengraph/#types

【讨论】:

  • 这个链接到一个托管的 flv 视频文件,但是如果我们想分享一个 youtube 视频呢?
  • 这不是回答如何关联 YouTube 视频的问题。
【解决方案5】:

对于那些偶然发现 facebook 提供的调试器的人,请注意以下几点:

当您登录调试器时,您处于 https 会话中。为了在调试中看到您的视频,您需要在 meta 中添加视频的安全 url。添加 youtube 视频很容易,只需将页面 url 放入 og:url 即可。

花了一小时才得出这个结论。太晚了,我太累了,现在想睡觉:)

【讨论】:

    【解决方案6】:

    我想通了。我查看了 Collegehumor.com 是如何做到的,其中包含了一些 Facebook API 中未提及的内容。而不仅仅是以下内容:

    <meta name="og:video" content="whatever"></meta>
    <meta name="video_style" content="whatever"></meta>
    <meta name="video_height" content="whatever"></meta>
    <meta name="video_width" content="whatever"></meta>
    

    您还需要 link rel="video_src" 并且拥有 videothumbnailog:image 也很有帮助 - 我不完全确定是哪一个做到的,但你去吧。那行得通:)

    【讨论】:

    • 那么你最终在&lt;og:video&gt; 标签中添加了什么? YouTube 网址?另外,你在video_src 标签里放了什么?
    • Daniel Hough,您并没有在这里真正回答您的问题...您没有指定用于视频源的 URL。
    • 我使用的 url,如果我没记错的话 - 它是 flv 文件的 URL。
    • @DanielHough 您能否提供一个有效的 Opengraph 示例我的意思是嵌入真正的 youtube 视频的标记。
    • 这不是它应该使用的方式。它应该使用 YouTube 当前使用的标签,正如 @larsen161 所解释的那样。
    猜你喜欢
    • 2017-11-27
    • 1970-01-01
    • 2021-11-29
    • 2021-01-15
    • 2014-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-28
    相关资源
    最近更新 更多