重新询问拒绝的Facebook权限(auth_type = rerequest)不起作用

sen*_*rio 5 php facebook

我们正在开发一个带有PHP SDK 3.2.3和Javascript SDK的Facebook应用程序.如果用户在登录时拒绝访问在Facebook上发布,我需要重新询问用户是否允许在他们的墙上发布.

正如文件所说:

[...]您的应用必须通过特殊处理重新询问拒绝的权限.[...]

[...] Web应用程序必须明确地将新选项传递给登录对话框:auth_type:rerequest.有关新选项如何在Web上运行的详细信息,请参阅我们在Web上使用JavaScript SDK的文档.

但是我们尝试了这个请求:

https://www.facebook.com/dialog/oauth?auth_type=rerequest&client_id=1...7&redirect_uri=MY_PAGE&state=a1f4412db0617ef1a620ac1d1ebc2af8&sdk=php-sdk-3.2.3&campaign_page_with_active_panel=MY_PAGE

但是用户直接在MY_PAGE网址上重定向,并且不会重新请求权限.

这种(错误的)行为可能是由于应用程序是测试应用程序的事实?

chi*_*iii 5

在js sdk上,我直接调用登录方法,如下所示:

FB.login( function( response ) {
      if (response.status == 'connected') {

      }
},{
      scope: 'email,public_profile',
      return_scopes: true,
      auth_type: 'rerequest'
 });
Run Code Online (Sandbox Code Playgroud)

在服务器端,我使用访问令牌在Facebook上请求用户详细信息。如果未提供电子邮件,则返回错误消息,告诉用户他需要再次登录并提供电子邮件。当他们由于auth_type:'rerequest'部分而再次单击登录按钮时,将再次请求他们许可。