使用Github的Action调用Azure Api达到微软E5开发者计划自动续期
前面我们讲到了申请微软开发者E5计划获取Office365订阅和OneDrive网盘,具体参见注册微软开发者E5计划,获得Office365订阅和Onedrive网盘空间
但是E5开发者计划订阅时长只有3个月,如何续期呢?到期前,如果微软检测到账号被用于开发,即 API 被频繁且无规律调用
,即视为仍旧在开发,故将自动续期。那么我们只需要满足此条件即可,于是有许多类似的工具产品来做此事情。例如:
- Microsoft 365 E5 Renew Plus windows应用软件
- 各类自动调用api开源程序等
作为多年的mac用户,我当然还是走第二条路了。通过github的action定时调用api,达到保活,从而自动续期。
作者介绍文档:Office 365 E5 账号申请及永久续期教程
Github仓库:https://github.com/vcheckzen/KeepAliveE5 记得给大佬点个star
其文档还是很详细的,还有视频录像。但是我这边还是记录一下过程。
创建github私有仓库
在自己的github创建一个新的私有仓库点击Import a repository,并选择从以上仓库创建(因为直接fork是public权限,并且会导致被入侵成为肉鸡。故不要fork原始仓库):
创建Action调用的token
创建action可使用的秘钥,右上角点击头像,选择settings,拉到最下方选择Developer settings,选择Tokens(classic)。
也可以登陆后点击以下链接直接进入设置页面 New personal access token (classic)
点击下方的Generate token按钮生成token,完成后复制token保存下来(只会显示这一次,请保存好,遗忘后删除重新创建)
设置Action所需要的Secert参数
在设置中添加3个Secert用于给action使用的参数,点击工程Settings>Secerts and variables>actions,填入3个参数 PAT,USER,PASSWD
参数名 | 描述 |
---|---|
PAT | Github 个人访问密钥,需要具有 workflow 权限(前面步骤保存下来的token) |
USER | E5 管理员邮箱(支持多个,每行一个,不要填写子号) |
PASSWD | E5 管理员密码(支持多个,每行一个,顺序必须和邮箱一致) |
关闭E5安全管理员账号两步认证
现在按照 链接 说明,关闭 E5 管理员账号的 两步验证(多因素认证、安全默认值)
。若不关闭可能出现运行失败的情况
执行Action构建
现在转到 Action
面板,在 All workflows
下找到 Register APP
,手动触发它完成注册流程,2 分钟左右。如果确认一切操作正确仍然 Register
失败,可等待 10-30min 后再操作,因为关闭安全默认值后,微软系统要过一段时间才会刷新。
如果 Action
面板找不到 Register APP
,则修改 .github/workflows
目录下的两个文件,随便添加一行注释保存(输入#为注释),详细过程如下图。如果 Action
面板不显示,则到仓库的 Settings -> Actions -> Actions permissions
勾选 Allow all actions
后保存,
如果应用注册成功,再找到 Invoke API
手动触发它看能否成功调用 API。如无错误,任务会每4小时定时执行(默认情况下),基本可保证续订成功。
运行成功如下图: