在我从项目onStop()
中删除autopublish包之前,
我能够读入登录用户正在使用的oAuth服务,例如
meteor remove autopublish
或
var facebookSignIn = Meteor.user().services.facebook;
这一点很重要,因为我会使用此var googleSignIn = Meteor.user().services.google;
或googleSignIn
信息来确定如何保存登录用户的个人详细信息,例如:姓名,电子邮件和个人资料图片。
在代码中:
facebookSignIn
如果我删除了自动发布包,如何检索var facebookSignIn = Meteor.user().services.facebook;
var googleSignIn = Meteor.user().services.google;
var ownderId = Meteor.user()._id;
if (facebookSignIn) {
console.log("Its a Facebook Account Sign in!");
var userName = Meteor.user().services.facebook.name;
var emailAdress = Meteor.user().services.facebook.email;
var facebookProfilePic = "http://graph.facebook.com/" + user.services.facebook.id + "/picture/?type=large";
}
else if (googleSignIn) {
console.log("Its a Google Account Sign in!");
var userName = Meteor.user().services.google.name;
var emailAdress = Meteor.user().services.google.email;
var googleProfilePic = Meteor.user().services.google.picture;
}
else {
console.log("Your not Signed in!");
}
和Meteor.user().services.facebook
?
在浏览器控制台(main.js:1140)中,将显示以下错误消息:
Meteor.user().services.google
main.js:1140上的代码是:
Uncaught TypeError: Cannot read property 'facebook' of undefined
答案 0 :(得分:1)
您必须先从服务器发布该集合,以便在客户端中提供该集合(而该集合必须订阅已发布的集合)
Meteor.publish("userPublication", function publishFunction(){
return Meteor.users.find(); })