0

有没有办法仅从页面选项卡应用程序发布活动?

我设法发布活动,但该应用程序必须配置为 Facebook 上的应用程序(带画布)。这意味着应用程序的链接是http://apps.facebook.com/... - 我只希望该链接位于页面选项卡应用程序上。

谢谢!

4

1 回答 1

2

在您的 Facebook 应用程序设置中设置页面标签 URL 和安全页面标签 URL。然后使用此对话框将应用程序添加到您的 Facebook 页面:https ://www.facebook.com/dialog/pagetab?app_id=YOUR_APP_ID&redirect_uri=YOUR_PAGE_TAB_URL 。

更新
我建议您进行重定向。您可以使用以下函数 (PHP) 检查应用程序是否显示在页面选项卡内:

function referrerIsFacebookCanvasApp() {
    if (stripos($_SERVER['HTTP_REFERER'], "apps.facebook.com") === true) {
        return true;
    }
    return false;
}

但要小心 - 引荐来源标头可能是伪造的。

更新 2(基于您的最新评论):我想解决您的问题的唯一方法是将操作 ID 与已发布操作的页面的页面 ID 一起存储,然后读取 GET 请求参数,它们是像这样通过:

https://apps.facebook.com/YOUR_APP_NAMESPACE/?fb_source=timeline_og&fb_action_ids=THE_ACTION_ID&fb_action_types=YOUR_APP_NAMESPACE%3ADO_SOMETHING& ...

或这个

http://www.facebook.com/l.php?u=https://YOUR_SITE.com/?type=OBJECT_TYPE&locale=en_US&title=TITLE&image=thumb.png&description=DESCRIPTION&fb_action_ids=ACTION_ID&fb_action_types=YOUR_APP_NAMESPACE%3ADO_SOMETHING&fb_source=aggregation&fb_aggregation_id=AGGREGATION_ID& . .

(您应该可以通过阅读来做到这一点parent.location
然后相应地重定向。

于 2012-07-16T10:59:14.210 回答