gpt4 book ai didi

php - 如何强制用户授予页面选项卡应用程序的扩展权限?

转载 作者:行者123 更新时间:2023-11-28 02:42:57 26 4
gpt4 key购买 nike

我正在制作一个页面选项卡应用程序,需要某些用户扩展权限才能按照我想要的方式运行。

我同时使用 PHP 和 JavaScript SDK,我尝试的第一件事是一个简单的 FB.login(),列出范围,包括扩展权限。问题是,即使用户拒绝扩展权限,也可以成功登录并进入我的应用程序。之后,我将用户重定向回登录页面以再次请求权限,但从这里开始,每次调用 FB.login() 都会使弹出窗口出现然后立即消失,让将用户放入我的脚本中,该脚本检查权限并将用户再次踢回登录页面;这意味着如果所有强制权限都已授予,FB.login() 根本不会请求权限,即使未授予扩展权限。

通过这个应用程序,在 Facebook 之外,我可以执行 $facebook->getLoginUrl(),传递所需的扩展权限,并将用户重定向到外部 Facebook 登录表单。 Therem facebook 确实尝试请求缺少的扩展权限,如果用户拒绝,他将被带回登录页面,在此可以重复,直到用户最终授予权限或离开网站。这很好,这有效。

问题是,我的应用程序实际上驻留在页面选项卡中,正如我所说,FB.login() 方法无论如何都不起作用,将用户重定向到IFrame 中的 Facebook 登录表单似乎根本不起作用(我似乎被重定向回同一页面,而没有机会在 facebook 的 IFrame 中看到 facebook.com 外部登录表单:P),并且我还尝试使用 window.top.location.href = loginUrl 重定向整个页面(不仅仅是 IFrame),其中 loginUrl 具有 facebook 内页面选项卡的 url(由 $facebook- 生成) >getLoginUrl($params)),但在这种情况下,我完全重定向到另一个 facebook 区域,但它显示有关redirect_uri 不属于应用程序的错误,这是正确的,因为重定向 uri 有facebook.com 其中,只需指向我的应用程序所在的选项卡。

因此,在页面选项卡应用程序的情况下,我发现无法继续询问用户所需的扩展权限。有谁知道我怎样才能得到我想要的工作?就像有没有办法强制 FB.login() 对话框请求扩展权限,就像默认情况下不这样做一样?

最佳答案

Facebook 对其进行了设计,因此不再强制要求扩展权限。不幸的是,这意味着您不能强制用户接受它们。

处理此问题的一个好方法是让用户登录应用程序,然后提示用户由于不允许权限而错过了什么,并再次提示他们接受。如果他们仍然不接受,则向他们展示一个友好的“抱歉,在接受权限之前您无法使用此应用程序”页面

http://developers.facebook.com/docs/guides/policy/examples_and_explanations/Extended_Permissions/https://developers.facebook.com/docs/opengraph/authentication/

关于php - 如何强制用户授予页面选项卡应用程序的扩展权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12387799/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com