Slack API 中文版


其他链接: python获取slack频道中的用户信息
其他链接: python发送消息到slack频道

一、什么是Slack?

Slack 是聊天群组 + 大规模工具集成 + 文件整合 + 统一搜索。截至2014年底,Slack 已经整合了电子邮件、短信、Google Drives、Twitter、Trello、Asana、GitHub 等 65 种工具和服务,可以把各种碎片化的企业沟通和协作集中到一起。
Slack有免费、付费和增值三种模式,企业用户的订阅费用是主要收入来源,免费模式下用户能够搜索数据没有付费模式多。
开放性集成功能将为Slack带来了更多合作机会,也会为Slack带来了更多的可能性。
以上均来自百度百科信息。
我自己的理解是Slack是一个PaaS端的即时通讯软件,并且该软件有超强的开放性集成功能,它之所以如此受国外企业欢迎,也正是因为如此。你可以把它当作一个聊天软件、告警信息通知平台、文件管理平台、搜索平台等,Slack集成了这么多功能不可避免的带来的是整体庞大,文档繁杂的诟病,想要全部了解Slack 需要下苦功夫才行。但更能可贵的是我们可以不用关注Slack是什么,只使用这个庞大系统中的某一块功能来完成我们的需求。这不正好印证了Slack的含义 :松弛。

二、什么是Slack API?

Slack 对外部提供了一些调用方法,可以通过外部程序调用这些方法,来实现特定的效果。
在Slack软件中90%的人工操作均可以使用Slack 提供的API来通过程序(java,python,js)来实现。
如果您有过JAVA开发经历,可以理解为Slack API 是Slack 对外提供的接口方法。
Slack 中查看各种信息
Slack API chat.postMessage介绍
Slack API users.list介绍

三、如何使用Slack API 发送消息?

最普遍的场景就是客户使用的Slack,但是您的产品中的某些信息(例如:告警、通知类消息)又不能做到直接通知客户(因为客户也不可能每时每刻关注您的产品中的信息),所以客户要求在产品中产生新的信息时,将此次信息发送至Slack并@对应的人,告诉他:喂,你有新的消息来了。
这样客户在Slack手机端或者电脑端就能知道实时情况了。

1.快速上手(保姆教学)

既然您想对Slack发送消息,那么肯定需要一个Slack 的用户或者channel或者工作区来接受这条消息,如果您已经有了该信息请跳过1.1步骤。
拥有了用户或者channel后思考,怎么才能给这个用户或者channel发送消息呢?以什么角色发送消息呢?总不能调用Slack API接口后 看不到发送信息的人是谁吧?不用担心,Slack 提供了一个机器人的角色,我们可以通过它来发送消息,请移步1.2步骤。

1.1 创建Slack 工作区、channel、用户

链接: 创建工作区、channel、用户
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

此时我们的工作区、channel、用户都已经创建完成了。

1.2 创建Slack 机器人并将其添加到测试频道中

链接: 创建机器人APP
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

此时我们已经创建好了Slack 机器人,它叫做MyFirstBot,拥有向channel中发送信息的权限。
现在我们要将这个机器人加入之前创建的测试频道中:

在这里插入图片描述

![](https://img-blog.csdnimg.cn/10f62a5b444d4b94b40fceb82442d8ba.png在这里插入图片描述

![在这里插入图片描述](https://img-blog.csdnimg.cn/f3aefb03bbf646e18d96f3ed103cab8b.png

在这里插入图片描述
在这里插入图片描述
此时我们已经完成了创建机器人,并且将机器人绑定到一个频道中。

1.3 python 调用 Slack API 通过机器人向channel发送消息

Slack API支持多种方式调用,python、js、http、java。本次使用python。
频道ID在这里获取
在这里插入图片描述

import json
import requests

def sendMessage2Slack(token,channel,message):

    payload = {
    
    "text": message,"channel": channel}
    data = json.dumps(payload).encode("utf8")
    url = 'https://slack.com/api/chat.postMessage'
    header = {
    
    "Content-Type": "application/json; charset=utf-8", "Authorization": "Bearer " + token}
    response = requests.post(url, data=data, headers=header)
    print(response.text)


if __name__ == "__main__":
    token ="xoxb-*************-************-***************8***" #Bot的Token
    channel = 'C0********' #频道ID
    message = "Hello world ! " #发送的消息
    sendMessage2Slack(token, channel, message)

运行pthon后,就可以在频道内看到Bot发送的消息了。
在这里插入图片描述
此时我们已经完成了一个非常简单的使用python 向slack 的channel发送消息的功能。
Slack API 还有好多奇妙之处等待您的发现,我也会持续更新我所学习到的Slack API知识,有疑问或者不当之处,请毫无保留的像我提出。

猜你喜欢

转载自blog.csdn.net/weixin_43807520/article/details/128727253