Javascript 使用helpers METEOR-JS调用Facebook照片

Javascript 使用helpers METEOR-JS调用Facebook照片,javascript,facebook,meteor,Javascript,Facebook,Meteor,我正在尝试使用Meteor中的以下内容调用facebook个人资料照片 Template.foo.helpers({ avatar: function() { if (Meteor.user().services.facebook) { return "http://graph.facebook.com/" + Meteor .user().services.facebook.id + "/picture/?type=large";

我正在尝试使用Meteor中的以下内容调用facebook个人资料照片

Template.foo.helpers({
    avatar: function() {
        if (Meteor.user().services.facebook) {
        return "http://graph.facebook.com/" + Meteor    .user().services.facebook.id + "/picture/?type=large"; 
        }
        else
        {
            return "img/blank_avatar.png"
        }
    }
});
我打电话给你

<img src = "{{avatar}}">

在我的浏览器控制台中,我得到一个错误

模板帮助程序中的异常:头像


我真的不明白问题出在哪里…

让我们通过
onCreateUser
方法将Facebook的逻辑更改为
服务器端

//server
    Accounts.onCreateUser(function(options, user) {
       if(user.services.facebook) {
          user.profile = options.profile; 
          user.profile.picture = "http://graph.facebook.com/" + user.services.facebook.id + "/picture/?type=large";
       }else if(options.profile){
          user.profile = options.profile;
       }
    return user
});
如果一些用户使用
Facebook服务
登录,
profile.picture
字段将为我们保存带有Facebook照片的
url

现在在客户端

JS

    //client
    Template.foo.helpers({
      showProfile:function(){
        if(Meteor.user().profile){
          return userProfile.picture;
        }else{
         return "img/blank_avatar.png"
        }
      }
    })
}
.fbPic {
  border-right: 1.5px solid;
  padding-right: 8px;
  padding-bottom: 4px;
  padding-top: 4px;
}
HTML

    {{#if currentUser}}
        <img src="{{showProfile}}" class='fbPic'>
      {{/if}

只是为了确保真正的问题出现在帮助者身上,而不是在帐户facebook控制台上。记录2返回状态,看看你得到了什么,如果你得到了一个正确的url,把它与静态内容放在标签上,顺便说一句,帮助者看起来不错,你还有另一个名为“阿凡达”的模板帮助者吗?@Ethaan-Hey。谢谢你的回复。我似乎仍然无法修复它。我只有一个化身助手。我试着把它叫做不同的东西,但没有成功。此外,“Meteor.user().services.facebook”似乎出于某种原因无法在我的应用程序上运行。下面的返回声明也是如此……我给了你答案。但是,我不可能用我的逻辑来实现它吗?我将
userProfile.picture
更改为
return Meteor.user().profile.picture