0

我有一个应用程序,用户使用 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”不同

4

0 回答 0