如何使用Python发送Microsoft Teams消息

每个工作都包含重复的任务。无论是支持代理分析频繁的帮助请求,团队领导监控绩效指标,还是软件工程师检查业务流程,这些任务经常会重复出现 – 每天、每周甚至每小时。感谢Python,你可以自动化大部分工作。它是一种多功能的语言,非常适合处理数据和编写自动化脚本任务。想象一下收集性能指标:手动操作时,你可能需要查看多个仪表板。使用Python脚本,你可以自动提取这些数据,突出重点,并将编译好的报告发送给你的上司。这不仅节省时间,还减少了错误的风险。在本教程中,我们将讨论运行Python代码以获取特定位置的天气预报,并将此预报的摘要发送到Microsoft Teams,即Microsoft的团队沟通平台的特定情况。我们将涵盖配置Teams webhook所需的所有步骤,以及利用webhook发送消息的Python程序,并设置一个计划,使Python脚本可以定期运行。这个具体的示例是关于报告天气预报,但是您当然可以将这个“业务逻辑”与您想要的任何内容进行替换;发送消息到Teams的所有配置和代码将保持完全相同。在本教程中,我们将使用DataCamp Workspace,因为它具有内置功能,可以安全地将秘密存储为环境变量(我们将使用此功能来存储Teams webhook),并且可以通过几次点击来安排Python代码的计划。要跟随本教程,您只需要一个Microsoft账户(用于发布消息)和一个DataCamp账户(用于使用DataCamp Workspace),这两个账户都可以免费创建!

您还可以查看我们关于如何使用Python发送Slack消息的独立指南。

让我们开始吧!

1. 配置 Microsoft Teams Webhook

在 Microsoft Teams 中,有团队,而团队中又有频道。可以向这些频道添加所谓的“应用程序”。您可以将 Teams 应用程序视为 MS Teams 的扩展或附加组件,用于特定目的。有一些应用程序可以将 Jira、Zendesk、Salesforce 和其他无数应用程序集成到 Teams 中,这样您就可以在 Teams 中收到有关发生的事情的通知,还可以在 Teams 中执行这些应用程序的操作。对于我们的小项目,我们需要安装其中一个应用程序,更具体地说,是由 Microsoft 自己维护的“传入 Webhook”应用程序。

首先,请确保您拥有一个具有访问Teams权限的Microsoft账户。确保您是一个团队的成员,并且具有在该团队的频道中添加应用程序的权限。如果不是,请联系您的IT部门并向他们发送此链接

接下来,转到您要发布消息的团队频道。在我们的示例中,这是“数据分析英雄”团队内的“常规”频道:

image14.png

这段文字的中文翻译如下:

点击频道名称旁边的加号符号;您将看到可以添加到频道的应用程序的概述:

image4.png

这段文字的中文翻译如下:

点击“获取更多应用”。您将进入一个完整的应用市场,可以将其添加到MS Teams中:

image15.png

这段文字的中文翻译如下:

在搜索框中输入“Incoming Webhook”。首先显示的应用程序就是我们需要的那个:

image10.png

这段文字的中文翻译如下:

点击“添加”,然后选择“添加到团队”。现在,您将被提示指定要发送消息的团队或频道:

image13.png

这段文字的中文翻译如下:

本教程的示例是“Data Analytics Heroes”团队中的“General”频道,但对于您来说可能会有所不同。接下来,点击“设置连接器”。又会出现一个屏幕,要求提供一些Webhook设置。

image3.png

这段文字的中文翻译如下:

为传入的Webhook指定一个名称;您的消息将以此名称发送,因此选择一个有意义的名称,例如“Python Messenger”。您还可以上传自定义图片,但这是可选的。最后,点击“创建”。出现一个Webhook URL!

image8.png

这段文字的中文翻译如下:

您将需要在Python程序中使用此Webhook URL,因此请确保将其复制到剪贴板并保存在某个地方(例如,您的笔记应用程序)以备将来使用。最后,点击“完成”。在出现的概述中,您将看到所选频道中所有连接器的概述。

image12.png

这段文字的中文翻译如下:

您可以直接关闭此屏幕。在您刚刚为传入的Webhook配置的频道中,您应该会看到一条相应的消息确认设置:

image2.png

这段文字的中文翻译如下:

就是这样!现在,您的Microsoft Teams频道已经准备好通过Webhook接收消息。

2. 使用Python编写业务逻辑

做得很好,你已经走到了这一步!在配置好Teams中的传入Webhook之后,现在是有趣的部分:编写Python代码。我们将从编写一些Python代码开始,以解决手头的任务。

如果你需要复习Python编程,我们的Python入门课程是一个理想的起点。

您可以选择从头开始创建一个空的工作区,如果您已经知道要自动化并与Microsoft Teams集成的Python程序。

如果你想了解这些概念,你可以从一个示例工作区开始,该工作区总结了一个你可以指定的城市的天气预报。每天都会有新的数据,所以这是一个非常适合日常报告的候选!点击下面的“打开工作区”按钮来创建这个工作区。

这段文字翻译成中文,不要去除视频和图片标签,保留代码块: ‘