web-dev-qa-db-fra.com

Comment obtenir un utilisateur paresseux par courrier électronique en utilisant l’API users.info?

J'essaie d'utiliser l'API users.info de Slack pour récupérer les informations des utilisateurs, mais je dois rechercher des utilisateurs par courrier électronique. Y a-t-il un moyen de le faire?

15
Allan de Queiroz

Actuellement, vous ne pouvez rechercher que les utilisateurs avec users.info par leur ID. 

Une solution alternative à votre problème consisterait à appeler users.list et à filtrer votre client au moyen du profile.email pour le courrier électronique que vous recherchez.

14
seanrose

Oui!

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

En utilisant cela, nous pouvons trouver un utilisateur si l'identifiant de messagerie est disponible.

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

11
Shree Harsha S

Une API non documentée peut effectuer ce travail: https://slack.com/api/auth.findUser?team= & email = & token = xoxp-XXXXXXXXX

3
sai.xu

Si cela est fait pour le compte d'une commande slack slash, on peut configurer la commande pour développer @username, #channels, etc ...

Cela peut être fait sous la section de commande de l'application Slack. Voir la capture d'écran suivante:

 Slack app config: expand usernames and channels

0
sshaw

Vous devez utiliser cette étendue users: read.email , le users: read n’est plus une étendue suffisante pour le champ de courrier électronique.

Cochez cette case pour obtenir plus d'informations: https://api.slack.com/scopes/users:read.email

Cela a fonctionné pour moi comme voulu!

0
safimed

vous pouvez obtenir l'ID utilisateur avec message.user depuis la méthode d'appel principale

 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));
       });
   });
}

lien de référence: https://github.com/hassifow/Slack.API-User.info/blob/master/LambdaFunction.js

0
HariKishore