Facebook Sharer在桌面上返回500个内部服务器错误

Facebook Sharer在桌面上返回500个内部服务器错误,facebook,facebook-sharer,Facebook,Facebook Sharer,我正在尝试使用Mac上的共享按钮。它适用于我在移动设备上,在桌面上,sharer对话框会正常出现。然而,当点击共享链接按钮时,对话框显示一个简短的Facebook状态栏,然后没有响应。在浏览器的开发工具控制台中检查之后,我看到一个500错误 这是我在萤火虫身上看到的。 “POST 500内部服务器错误” “NetworkError:500内部服务器错误-//www.facebook.com/ajax/sharer/submit\u page/” 是否还有其他人遇到此问题?关于如何解决这个问题有什

我正在尝试使用Mac上的共享按钮。它适用于我在移动设备上,在桌面上,sharer对话框会正常出现。然而,当点击共享链接按钮时,对话框显示一个简短的Facebook状态栏,然后没有响应。在浏览器的开发工具控制台中检查之后,我看到一个500错误

这是我在萤火虫身上看到的。 “POST 500内部服务器错误” “NetworkError:500内部服务器错误-//www.facebook.com/ajax/sharer/submit\u page/”

是否还有其他人遇到此问题?关于如何解决这个问题有什么想法吗

这似乎是一个FB问题,但我在网上或FB论坛上找不到更多关于这一点的信息


谢谢

我也犯了同样的错误,并意识到我使用了错误的应用程序id。我不是该错误应用程序id的管理员,因此我不知道是该应用程序id中的某些设置(可能是沙盒设置)还是其他设置。但是改变它肯定会为你解决这个问题,这似乎是Facebook的一个缺陷,因为他们的Like button插件不需要appId,他们的Share button代码生成器也不需要任何对它的引用

也就是说,我找到了一个不需要注册/AppID的解决方案

我所做的只是复制任何现有的AppID并将其填充到
sdk.js
URL的末尾,如下所示:

<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/sdk.js#xfbml=1&version=v2.0&appId=XXX";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

(功能(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/sdk.js#xfbml=1&version=v2.0&appId=XXX”;
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);
(我用来代替上面的“XXX”的是Facebook自己网站上的一个应用程序ID。)


似乎没有进行验证,这再次让我相信这是Facebook犯下的暂时性错误。

谢谢Michal!我们发现,如果我们删除了应用程序ID,共享将重新开始工作。但是,URL中仍然存在一个随机的应用程序ID。看来我需要找到应用程序ID的所有者。作为更新,我们删除了应用程序ID,它工作了大约一周,然后又开始崩溃。最后,我申请了一个应用程序ID并使用了该ID。从那以后就没有问题了。我同意,这看起来像是FaceBook的问题,但这已经是一个多月以来的问题了-/谢谢你,玛!这看起来确实像一个FB bug,特别是因为它在他们的移动共享页面上工作,而不是在桌面页面上。与此同时,我们发现的最可靠的解决方法是只获取应用程序ID。但好消息是,AppID没有针对域进行验证,因此您可以跨多个网站重用AppID。