2011-10-31 51 views
-2

我正在開發一個視頻共享網站。是否可以在Facebook上從YouTube以外的網站播放視頻?

如果您知道如果您轉到YouTube,請複製鏈接,將其粘貼到Facebook牆上或留言,然後在Facebook上播放它而無需轉到YouTube。據我所知YouTube是唯一一個這樣做的網站。例如,如果您從Vimeo複製鏈接並將其粘貼到Facebook上,它將顯示爲縮略圖,並且您將無法在Facebook上播放該鏈接。

那麼,有沒有一個API,我可以用來從Facebook上的我的網站播放視頻,當用戶分享鏈接,或者此功能僅適用於YouTube嗎?

回答

3

是的,這是可能的。您需要託管一個網頁,該網頁具有適合您在給定視頻上提供的每種視頻格式的適當的Open Graph Protocol元標記。

然後有人需要在Facebook上分享該URL。 Facebook將抓取您的網站,解析meta標籤並提供視頻播放器。

提供更多視頻格式可確保更好的跨瀏覽器兼容性。

瞭解meta標籤瀏覽:http://developers.facebook.com/docs/opengraph/

使用Facebook調試工具,以確保您正確格式化你的meta標籤:http://developers.facebook.com/tools/debug

+0

謝謝!!我爲什麼vimeo,metacafe,dailymotion和其他人不這樣做! – Lynob

+0

@Eli他們可能希望將流量吸引到他們的網站,如果用戶在Facebook網站上觀看視頻,則不會發生這種情況。 – Teddy

+0

你說得對 – Lynob

1

據我所知,這是由於Facebook設計他們的系統,所以當他們看到一個YouTube網址時,它巧妙地嵌入視頻,這意味着用戶不會被重定向。

1

那麼,有沒有我可以使用一個API從我在Facebook網站播放視頻時的用戶共享鏈接

@Eli,

是的,有一個API可以從Facebook上的網站播放視頻,它被稱爲Open Graph Protocol。閱讀所有關於它的地方:http://ogp.me/其他文檔可在https://developers.facebook.com/docs/opengraph/

請在下面找到一些示例代碼,以便開始使用,盡情享受。

<!doctype html> 
<!--[if lt IE 7]><html lang="en" class="no-js ie6"><![endif]--> 
<!--[if IE 7]><html lang="en" class="no-js ie7"><![endif]--> 
<!--[if IE 8]><html lang="en" class="no-js ie8"><![endif]--> 
<!--[if IE 9]><html lang="en" class="no-js ie9"><![endif]--> 
<!--[if (gte IE 9)|!(IE)]><!--><html lang="en" class="no_js"><!--<![endif]--> 
<head> 
<meta charset="utf-8"> 
<title></title> 
<meta property="og:title" content="Title goes here"> 
<meta property="og:type" content="company"> 
<meta property="og:url" content="http://yourdomainhere.com/"> 
<meta property="og:image" content="http://yourdomainhere.com/og_image_that_shows_on_facebook.jpg"> 
<meta property="og:site_name" content="Your Site Name"> 
<meta property="fb:app_id" content="APP_ID_NUMBER_IF_YOU_HAVE_ONE"> 
<meta property="fb:admins" content="ADMIN_ID_NUMBER_FOR_FACEBOOK_ANALYTICS"> 
<meta property="og:description" content="Your description."> 
<meta property="og:determiner" content="the" /> 
<meta property="og:locale" content="en_US" /> 
<meta property="og:locale:alternate" content="es_ES" /> 
<meta property="og:video" content="http://example.com/bond/trailer.swf" /><!--VIDEO SRC URL--> 
<meta property="og:video:secure_url" content="https://secure.example.com/movie.swf" /> 
<meta property="og:video:type" content="application/x-shockwave-flash" /> 
<meta property="og:video:width" content="400" /> 
<meta property="og:video:height" content="300" /> 
</head> 
<body> 
<div id="fb-root"></div> 

<script> 
/*Facebook Connect JavaScript SDK http://developers.facebook.com/docs/reference/javascript/FB.init/*/ 
window.fbAsyncInit = function() { 
    'use strict'; 

    FB.init({ 
    appId     : 'APP_ID_GOES_HERE', //App ID 
    channelURL   : '//yourdomainhere.com/channel.php', //Channel File 
    status    : true, //Check login status 
    cookie    : true, //Enable cookies to allow the server to access the session 
    xfbml     : true, //Parse XFBML 
    oauth     : true, //Enable OAuth 2.0 
    login     : true, 
    authResponse   : true, //Object 
    frictionlessRequests : true 
    }); 

//Additional initialization code here 

}; 

/*Load the Facebook Connect JavaScript SDK Asynchronously */ 
(function(d){ 
    'use strict'; 

    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; 
    if (d.getElementById(id)) { 
    return; 
    } 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; 
    ref.parentNode.insertBefore(js, ref); 
}(document)); 
</script> 
</body> 
</html> 
相關問題