php - 重新请求拒绝的 Facebook 权限 (auth_type=rerequest) 不起作用

标签 php facebook

我们正在使用 PHP SDK 3.2.3 和 Javascript SDK 开发 Facebook 应用程序。如果用户在登录时拒绝访问在 Facebook 上发布,我需要重新请求用户允许在他们的墙上发布。

作为documentation说:

[...] Your app must re-ask for declined permissions with special handling. [...]

[...] Web apps must explicitly pass a new option to the Login Dialog: auth_type: rerequest. Details on how the new option works on the web is covered in our documentation on using the JavaScript SDK on the Web.

但我们尝试了这个请求:

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 url,并且不会重新请求权限。

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

最佳答案

在js sdk上我直接这样调用登录方法:

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

      }
},{
      scope: 'email,public_profile',
      return_scopes: true,
      auth_type: 'rerequest'
 });

在服务器端,我使用访问 token 请求 Facebook 上的用户详细信息。如果没有提供电子邮件,我会返回一个错误,告诉用户他需要重新登录并提供电子邮件。当他们因为 auth_type: 'rerequest' 部分再次点击登录按钮时,他们将再次被请求权限。

关于php - 重新请求拒绝的 Facebook 权限 (auth_type=rerequest) 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26020187/

相关文章:

php - PHP 类中 protected/private 的重要性

php - 输出表中的所有数据并显示哪些行属于用户

php - 文件不会删除

php - 如何在 PHP 中使用爆炸并获取一行中的第一个元素?

php - 关注点分离; MVC;为什么?

facebook - 使用 oAuth 登录,我应该存储/使用什么来识别用户?

java - 错误: application requires permission

javascript - Facebook Graph API 不返回下一个和上一个分页链接

javascript - 未捕获( promise ): TypeError: Cannot read property 'apply' of undefined in ionic 2 app

android - Facebook SDK 仅在自己的时间轴上提要,不在 friend 的新闻提要上