5

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

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

我知道我可以创建链接以帮助他们安装应用程序,并且我知道当访问者访问应用程序时,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 ”。如果您控制链接的生成,则可以使用它来自定义呈现的内容。

4

2 回答 2

3

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

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

signed_request每次用户到达您的应用程序(在一个页面内)时,您的应用程序都会收到一个。里面signed_request不仅有关于用户的信息,还有关于应用程序所在页面的信息(前提是它是一个页面选项卡应用程序)。

获得 后signed_request,它将持有一个page包含以下内容的密钥:

一个 JSON 对象,包含页面 id 字符串、喜欢的布尔值(如果用户喜欢该页面,则设置为 true,如果没有,则设置为 false)和 admin 布尔值(如果用户是页面的管理员,则设置为 true,如果他们是则设置为 false'不是)。仅当您的应用程序在页面选项卡中加载时才会出现此字段。

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

于 2013-10-06T12:38:05.973 回答
2

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

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

最后证明很容易

于 2013-10-08T00:32:58.490 回答