我希望能够在安装应用程序时向用户发送直接消息,但我似乎无法找到告诉用户的方法。查看Slack的OAuth文档,这些信息似乎根本不包含在内,只包含团队名称及其ID。关于如何获得个人用户的任何想法?
以下是相关文档:https://api.slack.com/docs/oauth。
谢谢!
答案 0 :(得分:7)
您可以使用access token
调用auth.test方法。安装了您的应用的用户的user_id
将出现在响应中:
{"ok": true,
"url": "https:\/\/myteam.slack.com\/",
"team": "My Team",
"user": "cal",
"team_id": "T12345",
"user_id": "U12345"}
然后,您可以使用user_id
作为chat.postMessage功能中的频道参数向该用户发送消息。
这将通过Slackbot或作为您应用程序一部分的僵尸用户向用户发送直接消息。
答案 1 :(得分:1)
使用oauth.v2.access API调用交换临时代码以访问令牌时,响应json中有authed_user
字段。该字段包含安装应用程序的用户的用户ID。使用此用户ID,您可以为用户打开直接消息通道,并在其中发送消息。