我正在创建一个Slack机器人,希望能够将Slack用户与github帐户相关联。
有没有一种方法可以通过slack或github API链接两个?
我正在考虑是否在JSON对象(即:
)中存储用户的松弛用户名和github用户名。{
"slack_username": "JoeBlogs",
"github_username": "JoeBlogs123"
}
为此,我需要在用户授权应用程序/机器人时从slack API中检索用户的用户名。
我在想,如果我将一个redirect_url
添加到我的Slack应用中,那么如果将用户数据发送到此重定向网址,它将把用户重定向到http://example.com/redirect
,我可以将其保存在各种数据库。
如果我随后对github API进行了同样的操作,那么我可以引用数据库以找到松弛的用户JoeBlogs
github帐户,反之亦然。
是否可以像这样使用redirect_url
?我看不到任何要发送到的用户数据,但也许它嵌套在我看不到的地方?
是否有更好的方式关联两个帐户?
答案 0 :(得分: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"
}
}
然后,将access_token
与users.identity API方法结合使用,您将获得有关Slack用户的基本信息(使用在安装过程中请求的范围,您可以获得不同的Slack用户身份字段)