5

クライアント上のユーザーのドキュメントに保存されている Facebook accessToken が必要です。meteor documentationに従って、新しい発行呼び出しを追加するだけです。

server.js で:

Meteor.publish("access_token", function () {
  return Meteor.users().find(
    { _id : Meteor.userId() }, 
    {'services.facebook.accessToken': 1}
  );
});

client.js で:

Meteor.subscribe("access_token");

わかりました、ここで迷子になります。ログインしているユーザーに対して、accessToken が Meteor.users コレクションに表示されますか? お気に入り:

var user = Meteor.users.findOne({ _id : Meteor.userId() }); 
console.log(user); // includes services.facebook.accessToken now

明らかに、私は上記を試しましたが、accessToken は表示されません。はい、mongo ドキュメントに services.facebook が含まれていることを確認しました。

では、新しいクライアント コレクションを作成し、何らかの形で新しいパブリッシュに接続しますか? accessToken を取得するにはどうすればよいですか?

4

2 に答える 2

9

「フィールド」キーワードを使用する必要があります

Meteor.users.find({ _id: this.userId },
    { fields: { the-extra-fields-that-you-want-go-here: 1 } }
);

http://docs.meteor.com/#fieldspecifiers

于 2012-10-23T04:36:40.320 に答える
4

必要なフィールドを公開できます。

Meteor.publish( null, function() {
  Meteor.users.find({}, {fields: {profile: 1, username: 1, ...}})
}
于 2012-10-23T04:52:02.953 に答える