利用Github Action刷Microsoft 365 E5开发者订阅API实现续订
准备工作
1)E5管理账号
2)Github账号(不建议用常用账号)
3)记事本(用于记录ID密码!)
开源项目
https://github.com/wangziyingwen/AutoApiSecret
项目说明中有完整的教程!博主按照教程撸了一遍!然后补全图片和完善文案!
操作步骤
申请试用
移步文章:免费申请Microsoft 365 E5开发者试用订阅教程
获取Token
这里介绍完全自己!
1)前往 https://portal.azure.com/ 登陆E5管理账号注册应用。
首页找到【Azure Active Directory】(如果没有可以搜索)然后点击【应用注册】-> 【+新注册】!
2)【名称】 随便填写,受支持的账户类型 选择【任何组织目录(任何 Azure AD 目录 – 多租户)中的帐户】
【重定向URI】填写:http://localhost:53682/
然后点击【注册】
3)注册成功后,将【应用程序(客户端)ID】记录下来,后面会用到!
4)点击左侧菜单【API权限】-> 【添加权限】 -> 【Microsoft Graph】-> 选中【委托的权限】
以下权限分别搜索勾选!勾选完点击按钮【添加权限】
Files.Read.All Files.ReadWrite.All
Sites.Read.All Sites.ReadWrite.All
User.Read.All User.ReadWrite.All
Directory.Read.All Directory.ReadWrite.All
Mail.Read Mail.ReadWrite
MailboxSettings.Read MailboxSettings.ReadWrite
5)在API权限页面,如果界面上有【代表xxx授予管理员同意】按钮,一定要点一下,然后同意授权!
如果没有这个按钮,就不用管了!
6)点击左侧菜单【证书和密码】-> 【+新客户端密码】
【说明】随便填,【截止期限】随便选!点击【添加】按钮。
然后页面下方可见新建的密码,然后将【值】复制记录下来!后面会用到!
7)我们利用rclone来获取Token!
下载rclone(【rclone下载地址1】【rclone下载地址2】)到电脑某个盘符下,在rclone.exe同目录中,按Shift+鼠标右键,选择在【此处打开cmd窗口】或【在此处打开power shell窗口】
然后在弹出执行命令!
./rclone authorize "onedrive" "应用程序(客户端)ID" "应用程序密码"
本文演示的ID和密码!
./rclone authorize "onedrive" "c33b7c34-2d87-4b89-89f0-469d6e78a55e" "P~0zNhn1e._BD.6~xxxxxxx~Ced9JR3"
执行命令后弹出网页登陆E5管理账号,然后接受授权即可!
8)授权成功后,窗口弹出得到的Token信息!复制内容
仅复制 【Paste the following into your remote machine —>】开头【<—End paste】结尾的中间部分内容!
利用搜索引擎找一个【JSON在线格式】的网站,将复制的内容格式化一下。复制refresh_token值内容!不要双引号!
因为码农经常看一些JSON,我的Chrome安装了一个扩展 JSON-handle【安装地址】。很清晰看到我们要复制的内容!如图选中部分内容~!
克隆项目
这里利用的是Github的私有项目来做,如果你认为无所谓可以直接fork原作者的项目!然后直接跳过本节!
1)登陆Github账号,新建项目( New repository)!
名称随便,可设置为私有(Private),想公开项目也行。
为了安全还是私有吧!
2)项目新建成功后,我们选择Import 导入一个项目!
项目地址:https://github.com/wangziyingwen/AutoApiSecret
或者导入:https://github.com/malaohu/AutoApiSecret
导入的过程略慢!需要多等等!
配置参数
1)在线编辑你项目里的1.txt 文件,将整个refresh_token覆盖粘贴进去(原内容不要保留)。
2)依次点击上栏 【Setting】-> 【Secrets】 -> 【Add a new secret】
分别新建:CONFIG_ID、CONFIG_KEY
替换你的ID 和 密码!一定要注意前面r 和 单引号!
CONFIG_ID
id=r'应用程序(客户端)ID'
CONFIG_KEY
secret=r'应用程序密码'
3)打开地址:https://github.com/settings/tokens 点击【Generate new token】
设置名字:GITHUB_TOKEN ,
勾选 repo , admin:repo_hook , workflow 等选项,点击按钮【Generate token】!
4)修改1.txt
把原有的删掉,用之前获取到的refresh_token替换掉
5)测试运行
点击一下Github项目的星星(Star)立马调用一次脚本,再点击上面的【Action】就能看到每次的运行日志,看看运行状况!
如图展示日志,说明成功啦!!3小时后再确认下是否自动运行了(ation里是否多出来几个),是的话就不用管了!
最后说明
1)复制各种ID,密码,Token的时候一定要多注意!多个空格,少个标点符号都导致无法运行!
2)项目设定每3小时自动运行一次,每次调用3轮。定时自动启动修改地方文件 .github/workflow/AutoApiSecret.yml(自行百度cron定时任务格式,最短每5分钟一次)私有仓库有限制谨慎修改!
3)无论怎么刷API也不能100%保证能续订服务!!!
4)自动运行会更新1.txt文件,会生成好多无用的提交记录,可能影响使用Github!
Github Action
Github Action 提供的虚拟环境: 2core CPU · 7 GB RAM 内存 · 14 GB SSD 硬盘空间
使用限制:
每个仓库只能同时支持20个 workflow 并行。
每小时可以调用1000次 GitHub API 。
每个 job 最多可以执行6个小时。
免费版的用户最大支持20个 job 并发执行,macOS 最大只支持5个。
私有仓库每月累计使用时间为2000分钟,超过后$ 0.008/分钟,公共仓库则无限制。
其他续订方法:
OD:
onedrive mover.io fast.io 各种列表程序等等
邮件:
https://github.com/iyear/E5SubBot
Onenote:
http://note.0907.org
订阅添合作伙伴码:
6207209
原文链接:原文
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。