Javascript Facebook不会在登录时请求所需的权限

Javascript Facebook不会在登录时请求所需的权限,javascript,facebook,facebook-javascript-sdk,Javascript,Facebook,Facebook Javascript Sdk,我试图请求电子邮件许可,但当FB弹出窗口打开时,它不会显示 该按钮是自定义按钮,因此我不要求对html的权限(正如这里的一些人所说的解决问题),但在该函数上: function FBlogin() { FB.login(function(response) { if (response.status === 'connected') { console.log("c

我试图请求电子邮件许可,但当FB弹出窗口打开时,它不会显示

该按钮是自定义按钮,因此我不要求对html的权限(正如这里的一些人所说的解决问题),但在该函数上:

function FBlogin()
  {

             FB.login(function(response) {
                if (response.status === 'connected')
                {
                  console.log("connected");
                  testAPI();
                }
                else
                 {
                  console.log("not connected");
                 }
              },{scope: 'public_profile,email'});

  }
稍后将返回
null
,并且甚至不会向我请求此权限


另外-如何通过识别用户已登录(不再显示FB弹出窗口)来“重置”
Chrome

我尝试了你对个人应用程序上Facebook集成的权限,它要求我该应用程序将访问我的“姓名、个人资料图片和电子邮件”,然后我接受了

之后,我断开/重新连接,它不再要求我接受权限

如果您希望再次被询问,请转到您的
FB profile>Carret下拉列表>参数>应用程序和网站
,然后删除您的应用程序

要检查用户是否已连接,可以在状态为“已连接”时签入
FB.getLoginStatus()
,然后中止连接过程

因此,您可以使用


FB.api('/me?fields=email',res=>console.log(res.email))

您需要访问令牌才能获取电子邮件吗?因为email和ages将返回未定义的内容。请检查您是否和
FB.getLoginStatus()连接良好,并且具有良好的权限。如果你是,并且你的个人资料有一个电子邮件地址,那么它没有理由不工作。或者:
FB.api('/me',{fields:'email'},res=>console.log(res.email))(api端点+参数)