Я пытаюсь использовать Slack users.info
API для получения информации о пользователях, но мне нужно найти пользователей по электронной почте, есть ли способ сделать это?
Как получить слабых пользователей по электронной почте с помощью API users.info?
Ответ 1
В настоящее время вы можете искать пользователей users.info
только по их идентификатору.
Альтернативным решением вашей проблемы будет вызов users.list и фильтрация внутри вашего клиента с помощью profile.email
для того, искать.
Ответ 2
Да!
https://slack.com/api/users.lookupByEmail
Используя это, мы можем найти пользователя, если доступен идентификатор электронной почты.
Подробнее: https://api.slack.com/methods/users.lookupByEmail
Ответ 3
Недокументированный API может выполнять эту работу: https://slack.com/api/auth.findUser?team= & email = & token = xoxp-XXXXXXXXX
Ответ 4
вы можете получить идентификатор пользователя с помощью message.user из основного метода вызова
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
Ответ 5
Если это делается от имени команды Слак слэш, можно настроить команду, чтобы расширить @username
, #channels
и т.д...
Это можно сделать в разделе команд приложения Slack. См. Следующий снимок экрана:
Ответ 6
Вы должны использовать эту область : users: read.email, users: read больше не является достаточной областью для поля электронной почты.
Проверьте это, чтобы получить больше информации: https://api.slack.com/scopes/users:read.email
Это сработало для меня, как хотел!