【发布时间】:2012-01-29 00:45:17
【问题描述】:
我试图弄清楚如何获取用户正在访问的 Facebook 页面的当前选项卡的选项卡 ID。
我已经制作了一个用于在 Facebook 页面上安装的应用程序,我需要为每个实例保存设置。我发现您可以为安装应用程序的页面获取一系列标签,但我不知道如何获取您所在的实际标签的标签 ID。
关键是管理员能够使用单个后端保存他们已将应用添加到的每个选项卡的设置。我不确定您是否可以在同一页面上拥有一个应用程序的多个实例,但如果不能,我们将在 iframe 中有 2-3 个具有相同后端的重复应用程序。因此,我需要能够将应用安装识别为唯一的 - 我能找出的最佳方法是使用应用的页面 ID 和标签 ID。
我该怎么做?
更新:发现页面上的每个应用只能有一个实例。
有了这个,我继续使用这个解决方案(使用'/tabs/'来获取标签信息):
try {
$tab = $facebook->api('/'.$fb_page_id.'/tabs/'.$fb_app_id);
$fb_tab_link = $tab['data'][0]['link'];
} catch (FacebookApiException $e) {
echo '<!-- '.htmlspecialchars(print_r($e, true)).' -->';
}
在上述代码中,$fb_tab_link 或$fb_page_id 和$fb_app_id 的组合可以用作唯一标识符。我决定使用串联 $fb_page_id . '-' . $fb_app_id 作为实例 ID。
【问题讨论】:
-
我不确定你的意思;您的应用程序在signed_request 中发送一个“页面”参数,告诉您应用程序安装在哪个页面上,因此您可以使用它来确定要显示的内容 - 您不能只使用它来确定应用程序安装在哪个页面上?
-
是的,我最终使用 PAGE_ID/tabs/APP_ID api 调用作为唯一标识符,它还返回到当前选项卡的链接。
标签: facebook facebook-graph-api