我正在尝试使用 Slack 的users.info
API 来检索用户信息,但我需要通过电子邮件查找用户,有没有办法做到这一点?
7 回答
是的!
https://slack.com/api/users.lookupByEmail
如果电子邮件 ID 可用,我们可以使用它找到用户。
目前您只能users.info
通过 ID 查找用户。
您的问题的另一种解决方案是调用users.list并在您的客户端中按profile.email
您要查找的任何电子邮件进行过滤。
未记录的 API 可以完成这项工作: https ://slack.com/api/auth.findUser?team= &email=&token=xoxp-XXXXXXXXX
您应该使用此范围users:read.email,users:read不再是电子邮件字段的足够范围。
检查此以获取更多信息:https ://api.slack.com/scopes/users:read.email
这对我有用!
这对我很有用。我的设置:我是企业的一部分,因此legacy token
没有users:read.email
范围。
解决方案:我创建了一个应用程序,其中包含users:read.email
所需的范围和其他范围。从我的管理员那里获得应用程序的批准,将应用程序安装到我的工作区,检索 OAuth 令牌,将其与https://slack.com/api/users.lookupByEmail
.
您可以从主调用方法获取带有 message.user 的用户 ID
getUsername(userID).then((output) => { username = output.user.name });
function getUsername(userid){
return new Promise((resolve, reject) => {
//get token from https://api.slack.com/methods/users.info
options.uri = "https://slack.com/api/users.info?token=********&userid=" +userid+ "&pretty=";
rp(options).then(function (body) {
resolve(body);
console.log('Retrieved Info slack --- ' + JSON.stringify(body));
})
.catch(function (err) {
resolve(err);
console.log('aborted - slack ' + JSON.stringify(err));
});
});
}
参考链接:https ://github.com/hassifow/Slack.API-User.info/blob/master/LambdaFunction.js