前面我们讲到了申请微软开发者E5计划获取Office365订阅和OneDrive网盘,具体参见注册微软开发者E5计划,获得Office365订阅和Onedrive网盘空间

但是E5开发者计划订阅时长只有3个月,如何续期呢?到期前,如果微软检测到账号被用于开发,即 API 被频繁且无规律调用,即视为仍旧在开发,故将自动续期。那么我们只需要满足此条件即可,于是有许多类似的工具产品来做此事情。例如:

作为多年的mac用户,我当然还是走第二条路了。通过github的action定时调用api,达到保活,从而自动续期。

作者介绍文档:Office 365 E5 账号申请及永久续期教程

Github仓库:https://github.com/vcheckzen/KeepAliveE5 记得给大佬点个star

其文档还是很详细的,还有视频录像。但是我这边还是记录一下过程。

创建github私有仓库

在自己的github创建一个新的私有仓库点击Import a repository,并选择从以上仓库创建(因为直接fork是public权限,并且会导致被入侵成为肉鸡。故不要fork原始仓库):

image-20230531131643390

image-20230531131850407

创建Action调用的token

创建action可使用的秘钥,右上角点击头像,选择settings,拉到最下方选择Developer settings,选择Tokens(classic)。

也可以登陆后点击以下链接直接进入设置页面 New personal access token (classic)

image-20230531132254281

点击下方的Generate token按钮生成token,完成后复制token保存下来(只会显示这一次,请保存好,遗忘后删除重新创建)

image-20230531132435587

设置Action所需要的Secert参数

在设置中添加3个Secert用于给action使用的参数,点击工程Settings>Secerts and variables>actions,填入3个参数 PAT,USER,PASSWD

参数名 描述
PAT Github 个人访问密钥,需要具有 workflow 权限(前面步骤保存下来的token)
USER E5 管理员邮箱(支持多个,每行一个,不要填写子号)
PASSWD E5 管理员密码(支持多个,每行一个,顺序必须和邮箱一致)

image-20230531132950774

关闭E5安全管理员账号两步认证

现在按照 链接 说明,关闭 E5 管理员账号的 两步验证(多因素认证、安全默认值)若不关闭可能出现运行失败的情况

执行Action构建

现在转到 Action 面板,在 All workflows 下找到 Register APP,手动触发它完成注册流程,2 分钟左右。如果确认一切操作正确仍然 Register 失败,可等待 10-30min 后再操作,因为关闭安全默认值后,微软系统要过一段时间才会刷新。

image-20230531133306389

如果 Action 面板找不到 Register APP,则修改 .github/workflows 目录下的两个文件,随便添加一行注释保存(输入#为注释),详细过程如下图。如果 Action 面板不显示,则到仓库的 Settings -> Actions -> Actions permissions 勾选 Allow all actions 后保存,

image-20230531133345695

image-20230531133434089

image-20230531133507818

如果应用注册成功,再找到 Invoke API 手动触发它看能否成功调用 API。如无错误,任务会每4小时定时执行(默认情况下),基本可保证续订成功。

image-20230531133950453

运行成功如下图:

注册应用成功

image-20230531133719083

调用api成功

image-20230531133801438