使用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,最终我仍然无法引用正确的url来共享

如果我使用实际的网站,它无法收集任何元数据,因为我的想法是所有元数据都在share.php 上

如何解决问题?感谢

!!!!!!!!!!!!!!!更新于2013年4月11日:

我找出了根本问题,它是由不同的图像来源引起的:

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

这张照片是脸书在分享页面上拍摄的,工作完美。

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=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/

顺便说一句,在你测试新方法之前。你最好清理联邦调查局的会议。http://developers.facebook.com/tools/debug/og/object?q=http://yourwebsite.com