页面中的Facebook权限对话框

时间:2011-10-19 22:32:50

标签: facebook permissions authorization

我已经创建了一个可以正常使用的应用,但是如果用户尚未授权我的应用,则必须执行以下操作(假设他们在Facebook并登录) -

  1. 转到我的应用
  2. 点击登录/授权
  3. 打开Facebook权限的弹出窗口
  4. 在弹出窗口中接受
  5. 然而我注意到Zynga游戏,如Mafia Wars 1/2,Farmville等,当你去应用程序时,如果它没有被授权,它会直接转到页面中的权限,而不是弹出窗口从而消除了一步。此外,权限对话框是全宽的,没有应用程序侧边栏。

    有谁知道我如何复制这个流程?让用户在Facebook页面中进行授权而不是通过弹出窗口更容易。如何在页面内获取权限?

    提前致谢

1 个答案:

答案 0 :(得分:0)

用户访问您的应用程序的页面选项卡后,您可以通过将页面ID与signed_requests中的用户ID进行比较来检查他是否与您的应用程序连接,对于未经授权的用户ID将是相同的。在这种情况下,您可以通过将用户的浏览器重定向到“登录URL”来启动身份验证流程。

如果您希望它是完整页面,只需使用JavaScript进行重定向:

window.top.location = 'https://www.facebook.com/dialog/oauth?
 client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=COMA_SEPARATED_PERMISSIONS'

如果您使用PHP,则可以通过调用Facebook->getLoginUrl方法构建登录URL。

阅读Facebook authentication

上的文档