2014-11-09 111 views
1

我是流星的新手,我試圖獲取當前登錄的用戶的照片。流星不能訪問個人資料圖片

我嘗試過很多辦法,但這個感覺它應該工作:

這是該指數的JS:

Template.user_loggedout.events({ 
"click #login" : function(e, t){ 
    Meteor.loginWithFacebook({ 
    }) 
    } 
}) 

因此,它基本上只是登錄與Facebook。到那時爲止,認證是成功的。 現在在服務器端,我試過很多方法來得到的圖片創建用戶時,但是這一次似乎是最乾淨的,最簡單的:

Accounts.onCreateUser(function(options, user) { 
if (options.profile) { 
    options.profile.picture = "http://graph.facebook.com/" + user.services.facebook.id + "/picture/?type=large"; 
    user.profile = options.profile; 
} 
return user; 
}); 

我也與谷歌嘗試過(與完全實現谷歌登錄):

user.profile.profile_picture = user.services.google.picture; 
在我看來

現在,我只需調用這樣說:

<img src="currentUser.profile.picture" 

的事情是,無論哪種方式我試試,我calways得到這個損壞的鏈接圖片:

enter image description here

我敢肯定,我是一個明顯的一步之遙拉動這一關,但我實在想不出有什麼不對我的電話。難道我做錯了什麼?

+1

只是猜測,因爲我還沒有實際使用的流星,但不它使用某種模板引擎,需要你在插入html之前包裝變量'{{currentUser.profile.picture}}? – laggingreflex 2014-11-09 04:00:30

回答

2

您應該將輔助函件放在雙花括號{{helper}}中。否則,它會將其視爲純文本。

<img scr="{{currentUser.profile.picture}}" alt="{{currentUser.username}}">

+0

是的,它在括號內。我輸入它而不是複製粘貼,並忘記把括號 – phadaphunk 2014-11-09 06:42:30

2

取出if(options.profile)你在哪裏結束了

Accounts.onCreateUser(function(options, user) { 
    options.profile.picture = "http://graph.facebook.com/" + user.services.facebook.id + "/picture/?type=large"; 
    user.profile = options.profile; 
    return user; 
}); 

,然後在模板

{{#if currentUser}} 
    <img scr="{{currentUser.profile.picture}}" alt="{{currentUser.username}}"> 
{{/if}} 
相關問題