簡體   English   中英

TypeError:Meteor.user(...)。services未定義

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM