Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TypeError:Meteor.user(…)。服务未定义_Javascript_Meteor - Fatal编程技术网

Javascript TypeError:Meteor.user(…)。服务未定义

Javascript TypeError:Meteor.user(…)。服务未定义,javascript,meteor,Javascript,Meteor,我正在尝试获取Meteor用户的Facebook ID(通过Facebook登录)。下面这句话给我带来了麻烦: var userID = Meteor.user().services.facebook.id; 控制台上写着 TypeError: Meteor.user(...).services is undefined 据我所知,这是因为user()服务尚未初始化。我将代码包装在if(Meteor.user())中,以确认用户已初始化。该代码在按下按钮时执行,因此它肯定有足够的时间启动。这

我正在尝试获取Meteor用户的Facebook ID(通过Facebook登录)。下面这句话给我带来了麻烦:

var userID = Meteor.user().services.facebook.id;
控制台上写着

TypeError: Meteor.user(...).services is undefined

据我所知,这是因为user()服务尚未初始化。我将代码包装在if(Meteor.user())中,以确认用户已初始化。该代码在按下按钮时执行,因此它肯定有足够的时间启动。这是在我删除autopublish时开始发生的(尽管这可能与此无关)。如果不自动发布,我还需要做些什么才能使其正常工作?

客户端上的用户文档中默认不包括服务密钥,因为它包含安全详细信息。您可以通过方法调用获取它,或者专门从服务器发布并订阅它。

默认情况下,客户端上的用户文档中不包括服务密钥,因为它包含安全详细信息。您可以通过方法调用获取它,或者专门从服务器发布并订阅它。

通过以下方法解决了此问题:

Meteor.publish("getUserData", function () {
    return Meteor.users.find({_id: this.userId});
});

并签署了该协议。订阅完成后,所有Meteor.user.services数据都可用。

用以下方法解决了此问题:

Meteor.publish("getUserData", function () {
    return Meteor.users.find({_id: this.userId});
});

并签署了该协议。订阅完成后,所有Meteor.user.services数据都可用。

我将使用哪种方法调用来获取它?创建一个返回所需密钥的服务器方法,然后使用
Meteor.call()从客户端调用它。
我如何在meteorjs之外获取它?通过nodeJSIt将是对db.users集合的mongodb查询。我将使用什么样的方法调用来获取它?创建一个返回所需密钥的服务器方法,然后使用
Meteor.call()从客户端调用它。
我如何在meteorjs之外获取它?就像通过nodeJSIt一样,这将是对db.users集合的mongodb查询。我只想指出,从安全角度来看,这是非常危险的。您已经创建了一个发布,允许任何用户(即使是未登录的用户)为任何用户访问整个用户对象。只想指出,从安全角度来看,这是非常危险的。您已经创建了一个发布,允许任何用户(即使是未登录的用户)为任何用户访问整个用户对象。