应该有很多人白嫖了微软的开发者订阅,奈何微软也不是傻子,有效期三个月,三个月后需要证明是开发者才能够续订,所以如果不能续订,单单只是用三个月,那就毫无意义。网上大佬也提出了调用api来证明是开发者的方法,实践证明确实有很多人续订了。下面我就说说我自己整理并使用的一些方法。

这里需要注意,使用了我的这些方法并不是一定会续订,只是增大机会!!!没续订不要找我哈哈哈~


自建网盘或者目录程序

网盘程序

这方面我自己用的是Cloudreve,界面简洁好看,功能也很多,免费开源版完全够用了。这个方法需要服务器,有条件感兴趣的可以去试试,之后有空的话我会写篇教程。

这边我放一个我自己搭建的演示站:https://cloud.noshore.cn

目录程序

这个我之前也写过一篇教程:宝塔面板搭建OneDrive目录程序OLAINDEX

我也是用服务器搭建的,不过这个不是强制服务器的,可以用一些免费空间搭建。

E5SubBot

有能力可以自己搭建,项目地址:https://github.com/iyear/E5SubBot

懒得搭或者不会的,这边我就提供一些现成的机器人。

首先打开tg,在搜索栏搜索@E5Sub_bot,打开后会有绑定提示,点击/bind

这边再提供几个机器人,你可以选择每个都绑定。@officeE5_bot@rsxd_bot@One365E5_bot@e5renew_bot@e5dy_bot@my_e5sub_bot

之后点击应用注册的直达,登陆你的Office帐号,将你的应用机密复制下来


接着点击下面的蓝色按钮,返回到快速启动

往下拉,将App ID复制下来(这一步其实和OLAINDEX教程里一样)

然后回到tg,按照格式回复即可

错误演示
24b17016-b01c-4226-922f-a0046bc02492+ +axmdnRLFG87#^uuKIK926{}

之后会让我们授权账户,点击直达

弹出来一个界面,复制地址栏里的网站,粘贴到对话框加上空格和别名就好了。

最后,出现下面的内容就是绑定成功了。如果中途机器人没反应,从头来过就好。

这里需要注意的是,绑定完成之后不要去执行/task/log,会提示你不是管理员,并不是说你不是程序Office账户的管理员,只是说你不是机器人的管理员,等着就好会自动执行。

E5续订程序

这是一个由其他大佬开发的网页端的程序,并且所有的操作都是在他的服务器上的,本地服务器不需要跑任何东西。

地址:https://e5.qyi.io/user/login?redirect=%2Fuser%2Fhome

打开网站,点击中间的Github图标并使用你的Github账号登陆

进入主界面,需要填写client_idclient_secret

然后先把这个网页放在一边,打开Azure,在上面搜索应用注册,打开后,我们点击左上角的新注册,名称随便填,选择任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户,URI我们填写https://e5.qyi.io/outlook/auth2/receive,一定要填正确,否则是无法使用的!

进入页面后,我们复制上面显示的应用程序(客户端)ID,以供备用,接着我们点击左边的证书和密码,创建我们这个程序的密码

在右边选择新客户端密码,描述随便填,密码我们选择从不过期,然后新建,把给我们的密码保存下来备用

接着点到API权限,点击添加权限,选择Microsoft Graph,然后选择右边的应用程序权限,勾选Mail.ReadMail.ReadBasic、、Mail.ReadWrite即可,勾选后确定,点击添加权限右边的代表xxx授予管理员同意,一定要点,否则无法正常运行。

接着返回刚刚的那个网页,ID和机密填进去,然后点保存,接着点授权。

AutoApi系列

项目地址

https://github.com/wangziyingwen/AutoApiS

原教程已经讲的相当清楚,不过由于Github的原因,图裂了,我这边就把图放出来,教程是一样的。另外,AutoApi系列包含四个版本,可以自由选择,我是用的AutoApiS,下面讲的也是AutoApiS。

简介

  • 本项目是建立在可以正确调用api的假设上的,核心是paran/黑幕大佬的py脚本。
  • 本项目只是提供一个自动、免费、无需额外设备的脚本运行方式,换句话说,借用github的电脑/服务器来干活。
  • 本项目运行依赖github action服务,此功能github固有而非私人提供的服务器,且整个运行过程只涉及你与github。
  • 请务必先阅读理解原教程的原理说明、设计理念。
  • 不保证一定能续期!不保证一定能续期!不保证一定能续期!或者说,只是增大续订可能性。过期前、后30天都可能续期!!!
  • 若理解并接受上述说明,请接着操作;若否,请点击浏览器右上角 X 。

项目说明

  • 全自定义版本
  • 支持多账号、随机时间调用、api随机抽取排序、副应用模式等

步骤

获取应用id、机密、refresh_token

1.首先去https://portal.azure.com/#home 注册一个应用,和上一个方法(E5续订程序)一样。

