如何从页面选项卡应用程序获取Facebook页面选项卡URL

问题描述:

我有一个页面选项卡应用程序,其中包含调用Facebook提要对话框的共享按钮。我希望故事链接指向页面选项卡应用程序。如何从页面选项卡应用程序本身中找出页面选项卡url?由于跨域安全问题,我无法使用top.location.href,但我不知道应用程序本身能够找出必要的url。在配置设置中指定页面选项卡应用程序不是一个选项 - 太脆弱并且容易出现维护问题(即,从分段发布而不更新url)。如何从页面选项卡应用程序获取Facebook页面选项卡URL

这是一个有点迂回,但它是相当雄厚。

signed_request会给你一个page_id。然后,您可以在该页面ID上查询关于link param的图表api。与app_<APP_ID>组合,你已经有了你的网址。

如 - https://www.facebook.com/colmstestpage/app_120999667956026

https://www.facebook.com/colmstestpage/来自http://graph.facebook.com/<PAGE_ID>?fields=link/app_120999667956026是一贯的,你不需要来查询您的app_id

+0

如果页面URL包含一个ID(即该页面没有保证完全唯一的用户名),这将不再可靠并且中断。截至2015年11月3日,这里描述的技术仍然适用于我测试过的所有场景:http://stackoverflow.com/a/9587363/188740 –