Skip to content

Github Actions 自动调用 Microsoft Graph REST API

License

Notifications You must be signed in to change notification settings

whosydd/office-e5

Repository files navigation

office e5

参考:

前提:

加入 Microsoft 365 开发人员计划:戳这里

配置:

Microsoft Azure 相关配置 戳这里

环境变量:

将以下环境变量添加到 repo 的secret

  • USER_ID:用户 ID(概述里查看)
  • TENANT:目录(租户) ID
  • CLIENT_ID:应用程序(客户端) ID
  • CLIENT_SECRET:客户端密码
  • SEND_MAIL_ADDRESS 收件人邮箱(执行脚本2时会向该邮箱发送邮件)

Screenshot of Actions secrets

标题可以直接在 actions 的env中配置

  • DRAFT_MAIL_TITLE:草稿:标题
  • SEND_MAIL_TITLE:发送:标题

REST 测试:

项目根目录提供test.http用于进行本地测试,该文件提供 mail 相关的部分 api

如果需要测试接口,请在项目根目录创建.env文件,并配置环境变量

运行:

脚本 1:

yarn start

调用接口:

  • 读取草稿箱中的邮件
  • 当草稿数量小于5,会自动创建草稿
  • 读取已删除邮件中的邮件
  • 当草稿数量大于等于5,会将所有草稿移动到已删除邮件
  • 已删除邮件中邮件数量大于等于10,会将该文件夹中所有邮件删除

脚本 2:

yarn run send

调用接口:

  • 发送邮件

可在控制台查看相关 log

配置邮件内容:

邮件内容可以在src/config中修改draft.htmlsend.html

邮件的标题和收件人信息需要在环境变量中配置

PS:

戳这里查看官方 SDK

  • 由于对Microsoft Graph JavaScript SDK还不熟悉,所以此项目目前还只是简单的使用axios发送请求,目前正在学习golang,之后可能会使用 GO 语言重构代码,先立个 flag 吧~

  • 由于本项目比较折腾,所以主要目的还是为了学习~

  • 我写的代码比较屎,欢迎 pr~