如何在没有FB.login的情况下在Facebook App上请求权限

时间:2013-11-28 21:06:16

标签: javascript facebook facebook-graph-api facebook-login

我一直在使用Javascript API开发Facebook应用程序,我希望获得扩展权限(特别是用户的喜欢)。我使用此处描述的基本登录过程构建了应用程序:https://developers.facebook.com/docs/facebook-login/login-flow-for-web/

该应用程序仅作为Facebook页面内的画布运行,并且一旦页面加载,它就会自动请求(我想在FB.init中?)以获取基本信息和发布权限。在显示任何内容之前,它一直等到这些权限被授予。

我无法弄清楚如何使用相同的初始权限来询问用户的喜欢。我在应用设置中添加了user_likes权限。

我在FB.init之后立即尝试调用

FB.login(function, {scope: "user_likes"})
。即使这样,它也会略微延迟,并且每次刷新页面时都会出现闪烁的提示。

为了摆脱闪烁的提示,我可以等到在用FB.api调用调用FB.login之前检查用户权限,但到那时该过程花了太长时间。它看起来很晚,感觉像是事后的想法。

有没有办法将user_likes权限与出现的初始提示捆绑在一起?

1 个答案:

答案 0 :(得分:1)

对于您的Canvas应用,您可以Manually build a Login flow

要申请扩展权限,您可以invoke a Login Dialog使用重定向:

https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID
&redirect_uri=YOUR_CANVAS_PAGE&scope=user_likes

这将提示用户使用登录对话框询问您将在范围中提及的扩展权限。