【问题标题】:Callback from Facebook app as a tab app on multiple pages从 Facebook 应用程序回调作为多个页面上的选项卡应用程序
【发布时间】:2013-10-03 22:14:23
【问题描述】:

沙龙所有者可以在我们的平台上使用他们的沙龙信息创建一个帐户,然后他们会获得一个可以用作标签应用的页面。

我希望能够从一个应用程序中提供所有这些页面,而不必单独安装每个页面,并且我还希望通过帮助沙龙老板安装标签来让他们的生活更轻松。

我知道我可以创建链接以帮助他们安装应用程序,并且我知道当访问者访问应用程序时,facebook 会发送页面 ID。到现在为止还挺好。 https://developers.facebook.com/docs/appsonfacebook/pagetabs/

但是我如何确保当沙龙所有者点击链接安装应用程序时,我会(通过回调或其他方式)取回页面 ID,以便我可以注册哪个页面 ID 属于哪个沙龙帐户。

我已经阅读了 2011 年有关回调的文章,但我找不到任何关于此的最新信息。

我认为这应该是可能的,因为很多网站都为企业提供简单的 fb 应用程序。

欢迎任何帮助!

编辑:上面 Facebook 链接中的最后一条信息可以用来执行此操作吗?我还不太明白。

此外,如果在加载选项卡的 URL 中的原始查询字符串中设置了 app_data 参数,则您的应用还将收到一个名为 app_data 的字符串参数作为 signed_request 的一部分。它可能看起来像这样:“https://www.facebook.com/YourPage?v=app_1234567890&app_data=any_string_here”。如果您控制链接的生成,则可以使用它来自定义您呈现的内容。

【问题讨论】:

    标签: facebook api tabs callback


    【解决方案1】:

    嗯...阻止用户将您的应用程序添加到他们的页面是不可能的。你无法阻止它。

    您可以做的是检测谁添加了您的应用程序,并据此更改内容(或根本不显示)。因此,您必须从“允许的”page_id 列表开始,以匹配您想要的帐户。

    每次用户到达您的应用程序(在一个页面内)时,您的应用程序都会收到一个signed_request。其中signed_request 不仅包含用户信息,还包含应用程序所在页面的信息(前提是它是一个页面标签应用程序)。

    一旦您获得signed_request,它将持有一个page 密钥,其中包含:

    包含页面 id 字符串的 JSON 对象,喜欢的布尔值(设置为 如果用户喜欢该页面,则为 true,否则为 false)和管理员 布尔值(如果用户是页面管理员,则设置为 true,如果用户是页面管理员,则设置为 false 他们不是)。此字段仅在您的应用正在加载时出现 在页面选项卡内。

    因此,您将能够从此变量中访问page_id,并决定要显示的内容类型。

    【讨论】:

    • 嗨 Lix,感谢您的快速回答。
    • 没问题@edw!不幸的是,似乎曾经有完全符合您要求的功能,但我相信您知道,Facebook 文档还有很多不足之处,并且缺少这些信息。
    • 是的,我已经阅读并理解了您提供的这些信息。我没有的是您所说的 pageId 列表,我不想让沙龙所有者负担他们试图找出他们的页面 id 的负担。当有人点击安装链接时,我希望 facebook 会返回一个回调。您是否了解我们数据库中沙龙的 db 行与已安装它的页面 ID 之间缺少的链接。我可以告诉页面管理员在安装后在选项卡中访问他们的应用程序,但我不是万无一失的。如果他们不访问我就没有页面 ID?
    • 顺便说一句,我不需要阻止其他人安装该应用程序。这里的情况越多越好。只需要知道哪些标签对应于我们记录的沙龙。
    • 是的 - 我完全理解这里的问题。原因是 Facebook 缺乏支持——他们声称存在一项功能,但没有提及使用情况 :) 我认为克服这个问题的最佳方法是简单地编译一个您想要跟踪的所有页面的列表并手动提取它们的 page_id 来存储在您的数据库中。我不确定是否有更好的方法...
    【解决方案2】:

    好的,在运行一些测试后,我发现当您将 URL 作为“下一个”参数添加到安装 URL 时,Facebook 会将管理员(用户)发送回此 URL,同时将数组添加到包含所有页面的请求应用安装到的 ID。

    像这样:YOUR_CALLBACK_URL?tabs_added[ID]=1

    最后证明很简单

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多