如何将slack用户与github帐户链接?

问题描述 投票:0回答:1

我正在创建一个松散的机器人,并希望能够将松弛用户与github帐户链接起来。

有没有办法可以通过slack或github API链接2?

我在想是否存储用户在JSON对象中使用了用户名和github用户名,即:

{
    "slack_username": "JoeBlogs",
    "github_username": "JoeBlogs123"
}

为了做到这一点,我需要在用户授权app / bot时从slack API检索用户的用户名。

我在想如果我将redirect_url添加到我的松弛应用程序然后它将用户重定向到http://example.com/redirect如果用户数据被发送到此重定向URL,我将能够将其保存在各种类型的数据库中。

如果我然后使用github API执行相同操作,那么我可以引用数据库以便找到松散的用户JoeBlogs github帐户,反之亦然。

有可能像这样使用redirect_url吗?我看不到任何用户数据被发送到但是它可能嵌套在我无法看到的地方?

有没有更好的方法来链接这两个帐户?

oauth-2.0 github-api slack slack-api
1个回答
0
投票

假设您使用安装按钮将Slack应用程序安装到工作区中,这是一个有效负载,将发送到您的response_url

{
    "access_token": "xoxp-XXXXXXXX-XXXXXXXX-XXXXX",
    "scope": "incoming-webhook,commands,bot",
    "team_name": "Team Installing Your Hook",
    "team_id": "XXXXXXXXXX",
    "incoming_webhook": {
        "url": "https://hooks.slack.com/TXXXXX/BXXXXX/XXXXXXXXXX",
        "channel": "#channel-it-will-post-to",
        "configuration_url": "https://teamname.slack.com/services/BXXXXX"
    },
    "bot":{
        "bot_user_id":"UTTTTTTTTTTR",
        "bot_access_token":"xoxb-XXXXXXXXXXXX-TTTTTTTTTTTTTT"
    }
}

See for details.

然后,使用access_token结合users.identity API方法,您将获得有关Slack用户的基本信息(使用您在安装过程中请求的范围,您可以获得Slack用户身份的不同字段)。

© www.soinside.com 2019 - 2024. All rights reserved.