我们正在使用 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.
但我们尝试了这个请求:
但用户会直接重定向到 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/