Facebook在共享对话框上显示我的登录页面,而不是当前页面标题和网址

时间:2014-10-02 05:07:09

标签: php html facebook codeigniter

我试图在我的应用程序中集成Facebook共享功能,但每当我点击共享按钮时,Facebook都会从头部提取元数据,而不是显示当前的标题和URL,它会返回我的登录页面URL和登录页面标题,我试过这个

Facebook share button is sharing my login page instead of current page URL, title, etc

但根据Facebook的Feed button was dereciated并替换为分享按钮

以下代码包含在我的应用的每个页面中

<meta property="og:title" content="<?php echo $title ?>"/>
<meta property="og:type" content="Type of content"/>
<meta property="og:url" content="<?php echo current_url() ; ?>"/>
<meta property="og:site_name" content="My site name"/>
<meta property="og:description" content="<?php echo $description ; ?>"/>

1 个答案:

答案 0 :(得分:0)

好吧,我认为它必须对Facebook刮刀做点什么。如文档here

中所述
  

在某些情况下,您可能希望提供不同版本的网页   我们的刮刀(包含更多的Open Graph元数据)比你做的更多   正在查看该页面的人。在这种情况下,您可以定位   刮刀使用的浏览器代理:

     

&#34; facebookexternalhit / 1.1(+ http://www.facebook.com/externalhit_uatext.php)&#34;

所以我认为在您网站的php文件中,您可以像这样检查刮刀:

    if (strstr( $_SERVER['HTTP_USER_AGENT'], 'facebookexternalhit') {
       // Show more open graph metadata here
    } else {
       // Your login page
    }

要使刮刀缓存您的数据,请使用debugger tool