【问题标题】:How to get user facebook id in a publish (server-side) Meteor如何在发布(服务器端)流星中获取用户 facebook id
【发布时间】:2013-10-25 17:10:31
【问题描述】:

我有一个 facebook 请求对话框,用于邀请朋友加入我的应用程序,当然我会收到带有受邀用户 ID 的响应,然后我将其存储在用户文档下名为“Groups”的集合中:所以它看起来像这样:

{ "creator" : "qzD5X33Jejq5BYRdZ", "name" : "Soccer", "emailAt" : 4, "date" : "10/31/2013", "friends" : [  "dude dude",  "another dude" ], "location" : "xxx", "rules" : "Soccer", "desc" : "Soccer", "users" : [  "100006794617787",  "100006832923859" ], "_id" : "ZMgzuy88EiSWF6xnS" }

在我的发布功能上,我只希望创建者和用户拥有这个组,我知道要访问用户集合我需要使用this.user,在客户端上我使用Meteor.user() 所以我尝试了这个:

Meteor.publish("Teams",function(){
    return Groups.find({creator:this.userId},{users:this.user.services.facebook.id},{fields:{
        date:false,
        desc:false,
        rules:false,
        friends:false,
        location:false,
        emailAt:false
    }});
});

但是您可以猜到这不起作用,有什么建议可以使它起作用吗? 注意:我只使用 facebook 登录,所以使用 facebook id 非常方便。

【问题讨论】:

    标签: facebook meteor publish-subscribe


    【解决方案1】:

    我不确定你是否可以打电话给this.user(我想)。您需要解决它,所以不要使用this.user 而是使用user 并解决它:

    var user = Meteor.users.findOne({_id: this.userId});
    

    另一个是一个小错字:):

    return Groups.find({creator:this.userId, users:user.services.facebook.id}...
    

    而不是

    return Groups.find({creator:this.userId}, {users:this.user.services.facebook.id}...
    

    【讨论】:

    • 试过了,不行,我想我不能调用服务......在发布功能中,可以吗?
    • 是的,我收到一个错误:“无法读取未定义 I2048-22:50:04.807(3) 的属性'服务'?在 Meteor.publish.Groups.find.creator [as _handler] (app /server/publishes/main.js:16:57)"
    • 您是否也将this.user 更改为user,如上所示,需要将其解析为有效用户? services 属性应该在服务器上的任何位置都可用
    • 是的,我已经更改了,这是我的完整代码: var user = Meteor.users.findOne({_id:this.userId}); //对于主页 Meteor.publish("Teams",function(){ return Groups.find({creator:this.userId},{users:user.services.facebook.id}, {fields:{ date:false, desc:false, rules:false, friends:false, location:false, emailAt:false }}); });
    • var user 解析器必须在发布方法中,因此每个用户在获取组列表时都有自己的变量实例
    猜你喜欢
    • 2020-12-19
    • 2015-04-18
    • 2019-10-26
    • 1970-01-01
    • 2015-08-07
    • 2023-04-04
    • 2014-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多