open graph 嵌入 youtube 影片

最近想寫幾篇流行歌的文, 就想要怎麼用 open graph 顯示 youtube 的影片, og:video 應該是要直接放影片檔 url, 但 youtube 沒有這種直接連結, youtube 自己的做法是放 embed 的連結, 然後把 video type 寫成 text/html

一開始 google 了一下,但解法都很爛。 比較多是放 /v/p9lNpWa4OXU , 也就是 shackwave flash 格式。

後來想到直接看 youtube 的作法, 他們是直接放 embed 網址, 也就是 iframe 連到的格式。

flash

<meta property="og:type" content="video">
<meta property="og:video:url" content="//youtube.com/v/p9lNpWa4OXU">
<meta property="og:video:type" content="text/html">

html

<meta property="og:type" content="video">
<meta property="og:video:url" content="//youtube.com/embed/p9lNpWa4OXU">
<meta property="og:video:type" content="text/html">

雖然影片格式給 text/html 有點奇怪, 不過實在不想用 flash,就這樣吧。

至於 atom 要怎麼放,我是想用 enclosure , 內容一樣是 embed 的 html。

<link rel="enclosure" 
      type="text/html" 
      href="//youtube.com/embed/p9lNpWa4OXU" />