先用e5管理员账号登录网站,然后在主页找到Azure Active Directory点进去,再在左侧目录找到点击应用注册,再点上方的新注册就会跳出一个新建应用的界面,应用名字随意填写,然后选择任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户,重定向url选web,填入http://localhost:53682/,最后点注册即可。

2.注册好应用会跳转到应用概述界面,你会看到一个应用程序(客户端) ID,复制这个Id记录下来,后面要用到,然后点击左侧目录的API权限,依次点击添加权限Microsoft Graph委托的权限,然后依次搜索以下几个权限并勾选:

Calendars.ReadWriteContacts.ReadWriteDirectory.ReadWrite.All

Files.ReadWrite.AllMailboxSettings.ReadMail.ReadWrite

Notes.ReadWrite.AllPeople.Read.AllSites.ReadWrite.All

Tasks.ReadWriteUser.ReadWrite.All

全部勾选好后点击底部的添加权限,然后又返回到了API权限界面,这时候你一定要再点一下代表xxx授予管理员同意,不点这个,outlook api会无法调用。

3.点击左侧证书和密码,点+新客户端密码,说明随便填,年限随便选多久都行,然后点添加,添加好后,客户端密码下面会有一个,复制值下面的那一串代码,这是应用秘钥,后面会用到,到这一步,注册应用已经结束了。

4.windows下载rclone获取token,点击这里下载rclone,随意下载到电脑的任意一个目录,下载后不要双击rclone.exe安装!,而是在rclone.exe同目录下,按住shift后点鼠标右键,选择在此处打开cmd窗口在此处打开power shell窗口,弹出窗口后,CMD窗口就执行:

1
rclone authorize "onedrive" "之前保存的应用id" "之前保存的应用秘钥"

请自行将双引号内的替换为之前我们保存的应用id和秘钥,示例:

1
rclone authorize "onedrive" "729xx16f-8x70-4xb8-8fd6-1xxx9b582b1f" "?@P@4u/fxxcxxx28:B-3i_QxxFxc6_ZO"

如果是power shell的窗口请执行:

1
.\rclone authorize "onedrive" "729xx16f-8x70-4xb8-8fd6-1xxx9b582b1f" "?@P@4u/fxxcxxx28:B-3i_QxxFxc6_ZO"

执行后电脑浏览器会弹出一个界面,登陆自己的e5账号,然后看到浏览器显示Success!,说明获取token成功了。然后我们返回的cmd窗口或者power shell窗口,你会看到一大段Paste the following into your remote machine --->开头,<---End paste结尾的代码,找到"refresh_token":"复制后面的代码直到","expiry",说白了就是复制refresh_token,不要带双引号,类似格式如下:

1
OAQABAAAAAABeAFzDwllzTYxxxx_qYbH8UALCVjtv_6YeHHOwXExxxxxywOKSg2Hd_GSjW1vcLzqLhDC51Sl4T2ZYfK1p64_ps3qidrodIZLkz-4f-21IfUUgQdEi-g-jIw-La9FjREuUuQnSSKgOlBAKpiwVjwPGdaO_G9yB5cLvX5zi3MZ-_ZwEVHEp-ldDGYqQiZFSnpD6G-cjQIzuN0w8lxl_9laIH0dkA1uUOKtA64qbC976OHSIaidaF4oZi_ntQIsMHWnUssYbR-2X446apxxMupLRM5oaHb8bKMTDlzk6_zUOw23y1jcb8gzyzL5IZdBVVX9UIuPrR-yuzyTd24v39OGk-I9xxhRms5vM6-vUPgxKzuIwFq_CYothdbo8ZvBuMJebl21D1UeaBerjPzxxxxxxxxxVQakxjMBHPC1ueyxR2UvRrlhHhNs8qYFBe5lzceofNWvy1QYRObT8DqCENyLa4Nb08jVTcA6Eh7oxkXtflg_xEY8ECRTWGIZ2qo4ziW70xxxxxxxvq6MCubQgOdt0qdWrc15LVV99YAl9L0KtC3ql0tMPVJBvodTNrvVqcxD-LNtnpxxx1J2tmDuc15xxxxxxTPp5MjXDhSbq8MACmRQh4dR09QqmqXps1c80pxyVkQbr8O669MQ1FMqlICTKJQ8c54_U9NWBo1rAU_zPmE841mDEFjy7dXakFkYR9IIthPNBr2nCQDdvjTitCiIwcT-NTitAd7TseSpiWg9zBsd6Q1OOcL83anZnaJ4sHy68XupeFydmjIYWZw83m96xRaw5MMHJAoyeTkwkHH9qqaSZ0mNM_PN09-tj6nUVYWf5lajMNzd_0GPfwqxxxx9LC0deo43zNTZq20f94_-HNTscKg5dJOA8jUeddxxxxLQa-ZXZV38-lxxxYL_ZDvPu5-0FP-aDTwvxxxx0F7g97o3wTrHSZw14Ra9uxniTh4gAA

