没有权限的iframe页面选项卡上的Facebook用户ID

时间:2012-02-07 16:35:50

标签: php facebook api facebook-iframe iframe-app

我有相当多的Facebook开发经验,但这让我拉了头发。它必须是非常小的东西,但我无法得到它。我最近看到一些带有欢迎标签的Facebook页面,显示用户名称“欢迎[您的名字]”访问他们的页面。示例如下:

https://www.facebook.com/Tony.Samaha.Official.Page

据我所知,没有用户的权限,我们无法获取用户ID。在权限之后,我们可以在签名请求中获取用户ID。如何获取Facebook用户ID或名称,类似于上面的示例?这是怎么回事?这可以实现吗?

仅供参考:我使用的是iframe标签。

2 个答案:

答案 0 :(得分:3)

查看signed_requests上的文档。当用户访问您的应用时,您的网址会发布signed_request。文档说明:

  
      
  • signed_request会在Facebook.com上传递给Apps.com   加载到Facebook环境
  •   
  • signed_request传递给any   已在开发者应用中注册了Deauthorized Callback的应用   每当给定用户使用App Dashboard删除应用程序时
  •   
  • 将signed_request传递给使用注册插件的应用   只要用户成功注册其应用
  •   

您必须解码此请求(请参阅上面的链接以获取详细信息),然后您可以从中提取访问用户的user_id。然后,你所要做的就是像这样查询Graph API
https://graph.facebook.com/USER_ID您将收到该用户的公开信息,包含用户名。

答案 1 :(得分:2)

用户仍在使用旧的静态FBML应用,因此他们很可能正在使用fb:name标记。虽然,我相信现在已经弃用了。实际上,您链接的页面需要更新。