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

admin6年前IT技术1760

由于公司英语商城要做免注册登录,我就想到了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

 

相关文章

LINUX-centos7服务器环境安装的那些坑

LINUX-centos7服务器环境安装的那些坑亲自测试能用的第一步 安装php一定要加上--skip-broken,否则根本无法安装,依赖的程序实在是太多了,我走过这个弯路; yum -y...

ubuntu 远程连接 22 端口

安装OpenSSHUbuntu缺省没有安装SSH Server,使用以下命令安装:sudo apt-get install openssh-server openssh-client不过Ubuntu缺...

centos7 关闭防火墙

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

vps远程桌面调用本地电脑摄像头与声卡的方法

vps远程桌面调用本地电脑摄像头与声卡的方法

vps安装服务器角色:远程桌面会话主机+远程桌面授权打开vps服务windows Audio启动它,并让他自动运行打开vps主策略:允许视频与音频播放重定向打开vps服务器的摄像头权限管理:允许远程桌...

新建项目project长时间loading彻底删除Android Studio代理设置

修改 C:\Users\Administrator\.gradle\gradle.properties注释如下的语句#systemProp.http.proxyHost=mirrors.opencas...

L2TP服务器,同一个局域网只能连接一台客户端的解决方案

 l2tp同一台服务器, 在一个局域网多个账号不能同时登陆的解决方案原因:由于同一个局域网交换机,一般都是一层交换机,承载不了1个以上的IPSEC的加密解决方案:关闭IPSEC加密就可以多账...

发表评论    

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