Microsoft Graph api- python中的一个实践示例
#python #云 #microsoftgraph

没有什么比更改那样稳定。”遵循此主题,微软计划在2023年停止Azure AD图,并引入了新事物:Microsoft Graph。它不仅会替换以前的API,而且还可以通过新功能来增强它。与众不同。从与Azure AD图进行交互,新的API也可以与Microsoft 365产品进行通信。如果您希望成功运行的管道运行以在Microsoft Teams频道中发布消息,那么Microsoft Graph可以执行此操作。如果应用程序需要将电子邮件发送到用户,Microsoft Graph也可以处理。

简单地说,Microsoft Graph是一个REST-API,充当通往众多服务Microsoft365优惠的网关[1]。

在您的环境中使用Microsoft图

首先,您需要Microsoft 365的主动订阅。实际计划并不重要,因为即使是基本层也足够了。如果您想首先查看API的功能,请查看Microsoft Graph Explorer。 (https://developer.microsoft.com/en-us/graph/graph-explorer)。

MS Graph Explorer

编写我们自己的应用程序

如果要创建自己的应用程序,让我们开始。让我们考虑一个监视库存库存的应用程序。一旦股票低于一定数量,应将电子邮件发送给订单团队。

假设我们需要一个监视库存库存的应用程序。

一旦股票低于一定数量,应将电子邮件发送给订单团队。
我们将专注于以下内容:
•在Azure AD中注册申请
•在Python中设置图形客户端
•发送电子邮件

下面的图像可视化我们要实现的目标。

Script overview

监控股票在本文中未涵盖。

Azuread注册

Azuread中有两种类型的权限:

  • 委派的permissons
  • 应用程序权限

在委派的权限下,应用程序像Graph Explorer一样充当登录的用户。另一方面,应用程序权限允许应用程序充当自己的实体,而不是代表用户。缺点是,对于此类许可,您需要行政权利。
在对Azure权限类型的简短说明之后,我们从Azuread注册申请开始。

  1. 转到portal.azure.com并使用您的凭据登录
  2. 单击Azure Active Directory
  3. 从左侧选择应用程序注册
  4. 单击新注册,然后从下面复制配置

App Registration Example

可以根据您的需求调整支持的帐户类型。

  • 单击新创建的应用程序注册
  • 从右侧的菜单中选择身份验证
  • 添加类型移动和桌面应用程序的新身份验证

对于我们的示例工作,请输入以下配置:

Example Config

  • 将滑块切换以允许公共客户流到位置上并保存
  • 从菜单中选择证书和秘密
  • 添加一个新客户秘密,并记住保存它,因为它仅显示一次
  • 转到API权限并选择如下所示的权限

Permissions in Azure

就是这样,在Azure门户中的应用程序的配置已完成。

保存以下值的以下值:

  • 客户ID
  • 客户秘密
  • 房客ID
  • 实施

为了简单起见,我使用了Python。 Microsoft为C#JavaGoPHP等不同语言提供SDK。尽管如此,所有必要的就是实施HTTP-calls。如果您的特定语言没有SDK,那么您只会失去一些舒适感。

让我们看看源代码:

Python Code

msgraphazure使实现Microsoft Graph API客户端相对简单。首先,创建了图形,然后对用户列表查询API。然后,我们称为“ send_mail”函数,该功能将图形和用户列表作为输入。它代表列表中的第一个用户使用其Outlook帐户在关键字“ Torecipents”中列出的收件人发送了带有一些示例文本的电子邮件。如果您想知道确切的机制,请参阅Microsoft的文档[4]。

邮件不仅限于纯文本,也可以通过呼叫将附件发送到URL

/users/{id | userPrincipalName}/mailFolders/{id}/messages/{id}/attachments

上述呼叫API的结果如下:

Email result

结论

图形API是Microsoft提供的服务的强大门户。可以想象到许多应用程序,例如管道上的状态更新通过团队运行,示例中的电子邮件通知或Azure AD中的用户管理。

来源

  1. MS Graph Overview
  2. MS Outlook Graph API
  3. Mail API overview
  4. MS Graph example queries
  5. Permission overview