gpt4 book ai didi

javascript - Facebook 本地开发不起作用

转载 作者:行者123 更新时间:2023-11-30 05:58:33 24 4
gpt4 key购买 nike

我已无计可施,无法让它发挥作用。它曾经是,但由于某种原因似乎又坏了。我只是在本地开发时遇到麻烦。目前还有其他人在 Facebook 本地开发方面遇到类似问题吗?

这些是我的步骤:

  1. 创建应用
  2. 在“基本信息”部分下,将“localhost”设置为域(我也试过将此留空)
  3. 将我的网站设置为http://localhost:8080/
  4. 确保沙盒模式关闭
  5. 我的本地服务器在 http://localhost:8080/private/ 运行 Javascript,基本上如下所示。
  6. 我也尝试过使用本地主机的替代品(如 myapp.com),在映射到 127.0.0.1 的 etc/hosts 文件中定义它,将应用域设置为“myapp.com”并使用站点“http://myapp.com:8080/' 运气不好。

FB.getLoginStatus() 调用未返回,或仅偶尔返回。它始终在生产服务器上运行。

    function myAppInit() {

console.log("Facebook loaded; initializing sdk.");

//Initialize FB SDK
FB.init({
appId:_FbAppId, //This is valid and matches app ID
cookie:true,
status:true,
xfbml:true,
oauth:true
});

//Query for login status.
FB.getLoginStatus(function(response) {
updateLoginStatus(response); //This is hit randomly
});

//Set our standard callback for auth change status
FB.Event.subscribe('auth.authResponseChange', function(response) {
updateLoginStatus(response); //This is hit randomly
});
}


$(document).ready(function(){

window.fbAsyncInit = myAppInit;
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
}

编辑:检查 FB.getLoginStatus(..) 的响应后,它返回:

Given URL is not allowed by the Application configuration: One or more of the given URLs is not allowed by the Application configuration. It must match one of the Connect or Canvas URLs or domain must be the same as or a subdomain of one of the Application's base domains.

最佳答案

我遇到了与您描述的完全相同的错误,这让我抓狂。您必须确保您在 Canvas 中的 Facebook 网址或页面网址与您在浏览器中输入的内容完全匹配。

在我的例子中,我在地址栏的 URL 中添加了一个“www”(例如 wwww.domain.com/MyApp),但是在 Facebook 开发者设置下,我只是将 domain.com/MyApp 作为我的页面 URL 而没有www 前缀。这种细微的差异是导致错误的原因。您的情况可能会发生类似的情况。

如果您通过本地主机进行测试,我建议您创建一个新应用并将其作为生产应用的测试版本。这样,您就可以在相应的应用程序下拥有您的 PROD url 和 TEST url,以免事情变得困惑。

此外,我建议使用带有自定义虚拟目录的 IIS 进行调试,以便您在端口 80 上运行。(如果您使用 443 或 80 以外的任何其他端口,Facebook 有时似乎表现得很愚蠢)希望对您有所帮助。

关于javascript - Facebook 本地开发不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10276077/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com