如何从localhost测试我的Facebook页面选项卡应用程序

时间:2012-08-22 22:11:13

标签: facebook

我正在开发一个Facebook页面标签应用。当我将应用设置中的页面标签网址设置为localhost/fbapp时,由于页面标签不仅仅是iframe,因此无效。有解决方法吗?

修改

我正在使用带有fb C#SDK的ASP.NET MVC-3.0构建facebook 页面选项卡

到目前为止,我尝试修改hosts文件,将应用程序设置中的URL指向localhost(127.0.0.1)。我一直在以这种方式测试Facebook应用程序,但它在Facebook页面选项卡中不起作用。

4 个答案:

答案 0 :(得分:3)

在页面标签页面设置

中的应用程序设置中
http://localhost/yourpagetabdir/

setting on facebook

我正在将此设置用于我的页面应用程序测试frmlocalhost,如果您使用的是IIS服务器,请确保您的IIS服务器允许使用iframe中的页面。它可以正常使用我的ASP.Net开发服务器。

之后如果你想获得页签名请求

 Facebook.FacebookConfigurationSection s = new FacebookConfigurationSection();
                s.AppId = "AppID";
                s.AppSecret = "Secret";
                FacebookWebContext wc = new FacebookWebContext(s);
                dynamic da = wc.SignedRequest.Data;
                dynamic page = da.page;
                string curpageid = page.id;
                bool isLiked = page.liked;
                bool isAdmin = page.admin;

答案 1 :(得分:1)

尝试编辑您的主机文件,以便在转到http://example.com时链接到您的http://localhost/yourapp

以下是如何操作:

这应该有效,因为iframe会指向一个有效的URL,在本地计算机上会指向您的内容。请注意,如果您从其他计算机访问该选项卡,这将不起作用,因为对于他们,URL将指向其他内容(或根本不是,取决于您选择的域名)。

答案 2 :(得分:0)

以FB PHP SDK为例,您可以发布signed_request并用几行解析它: -

require_once ("facebook.php"); // this file comes from the SDK
$config = array();
$config['appId'] = 'get_appID_from_app_menu';
$config['secret'] = 'get_secret_below_appID';
$facebook = new Facebook($config);
$signed_request = $facebook->getSignedRequest();
print_r($signed_request);

避免在FB的博客中给出这个例子。祝你好运编码:)

答案 3 :(得分:0)

我弄清楚了facebook页面标签的问题。即使我启用了沙盒模式,它们似乎也不接受页面选项卡上的http。我所要做的就是设置IIS以使用https并在ssl上运行应用程序。它现在正在完美运作。谢谢大家的帮助