利用Github Action刷Microsoft 365 E5开发者订阅API实现续订

文章目录

利用Github Action刷Microsoft 365 E5开发者订阅API实现续订

昨天又介绍了一次E5试用订阅!目前已知的经常使用Microsoft 365 API能实现订阅的续订!

本文介绍一下不用“充元宝”,全靠手打的,散人全自动刷API方案!!

原理:利用免费的Github Action 定期刷 Microsoft 365 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窗口】

然后在弹出执行命令!

本文演示的ID和密码!

执行命令后弹出网页登陆E5管理账号,然后接受授权即可!

 

 

 

8)授权成功后,窗口弹出得到的Token信息!复制内容

仅复制 【Paste the following into your remote machine —>】开头【<—End paste】结尾的中间部分内容!

利用搜索引擎找一个【JSON在线格式】的网站,将复制的内容格式化一下。复制refresh_token值内容!不要双引号!

 

因为码农经常看一些JSON,我的Chrome安装了一个扩展 JSON-handle【安装地址】。很清晰看到我们要复制的内容!如图选中部分内容~!

保留该token,后面要用!获取Token部分到这里结束!

 

 

克隆项目

这里利用的是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

CONFIG_KEY

 

 

 

3)打开地址:https://github.com/settings/tokens 点击【Generate new token】

设置名字:GITHUB_TOKEN ,

勾选 repo , admin:repo_hook , workflow 等选项,点击按钮【Generate token】!

 

 

测试运行

点击一下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/分钟,公共仓库则无限制。

 

参考文献

https://blog.432100.xyz/index.php/archives/50/

https://github.com/features/actions

 

原文链接:,转发请注明来源!

发表评论

  • 27 Responses to “利用Github Action刷Microsoft 365 E5开发者订阅API实现续订”
    • pydh111

      已成功搭建。 目前还未续期,剩余体验时间85天

      回复
    • 紫藤

      辛苦辛苦,已经成功了,想问三个问题:
      1. rclone成功后,还需要吗?是否可以在本地删掉?
      2. Github这个一直调用,按着文章里说的,会不会因为时间等原因被停掉呀?
      3. 调用别人的Github这个,如果往OneDrive里存东西,会有被看到的可能性吗?
      小白不懂,求问,再次感谢。

      回复
      • 1) rclone 为了获取token, 可删!
        2)除非微软或者Github Action宕机!
        3)私有项目,别人看不见。

        我是小马甲~ 回复私信
        • 谢谢谢谢,坐等结果了,但愿能成功。

          紫藤 回复
    • hjy

      请教下,这里报错没事吧?
      Push changes
      error: failed to push some refs to 'https://github.com/houjunyong/Action.git'
      Error: Invalid status code: 1
      at ChildProcess.<anonymous> (/home/runner/work/_actions/ad-m/github-push-action/master/start.js:9:19)
      Error: Invalid status code: 1
      at ChildProcess.<anonymous> (/home/runner/work/_actions/ad-m/github-push-action/master/start.js:9:19)

      回复
      • 前几次错误,后来自己好了。

        hjy 回复
    • FE_Harry

      申请订阅 续订 一气呵成 老大辛苦了

      回复
    • ahah

      不知道能不能续订,看看吧,我调成了5分钟一次,一次调用80轮

      回复
    • 竹林里有冰

      Failure!

      Error: Auth Error

      Description: No code returned by remote server

      回复
    • xuemouren

      只有我自己下载不下来那个软件吗

      回复
    • 密碼重改,也無法登入

      Failure!

      Error: Auth Error

      Description: No code returned by remote server
      [淚]

      回复
      • 第三张图上面的,任何组织和目录那个选项你没有勾选,返回去检查下项目

        test 回复
    • MarcusPierce

      Action中的运行日志 Push changes 出现错误,原因未知

      回复
    • MarcusPierce

      Actionz中的运行日志 Push changes 出现错误
      “To https://github.com/MarcusPierce/AutoApiSecret.git
      ! [rejected] HEAD -> master (fetch first)
      error: failed to push some refs to 'https://github.com/MarcusPierce/AutoApiSecret.git'
      hint: Updates were rejected because the remote contains work that you do
      hint: not have locally. This is usually caused by another repository pushing
      hint: to the same ref. You may want to first integrate the remote changes
      hint: (e.g., 'git pull ...') before pushing again.
      hint: See the 'Note about fast-forwards' in 'git push --help' for details.
      Error: Invalid status code: 1
      at ChildProcess.<anonymous> (/home/runner/work/_actions/ad-m/github-push-action/master/start.js:9:19)
      at ChildProcess.emit (events.js:210:5)
      at maybeClose (internal/child_process.js:1021:16)
      at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5) {
      code: 1
      }
      Error: Invalid status code: 1
      at ChildProcess.<anonymous> (/home/runner/work/_actions/ad-m/github-push-action/master/start.js:9:19)
      at ChildProcess.emit (events.js:210:5)
      at maybeClose (internal/child_process.js:1021:16)
      at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)”

      回复
      • 文中配置参数,第三小节。仔细看看!

        我是小马甲~ 回复私信
        • GITHUB_TOKEN生成之后需要做其他事情吗,文中没有说明得到的TOKEN需要填入哪儿

          MarcusPierce 回复
    • hugo

      怎么看有没有续订成功?

      回复
    • 蔡徐坤

      (第7步,利用rclone来获取Token!)
      到这步时,返回的是Failure!
      请问是什么原因?

      回复
      • 检查执行的命令 空格?双引号?检测应用ID和密码 是不是不对

        我是小马甲~ 回复私信
      • 创建应用程序的时候要选择 任何组织目录的账号都可以使用

        BigHuang 回复
    • 情醉中国风

      昨天我也跟下面那位大兄弟一样,一步步查了两遍都没发现哪里不对,然后看了下无图的Githb原文,写的是id=r''和secert=''我悟了

      回复
    • PRStarDust

      弄完了,然后发现我不知道申请一个e5用来干嘛不过还是感谢帖主

      回复
    • 不得不说有坑

      CONFIG_ID、CONFIG_KEY,你那张图的光标,正好把最后的'给挡住,害得我这2参数都少打了个',折腾了一天才发现

      回复