有人可以向我解释如何使用签名请求中的 facebook app_data 吗?
http://developers.facebook.com/docs/authentication/signed_request/
文档含糊不清。我不知道如何实际使用 app_data 字段。我希望能够在将应用程序添加到页面时将应用程序数据传递给该应用程序,以便其上显示的内容与 Facebook 页面相关。
例如,我希望我网站上的用户个人资料仅显示在该用户的 Facebook 页面上。为此,我想在用户将应用程序添加到他们的页面时将用户 ID 发送到 fb 签名请求。然后,无论何时访问该页面,我都会提取应用程序数据并运行一些 php 以显示正确的配置文件。
我可以使用 app_data 执行此操作还是不可能?
最佳答案
来自您引用的文档
应用数据是
A JSON string containing the content of a query string parameter also called app_data. Usually specified when the application built the link to pass some data to itself. Only available if your app is an iframe loaded in a Page tab.
因此,当您的应用生成链接时,应用数据仅有用,某些用户将点击该链接并在某些 Facebook 页面上访问您的应用。
如果用户直接访问某个页面(和应用标签),那么您将不会获得 app_data 字段。
一旦用户在他们的任何一个页面上安装了您的应用程序(并授予您的应用程序最低权限),您将始终在signed_request
,Facebook 将在 Canvas 应用(无 page_id
字段)和页面选项卡应用中发送到您的应用。
你想做什么,只需要读取signed_request
,然后找出page_id
并相应地显示数据,你甚至不必使用user_id。
希望这能回答您的问题。如果需要,请务必要求澄清。
关于Facebook 应用数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8646589/