2011-09-27 70 views
0

我有一個基本顯示視頻的動態PHP頁面。當Facebook用戶點擊視頻時,時間線事件會發布到他們的Facebook個人資料中,但我的OG元標記似乎不希望與存儲視頻信息的PHP變量配合。Facebook OG對象調試器是否跳過PHP?

如果我鍵入正確的字符串直接進入元標記,一切都很好,但設計的頁面從我的數據庫中選擇一個視頻。

這些是PHP變量的當前標籤包括:

<head prefix='og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# visiovert: http://ogp.me/ns/fb/visiovert#'> 
    <meta property='fb:app_id'  content='261459743887413'> 
    <meta property='og:type'  content='visiovert:advertisement'> 
    <meta property='og:url'   content='http://visiovert.net/ad.php'> 
    <meta property='og:site_name'  content='VisioVert'> 
    <?php 
    echo("<meta property=\"og:title\" content=\"".$Video->title."\" />\n"); 
    echo("<meta property=\"og:description\" content=\"".$Video->description."\" />\n"); 
    echo("<meta property=\"og:image\" content=\"".$Video->location.".jpg\" />\n"); 
    echo("<meta property=\"og:video\" content=\"".$Video->location.".mp4\" />\n"); 
    ?> 
    <meta property='og:video:height' content='432' > 
    <meta property='og:video:width' content='768'> 
</head> 

如果您查看網頁的源文件,這是你可以在標題中看到:

<head prefix='og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# visiovert: http://ogp.me/ns/fb/visiovert#'> 
    <meta property='fb:app_id'  content='261459743887413'> 
    <meta property='og:type'  content='visiovert:advertisement'> 
    <meta property='og:url'   content='http://visiovert.net/ad.php'> 
    <meta property='og:site_name'  content='VisioVert'> 
    <meta property="og:title" content="Echo" /> 
    <meta property="og:description" content="An example video ad for VisioVert." /> 
    <meta property="og:image" content="http://visiovert.net/Videos/echo.jpg" /> 
    <meta property="og:video" content="http://visiovert.net/Videos/echo.mp4" /> 
    <meta property='og:video:height' content='432' > 
    <meta property='og:video:width' content='768'> 
</head> 

這正是符合我會喜歡它,但在使用Facebook Object Debugger進行測試時,它不會從PHP變量中獲取任何內容。我可能會在我面前錯過一些東西......但我環顧四周,並沒有找到答案。

回答

0

Veliisx

嘗試添加fb命名空間到您的html標記。

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns:og="http://ogp.me/ns#" xmlns:shawnsspace="http://www.shawnsspace.com/ns#"> 

p.s.在你的來源中,只有一半的標籤被關閉。不確定這是否會被忽略,但會在某些瀏覽器中導致錯誤。

+0

我很欣賞你的反應,我也閉上所有標籤,並且我已經在我的HTML中的FB命名空間。 –

0

我經常遇到逃跑的問題,你有沒有試過類似下面的東西來避免重度逃跑?
下面是基本上是如何動態地添加我的元,我知道它多一點的代碼來回顯每個,但它避免了很多與轉義混淆。


<head prefix='og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# visiovert: http://ogp.me/ns/fb/visiovert#'> 
    <meta property='fb:app_id'  content='261459743887413'> 
    <meta property='og:type'  content='visiovert:advertisement'> 
    <meta property='og:url'   content='http://visiovert.net/ad.php'> 
    <meta property='og:site_name'  content='VisioVert'> 

<meta property="og:title" content="<?php echo $Video->title; ?>" /> 
<meta property="og:description" content="<?php echo $Video->description; ?>" /> 
<meta property="og:image" content="<?php echo $Video->location; ?>.jpg" /> 
<meta property="og:video" content="<?php echo $Video->location; ?>.mp4" /> 

    <meta property='og:video:height' content='432' > 
    <meta property='og:video:width' content='768'> 
</head>