2012-01-11 40 views
2

我試圖在Facebook牆上嵌入(非You Tube)視頻,以便當用戶點擊它們時,視頻將在牆上播放。發生的情況是:如果用戶未登錄或禁用了SSL,則可以使用。但是,如果他們通過「https:」方案安全訪問頁面,或者如果他們使用SSL登錄,則當他們單擊視頻時,會啓動一個新選項卡,其中包含視頻所在頁面的地址。除非禁用SSL,否則無法在Facebook牆上播放嵌入的視頻

我研究過這個問題。我擁有的兩種解決方案是更新頁面上的OpenGraph元數據並提供該頁面的SSL啓用版本。我曾嘗試加入OG元數據 - 最初我試着只是增加了以下內容:

<meta property="og:video" content="http://example.com/awesome.swf" /> 
<meta property="og:video:height" content="640" /> 
<meta property="og:video:width" content="385" /> 
<meta property="og:video:type" content="application/x-shockwave-flash" /> 

那沒有工作,而Facebook的調試器抱怨一些丟失的元數據標籤,所以我加了那些(類型,URL,等等。)。現在,當我通過調試器運行它時,我沒有收到任何警告,現在它報告:

當此URL在Facebook上共享時,它被視爲某種類型。通過在此頁面上放置元標記,您可以影響其共享方式。 視頻 狀態視頻已嵌入Facebook已啓用

我被阻止繼續。我可以做任何關於SSL的事情,直到我的老闆回來,但是,我不明白這很重要,因爲考慮到禁用SSL時視頻能夠正常工作。

回答

3

您需要添加一個meta標籤,詳述爲您的視頻安全網址是:

<meta property="og:video:secure_url" content="https://some/awesome.swf" /> 

更多信息,請參見https://developers.facebook.com/docs/opengraph/

+0

好的,我懷疑這個。但是,我查看了通過youtube和vimeo嵌入的一些視頻的元數據,但沒有任何元數據表明他們正在建立安全連接。另一方面,Reverbnation在og:video屬性的值中使用了「https:」方案。 – 2012-01-12 01:56:36

+2

對於一些非常大的網站(如youtube和vimeo),我們會自動找出swf安全版本的URL。對於其他人,您必須明確告訴我們在哪裏尋找。 我有點吃驚,只是把一個安全的URL放在og:video標籤中不起作用(即根本沒有不安全的URL),但我不記得它是如何工作的。 如果您無法使用og:video:secure_url在此處發表評論,請使用您正在努力的網址,我可以進一步瞭解一下。我編寫了大部分用於安全視頻嵌入的代碼,所以我們確信我們可以破解它! :) – mrtom 2012-01-12 13:53:39

+0

謝謝@mrtom,這是關於我的想法。我還查看了來自Facebook調用的「embed_inline.php」(或類似的東西)的響應數據,這是在我點擊牆上的YouTube視頻的圖像鏈接時啓動的。其中,我看到在youtube.com上swf的url是安全的'https:'。 – 2012-01-12 23:49:55

1

注意經過一些測試後,嵌入播放的facebook的最新行爲是:og:video和og:video:secure_url必須是https,或者只有og:video,才能使用https而不是http 。

相關問題