5

我正在开发一个 facebook 页面标签应用程序。当我在应用程序设置中将页面选项卡 URL 设置为类似localhost/fbapp时,它不起作用,因为页面选项卡不仅仅是 iframe。有什么办法可以解决这个问题吗?

编辑

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

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

4

4 回答 4

3

在页面选项卡 url 集中的应用程序设置中

http://localhost/yourpagetabdir/

脸书上的设置

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

在此之后,如果您想获得页面签名的请求

 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;
于 2012-08-23T09:20:56.717 回答
1

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

这是如何做到的:

  • Windowshttp ://www.trailheadinteractive.com/creating_multiple_virtual_sites_a_single_apache_install_windows_xp (您的本地主机 URL 应具有有效的网站格式:127.0.0.1 dummydomainname.tld)
  • MacOShttp ://danilo.ariadoss.com/how-to-setup-virtual-hosts-mamp-environment/ (再次确保您的网站格式有效)
  • Linux:您可能已经知道如何做到这一点:)

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

于 2012-09-03T13:03:26.583 回答
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 博客中给出的冗长示例。祝你编码好运:)

于 2012-09-01T17:20:51.270 回答
0

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

于 2012-09-03T23:31:00.457 回答