Как получить слабых пользователей по электронной почте с помощью API users.info?

Я пытаюсь использовать Slack users.info API для получения информации о пользователях, но мне нужно найти пользователей по электронной почте, есть ли способ сделать это?

Ответ 1

В настоящее время вы можете искать пользователей users.info только по их идентификатору.

Альтернативным решением вашей проблемы будет вызов users.list и фильтрация внутри вашего клиента с помощью profile.email для того, искать.

Ответ 2

Да!

https://slack.com/api/users.lookupByEmail

Используя это, мы можем найти пользователя, если доступен идентификатор электронной почты.

Подробнее: https://api.slack.com/methods/users.lookupByEmail

Ответ 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. См. Следующий снимок экрана:

Slack app config: expand usernames and channels

Ответ 6

Вы должны использовать эту область : users: read.email, users: read больше не является достаточной областью для поля электронной почты.

Проверьте это, чтобы получить больше информации: https://api.slack.com/scopes/users:read.email

Это сработало для меня, как хотел!