FORK 项目

登陆/新建github账号,回到项目页面,点击右上角fork本项目的代码到你自己的账号,然后你账号下会出现一个一模一样的项目,接下来的操作均在你的这个项目下进行。

配置refresh_token

在你电脑上新建多个txt文本,例如你有两个账号,则账号 0 对应为 0.txt , 账号 1 对应为 1.txt , 以此类推。(只有一个账号,则只需一个0.txt,一定要从0开始数)

再把各个账号对应的refresh_token粘贴进对应的txt文件。

refresh_token位置如图下。复制refresh_token紧接着的双引号里的内容(红竖线框起来的),不要把双引号复制进去。复制进txt后,留意结尾不要留空格或者空行

再然后把你项目token文件夹里的文件全删掉(记得点commint确认删除),再把你的0.txt…n.txt上传到token文件夹下。

配置id和机密

依次点击上栏 Setting > Secrets > Add a new secret,新建两个secret如图:ID_LIST、KEY_LIST 。

内容分别如下: ( 把账号X应用id改成你账号X的应用id , 账号X应用机密改成你账号X的机密,直接替换单引号里的内容,单引号不要动 )

(需要配置更多账号的话,以此类推,直接复制增加;如果只需一个账号,则 id_list = [r’账号0应用id’] )

注意所有符号均是英文条件下的符号

ID_LIST

1
id_list = [r'账号0应用id',r'账号n应用id']

KEY_LIST

1
secret_list = [r'账号0应用机密',r'账号n应用机密']

最终格式应该是类似这样的:

修改参数配置

这一步看不懂的可以略过

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
各参数说明:
* 每次轮数:每启动一次运行多少轮api调用,一轮调用10个api

* 是否启动随机时间:每一轮结束隔“多久”才开始下一轮调用,这个“多久”会根据后面的参数随机生成

* 延时范围起始,结束:例如设置600跟1200,则“多久”会在600到1200秒这个范围随机生成一个数,到时间开启下一轮调用

* 是否开启随机api顺序:根据一定规则从28个api抽13个随机排序,我设置的是30天换一次顺序。不开启则默认原教程10个api。

* 是否开启各api延时:就是每个api调用要不要停一下才开始下一个api调用。(个人建议不开)

同样有范围,例如:api延时范围开始跟api延时结束分别设置为10,20.则会在10到20秒这个范围随机生成一个数,然后调用下一个api

* 是否开启各账号延时:就是每个账号调用要不要停一下才开始下一个账号调用。

同样有范围,例如:账号延时范围开始跟分结束分别设置为60,120.则会在60到120秒这个范围随机生成一个数,然后调用下一个账号

* 是否开启备用应用:更换应用id调用api。同样每30天更换一次应用id。(目前每个账号只至支持1个副应用)

开启后,需分别为各账号再注册一个应用,然后在设置的secret再增加两条:
ID_LIST2
内容为: id_list2=[r'帐号1副应用id',r'帐号n副应用id']

KEY_LIST2
内容为: secret_list2=[r'帐号1副应用机密',r'帐号n副应用机密']

然后类似的在backuptoken文件夹里放入对应的副应用的0.txt....n.txt。
(这里看不懂的话,直接选N吧)

* 是否开启测试:瞬间完成运行,以便查看id、机密、token等是否填写错误,能否正确运行。
(若配合备用应用模式使用,则会同时测试各账号的主副应用,看看主副应用是否都能成功调用api)
测试完务必改回N

Generate token

进入你的个人设置页面(右上角头像 Settings,不是仓库里的 Settings),选择 Developer settings > Personal access tokens > Generate new token,

手动运行一次

点击右上角星星/star立马调用一次,再点击上面的Action就能看到每次的运行日志,看看运行状况

(必需点进去Test Api看下,api有没有调用到位,有没有出错。外面的Auto Api打勾只能说明运行是正常的,我们还需要确认10个api调用成功了,就像图里的一样。如果少了几个api,要么是注册应用的时候赋予api权限没弄好;要么是没登录激活onedrive,登录激活一下)

原脚本设定的每天9、13、16点自动运行一次(点击右上角星星/star也可以立马调用一次),你们自行斟酌修改(我也不知道保持活跃要调用多少次、多久)

定时自动启动修改地方:(在.github/workflow/autoapi.yml文件里,自行百度cron定时任务格式,最短每5分钟一次)

如果想和我一样每小时调用一次,可以照着我的格式写。

有能力的可以多管齐下,每个方法都试一下,祝大家顺利续订!


题外话

有需要Office365 A1账号的可以在下面留言,我看到会回复。另外,如果你愿意使用文中的方法进行API调用但又懒得自己开管理员账户的也可以留言。