facebook登录按钮获取邮箱的方式

admin6年前IT技术2035

由于公司英语商城要做免注册登录,我就想到了facebook,按照官方的文档,一步一步做下去,心情很好,竟然没有坑,但是我高兴的太早了,上线测试了一下发现无法获取用户的邮箱与头像,那有什么用呢.

然后就是查官方,文化差异,那文档就不是写给你中国人看的,最后经过2个多小时的的折腾,终于搞出来了,直接上代码

  (function(d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s); js.id = id;
    js.src = "https://connect.facebook.net/en_US/sdk.js";
    fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'facebook-jssdk'));

  // Here we run a very simple test of the Graph API after login is
  // successful.  See statusChangeCallback() for when this call is made.
  function testAPI() {
    console.log('Welcome!  Fetching your information.... ');
    FB.api('/me?fields=name,picture,email', function(response) {
      console.log(response);
      document.getElementById('status').innerHTML =
        'Thanks for logging in, ' +response.name+"<br>"+response.email+"<br>"+'<img src="'+ response.picture.data.url + '">';
    });
  }

 

关键是FB.api('/me?fields=name,picture,email', function(response) {

官方竟然没有给出这个M文档!!!!!

官方文档https://developers.facebook.com/docs/facebook-login/permissions/#reference-default

授予您的应用访问User对象的默认字段的权限,这些字段是人员公开个人资料的子集:

  • id
  • first_name
  • last_name
  • middle_name
  • name
  • name_format
  • picture
  • short_name

 

相关文章

Axure RP 8设置动态面板状态的方法

Axure RP 8设置动态面板状态的方法

设置动态面板状态需要注意鼠标单击需要设置面板状态,而不是显示隐藏,不然无法控制动态面板里的各个元件的显示与隐藏 ˂a href="post/523.html"˃...

Etsy店铺被封得原因

Etsy店铺被关闭一般有以下几个原因: 1,一个电脑登陆了2个以上的店铺,这样很快就会被关闭的。 2,两个电脑共用一个IP地址,这个被关闭的可能性很高,最好不要这样做。 3,不同的etsy店铺共...

centos7创建ikev2

centos7创建ikev2

sh文件下载install-ikev2.zip---需要2个内核转发命令2install-ikev2.zipchmod +x  ./mine.sh导入 CA 证书把服务器上的 CA 文件&n...

centos7 关闭防火墙

1、命令行界面输入命令“systemctl status firewalld.service”并按下回车键。2、然后在下方可度以查看得到“active(running)”,此时说明防火墙已经被打开了。...

关于jquery升级至1.8版本之后的兼容问题Uncaught TypeError: $(...).size is not a function

关于jquery升级至1.8版本之后的兼容问题Uncaught TypeError: $(...).size is not a function

之前也遇到过这种问题Uncaught TypeError: $(...).size is not a function  控制台报错如上图,打开Frame.js可以看到里面定义大小...

WireGuard 安装脚本

WireGuard 安装脚本

 执行结束后,会输出一个二维码,可直接用 WireGuard App 扫描导入。4. 客户端配置文件路径/etc/wireguard/client.conf可复制到 Windows、Mac、...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。