我有一个应用程序,用户使用 facebook 帐户登录,保存 ID、姓名和电子邮件。我正在使用https://github.com/jaredhanson/passport-facebook
UserSchema.statics.findOrCreateFaceBookUser = function(profile, done) { var用户=这个; 用户.findOne({ “电子邮件”:profile.emails[0].value },功能(错误,用户){ 如果(错误){ 抛出错误; } 如果(用户){ 用户.facebook = { id:profile.id, 电子邮件:profile.emails[0].value, 名称:profile.displayName }; 用户.保存(功能(错误){ 如果(错误){ 返回下一个(错误); } 别的 { // 完成(空,用户); } }); 完成(空,用户); } 别的 { 用户.findOne({ 'facebook.id':个人资料.id },功能(错误,用户){ 如果(错误){ 抛出错误; } //如果(错误)返回完成(错误); 如果(用户){ 完成(空,用户); } 别的 { 用户创建({ 名字:profile.name.givenName, 姓氏:profile.name.familyName, 电子邮件:profile.emails[0].value, 性别:profile.gender, 图片:"http://graph.facebook.com/"+profile.id+"/picture?type=normal", Facebook: { id:profile.id, 电子邮件:profile.emails[0].value, 名称:profile.displayName } },功能(错误,用户){ 如果(错误){ 抛出错误; } 完成(空,用户); }); } }); } });
问题是我需要获取也在使用该应用程序的 facebook 朋友,但 facebook graph 返回的“id”与我在应用程序中坚持的内容不匹配。
https://graph.facebook.com/me/friends?fields=id,name&access_token=xpto
收到护照-facebook 的“profile.id”与 facebook 图形字段“id”不同