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