2
在我從我的項目meteor remove autopublish
, 中刪除自動發佈軟件包之前,我能夠讀取登錄用戶正在使用的oAuth服務,例如, var facebookSignIn = Meteor.user().services.facebook;
或
刪除自動發佈後,如何讀取Meter.user()。服務?
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
和Meteor.user().services.google
現在我已經刪除了包自動發佈?
在瀏覽器控制檯(main.js:1140),出現此錯誤消息:
Uncaught TypeError: Cannot read property 'facebook' of undefined
在main.js代碼:1140:
var facebookSignIn = Meteor.user().services.facebook;
您是否已經在服務器上發佈了Meteor.users? '''Meteor.publish(「userPublication」,函數publishFunction(){ return Meteor.users.find(); });'''' – blueren
@blueren謝謝我遵循你的建議並在服務器上發佈它,它工作! – SirBT
很高興知道。我只是把它作爲你的問題的答案。 – blueren