通过JavaScript SDK在Facebook中不起作用的电子邮件权限

通过JavaScript SDK在Facebook中不起作用的电子邮件权限,javascript,facebook,api,Javascript,Facebook,Api,我正在尝试以下脚本: FB.login({scope: 'email'},function(response){ if(response.status == 'connected'){ alert('I am connected') } }); 但这并不是要求用户对电子邮件授予权限..:( 我尝试将scope和perms作为参数 参考资料: 这里是一个完整的工作

我正在尝试以下脚本:

FB.login({scope: 'email'},function(response){
                if(response.status == 'connected'){
                    alert('I am connected')
                }
            });
但这并不是要求用户对电子邮件授予权限..:(

我尝试将scope和perms作为参数

参考资料:


    • 这里是一个完整的工作示例,只需插入您的应用程序id即可

      <!DOCTYPE html>
      <html>
      <body>
      <div id="fb-root"></div>
      <a href="#" onclick="getEmail();return false;">Get Email</a>
      <script src="http://connect.facebook.net/en_US/all.js"></script>
      <script>
        FB.init({ appId: '**AppID**', status: true, cookie: true, xfbml : true });
      
        function getEmail() {  
          FB.login(function(response) {
            if (response.session && response.perms) {
              FB.api('/me',  function(response) {
                  alert('Email: ' + response.email);
                }
              );
            }
          } , {scope:'email'}); 
      }
      </script>
      </body>
      </html>
      
      
      init({appId:'**appId**',状态:true,cookie:true,xfbml:true});
      函数getEmail(){
      FB.登录(功能(响应){
      if(response.session&&response.perms){
      FB.api('/me',函数(响应){
      警报('Email:'+response.Email);
      }
      );
      }
      },{范围:'email'});
      }
      
      发现了错误,函数的签名是FB.login(回调函数(),{options}),其余的都可以

      FB.login(function(response){
                  if(response.status == 'connected'){
                      alert('I am connected')
                  }
              },{scope: 'email'});
      
      参考:

      感谢您的回复,我也尝试了您的解决方案,但不幸的是,我无法请求电子邮件权限……(啊!修复了问题。)请查看我的答案:(现在无法回答……他们的声誉限制在100以下。顺便说一句,您的答案部分正确,只需使用“范围”而不是“perms”