Facebook Meteor使用外部服务登录:如何获取个人资料信息?
我使用Accounts UI和Accounts-[Github/Twitter/Facebook/Google]软件包,允许使用外部服务登录 我使用Facebook Meteor使用外部服务登录:如何获取个人资料信息?,facebook,meteor,github,twitter,login,Facebook,Meteor,Github,Twitter,Login,我使用Accounts UI和Accounts-[Github/Twitter/Facebook/Google]软件包,允许使用外部服务登录 我使用requestPermissions修改了Accounts.ui.config,示例: Accounts.ui.config({ requestPermissions: { github: ['user'], facebook: ['user_photos'] } }); 但是当我使用Github登录时(例如),我只得到我的
requestPermissions
修改了Accounts.ui.config
,示例:
Accounts.ui.config({
requestPermissions: {
github: ['user'],
facebook: ['user_photos']
}
});
但是当我使用Github登录时(例如),我只得到我的Github的名称
其他外部服务也是如此
如何获取更多信息,如配置文件图片的url?您可以使用Accounts.onCreateUser(fn)方法自定义创建用户时存储的内容。以下是一些示例代码:
Accounts.onCreateUser(function (options, user) {
var accessToken = user.services.github.accessToken,
result,
profile;
result = Meteor.http.get("https://api.github.com/user", {
params: {
access_token: accessToken
}
});
if (result.error)
throw result.error;
profile = _.pick(result.data,
"login",
"name",
"avatar_url",
"url",
"company",
"blog",
"location",
"email",
"bio",
"html_url");
user.profile = profile;
return user;
});
您必须在回调函数中对服务进行额外调用,以获取任何其他属性。目前,据我所知,没有办法直接插入Meteor用来获取身份属性的方法。哇,这真的很有帮助,谢谢你,伙计。但是我想知道你是如何找到“user.services.github.accessToken”的东西的?我只是查看了创建的mongo文档。我不认为这是有文档记录的。另外,我在这里做了一个屏幕广播:这太好了,你会不会碰巧也知道Twitter会是什么样子?到目前为止,我一直试图把船靠岸,但没有用。(甚至有我自己的问题)