簡體   English   中英

使用sharer.php方法的動態Facebook分享頁面

[英]Dynamic facebook share page using sharer.php approach

我創建一個Facebook共享按鈕的方式是: 1.創建一個share.php(facebook在這個假網站中捕獲元數據並重定向到我要共享的實際網站

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="https://www.facebook.com/2008/fbml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title><?php echo $_GET['title'];?></title>
        <meta property="og:url" content="<?php echo $_GET['url'];?>" />
        <meta property="og:title" content="<?php echo $_GET['title'];?>" />
        <meta property="og:description" content="<?php echo $_GET['title'];?> "/>
        <? 
        if (isset($_GET['leftImg']) && $_GET['leftImg'] != 'undefined') {
            echo '<meta property="og:image" content="'.$_GET['leftImg'].'"/>';
        }
        if (isset($_GET['rightImg']) && $_GET['rightImg'] != 'undefined') {
            echo '<meta property="og:image" content="'.$_GET['rightImg'].'"/>';
        }
        ?>
    </head>
    <body>
        <script>
            window.location.href = "<?php echo $_GET['redirect'];?>";
        </script>
    </body>

</html>

2. share.php中的數據需要從主頁傳遞

 window.open('http://www.facebook.com/sharer.php?u=' + encodeURIComponent('http://' + window.location.hostname + '/share.php?url=http://yahoo.com&title=test&redirect=..&leftImg=......&' ),'sharer','toolbar=0,status=0,width=826px,height=536');

問題是, og:url應該是什么 有兩個鏈接:share.php和我要共享的實際網站,

如果我使用share.php?title = ...&description = ..,我仍然必須指定特定的URL ,那很奇怪:它將是share.php?url = share.php?url = share.php,最終我仍然無法引用正確的網址進行共享

如果我使用實際的網站 ,則它無法收集任何元數據,因為我的想法是所有元數據都位於share.php上

如何解決該問題? 謝謝

!!!!!!!!!!!!!!!!!!於11/4/2013更新:!!!!!!!!!!!!!!

我發現了根本問題,它是由不同的圖像來源引起的:

eg. http://www.tekxon.com.pk/sites/all/themes/bluemasters/images/gallery/3.jpg

這張圖片是Facebook在共享頁面上按預期方式捕獲的,可以正常工作。

eg. http://54.251.107.161/source/test2/2012/05/07/0/3/A/Content/15/Pg015.png 

但是,托管在我的服務器中的該映像第一次沒有顯示在共享頁面上,而是僅在重新加載頁面時才顯示。 *盡管它沒有顯示在共享頁面上,但是圖像顯示並存在於我的Facebook主頁上的共享內容中。

為什么會發生這種情況,這是由於防火牆的某些錯誤設置引起的嗎? 謝謝

og:url應該是您要重定向到的網站

og:url應該是包含元數據的網站-在這種情況下,您應該使用重定向和元數據或參考share.php?url = the_url創建網站。

我認為您只是被og:url參數所誤導:

og:url對象的規范URL,將在圖形中用作其永久ID

聽起來完全合法, 但是 :當您指定該參數時,Facebook從該URL而不是從當前頁面獲取元數據。 這就是為什么將引用的URL放在那里時沒有元數據的原因。 以及該討厭的share.php?url=share.php?url=share.php...

您嘗試使用href屬性完成操作: https : //developers.facebook.com/docs/reference/plugins/like/

我不確定您要構建的內容,但是也許通過這種方式,您甚至可以將共享按鈕集成到您重定向到的頁面中。 然后,您仍然要設置該偽造的元數據頁面,然后將其放入該頁面(以前重定向到)的og:url中,然后:)

您可以按照演示進行操作,祝您好運。

http://www.kimwoodbridge.com/how-to-create-your-one-facebook-share-url/

順便說一下,在測試新方法之前。 您最好清除fb的會話。 http://developers.facebook.com/tools/debug/og/object?q=http://yourwebsite.com

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM