[英]TypeError: Meteor.user(…).services is undefined
我正在嘗試獲取Meteor用戶的Facebook ID(通過Facebook登錄)。 以下行給我帶來了麻煩:
var userID = Meteor.user().services.facebook.id;
在控制台上說
TypeError: Meteor.user(...).services is undefined
據我了解,這是因為user()。services尚未初始化。 我將代碼包裝在if(Meteor.user())
以確認用戶已被初始化。 該代碼在按下按鈕時執行,因此肯定有足夠的時間啟動。 當我刪除自動發布時,這種情況就開始發生(盡管可能無關)。 我需要做些其他事情才能使其在沒有自動發布的情況下工作嗎?
解決了以下問題:
Meteor.publish("getUserData", function () {
return Meteor.users.find({_id: this.userId});
});
並訂閱。 填寫該訂閱后,所有Meteor.user.services數據都將可用。
默認情況下, 服務密鑰不包含在客戶端的用戶文檔中,因為它包含安全性詳細信息。 您可以通過方法調用來獲取它,也可以從服務器專門發布它並進行訂閱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.