OG元标签和Facebook';发送';按钮故障

OG元标签和Facebook';发送';按钮故障,facebook,facebook-graph-api,Facebook,Facebook Graph Api,我很确定meta标签和发送按钮代码都很好。不管怎样,我都会在下面展示代码,但我很确定代码是正确的 以下是我认为我的问题源于: 1) 我在我的网站上有一个名为landing\u page.php的页面上有一个FB“发送”按钮 2) 因此,我具体说明 <meta property="og:url" content="http://www.oursite.com/landing_page.php"/> 用于页面的“url”元标记 3) 当我转到-,然后输入 我的页面URL-

我很确定meta标签和发送按钮代码都很好。不管怎样,我都会在下面展示代码,但我很确定代码是正确的

以下是我认为我的问题源于:

1) 我在我的网站上有一个名为landing\u page.php的页面上有一个FB“发送”按钮

2) 因此,我具体说明

     <meta property="og:url" content="http://www.oursite.com/landing_page.php"/>

用于页面的“url”元标记

3) 当我转到-,然后输入 我的页面URL--我收到错误消息:

解析URL时出错:解析输入URL时出错,未刮取任何数据。

所以我的问题是——我必须只在index.php页面上放置Send按钮吗

我想我可以把发送按钮放在任何页面上,只要我把meta标签 并在页面上发送按钮代码。但Facebook调试器抱怨道

解析URL时出错:解析输入URL时出错,未刮取任何数据。

如果我将发送按钮和相关代码放在'anypage.php'上并尝试使用它-- 出现的发送框不会拾取任何我的OG元标记(见下文)和 Facebook调试器无法“刮取”我网站中的任意页面

我必须只在index.php页面上点击发送按钮吗? 或者我需要更改什么才能使landing_page.php上的Send按钮工作并显示我的OG元标记设置

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 <html
   xmlns="http://www.w3.org/1999/xhtml"
   xmlns:og="http://ogp.me/ns#"
   xmlns:fb="https://www.facebook.com/2008/fbml">

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 <head>
 <meta property="og:url" content="http://www.oursite.com/landing_page.php"/>
 <meta property="og:title" content="Wow cool title!"/>
 <meta property="og:image" content="http://www.oursite.com/images/logo.png"/>
 <meta property="og:description" content="Hey -- SUPER-COOL!!"/>
  etc.


  </head>
  <body>
  <div id="fb-root"></div> 
        <script>
        (function(d, s, id) 
        { 
            var js, fjs = d.getElementsByTagName(s)[0]; 
            if (d.getElementById(id)) return; 
            js = d.createElement(s); 
            js.id = id;
            js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
            fjs.parentNode.insertBefore(js, fjs); 
        }
        (document, 'script', 'facebook-jssdk'));
       </script>

      <div class="fb-send" data-href="http://www.oursite.com"></div>

等
(功能(d、s、id)
{ 
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id))返回;
js=d.createElement;
js.id=id;
js.src=“//connect.facebook.net/en_US/all.js#xfbml=1”;
fjs.parentNode.insertBefore(js,fjs);
}
(文档“脚本”、“facebook jssdk”);

您还需要添加appid以废弃页面

<meta property="fb:app_id" content="${fb_app_id}"/>

Asuming您已经在landing_page.php中添加了此标记


您可以在网站中的任何位置使用此发送按钮

您还需要将元标记放入,因为fb在提到的url上没有找到任何元标记


还要检查调试器工具中获取的URL。这将显示他们从你的url中找到了什么

我无法获得应用程序id。我们有一个应用程序id。但我们创建了它,被其他东西分散了2周的注意力,当我们回到代码中需要应用程序id的部分时,Facebook告诉我们‘你不再有权限……’或类似的事情,在调查了这个问题之后——我们的首席技术官告诉我们‘如果Facebook可以在我们使用它之前任意取消激活一个应用程序id——那么我们就不会用Facebook编写任何需要应用程序id的代码——他们对开发人员来说太异想天开了,以至于他们这样做。“我们的团队同意,由于我们从未使用新的应用程序id编写过哪怕一行代码。我的意思是,你是从自己的fb帐户创建的吗?做一件事来代替应用程序id只需添加你的fb id即可。首席技术官说:“如果Facebook需要个人Facebook用户的帐户来创建应用程序id,我们就不能使用它,因为公司的员工或高管可能会在有一点是肯定的。因此,主要开发者的facebook帐户被用来获取应用程序Id,但我们的领导层不允许该项目编写依赖于一个非常脆弱、考虑不周的开发者连接的代码。我们能在哪里找到“你的fb_Id”??不确定你的意思。我上面帖子中的meta标记实际上在文件www.oursite.com/landing_page.php中。你肯定有很好的建议。但我们已经做到了。调试器显示“解析输入URL时出错,未刮取任何数据”。没有选项检查所获取的URL——单击“调试”后,我们看到的只是“解析错误…”错误消息。但当我们转到“刮取URL”时,它显示它没有任何元标记。