第三十九期-利用Microsoft365 E5许可证(微软开发者)计划白嫖Office365和Onedrive

发布于 2020-07-17  1.05k 次阅读



首先话说在前面,如果你冲着Onedrive的125TB来的我不建议你看这篇文章,因为这不值,国际版Onedrive国内几乎没法用,要么上传下载速度快到火箭升天,要么就只有100KB/s,极其不稳定,再说E5随时翻车,你能往里面存多少文件???Office365才是最值得白嫖的。

说一下E5许可证的续期方式:
E5它完全免费但是很容易翻车。
E5应该是人工续期

E5的续期依据是根据算法你有没有利用Microsoft E5进行合理的开发利用,就是让你多调用API。
什么叫多调用API?
1.经常调用API
2.调用API的种类不止两种

相反如果你很少用API,那么你的账户就会被判定不活跃,就此翻车。所以文章会花大部分时间去讲如何多调用API续期。

辣么就不说废话开始教程。
一、获得许可+激活Office365
需要用到的工具:你的生命、躯体、灵魂、手、大脑、眼睛、显示器、鼠标、键盘、网线、电线数根、电、Windows7/8/10电脑、Google Chrome浏览器或Edge Chrouimn版浏览器、科学上外网工具

用电脑打开这个网页,建议用Google Chrome或Edge Chrouimn版浏览器打开,使用无痕浏览或清理浏览器所有数据
https://developer.microsoft.com/zh-cn/microsoft-365/dev-program
点立即加入,使用你的微软账号登录,没有注册一个

使用普通账号登陆后,区域选择离您地理位置最近的,一旦注册将无法更改,公司随意。

如下图所示,除第一栏是只选个人选项,其余全部勾上,行业随意选择

打开梯子上天,按F5刷新页面

填入相关信息,请牢记
手机号这一步其实是真的要用到梯子的,谷歌验证完之后才可以向手机发送代码

关闭天梯下地狱

单击转到订阅

使用组织管理员账户登录

单击管理

添加用户---好好填--一路下一步

----------------就此E5许可已经到手,在Office365中登陆你刚刚才创建的用户,就激活Office了,如果您没有安装Office365
请转到https:/www.office.com/?auth=2单击右上角安装Office

二、Onedrive
设置全局5T,浏览器打开https://admin.onedrive.com/?v=storageSettings设置为5012G即可。
告诉你们个骚操作,把剩下24个子账号全部创建满(E5许可证只能创建最多24个子账户,加上管理员是25个)然后用各种垃圾文件把这所有账号下的5T统统塞满,然后提交工单以容量不够为由让他们将容量扩容到25T全局,这样你就能获得总计575T的容量(但是这只是个别成功案例,自己有空可以去试试)

三、怎样多多调用api
1)不调用或者少调用api的后果如下,遇到这种情况,这帐号距离报废还差最后一口气,几乎是救不回来了,多多调用api说不定能救活。
哪里看自己有没有续期的天数
https://developer.microsoft.com/zh-cn/microsoft-365/dev-program用普通账户登录即可查看


准备一个服务器或者虚拟主机,打个广告彩虹云主机有免费虚拟美国主机
此以宝塔为例子。打开宝塔面板新建一个网站,没有Nginx先装Nginx.给网站目录创建一个FTP

单击按钮下载代码zip包Download
FTP将文件上传到网站目录

浏览器到https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade用组织管理员账户登录(xxx.onmicrosoft.com)单击新应用

反正就如下图,这里请使用你的大脑思考,不要无脑抄!

创建密钥,无限期,名称随意,值这里只显示一次的!!!用txt粘贴一下啊

回到概述,把应用程序id给复制下来。

api权限---添加权限---Sharepoint---委托的权限---单击代表xxx授权同意

全勾上。

到网站目录/Controller/AdminController.php里把https://pan2.leeskyler.top改为https://你自己的域名
打开你站

然后输入您刚刚获得的密钥和应用id

用组织管理员账户登录

打上勾点授权
注意:如果用彩虹云主机或是没有绑定SSL证书的域名或是IP的话,授权完之后会出现打不开页面,将地址栏中的https改为http即可出现如下界面。

Nginx设置伪静态

if (!-f $request_filename){
set $rule_0 1$rule_0;
}
if (!-d $request_filename){
set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
rewrite ^/(.*)$ /index.php?/$1 last;
}

2)Outlook api调用
浏览器到https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade用组织管理员账户登录(xxx.onmicrosoft.com)单击新应用

反正就如下图,

创建密钥,无限期,名称随意,值这里只显示一次的!!!用txt粘贴一下啊

回到概述,把应用程序id给复制下来。

api权限---添加权限---Microsoft Graph---委托的权限

加入这些权限

Mail.Read
Mail.ReadBasic
Mail.ReadBasic.All
Mail.ReadWrite
Mail.Send
offline_access
openid
User.Read

填入你刚刚创建的程序id和应用密钥,填完后点保存,再点授权。

选择自己的组织管理员账户

然后根据自己的喜好更改频率
单位 秒(最低调用频率为 60 秒,最高为6小时)
范围,例如: 30-60,代表在30秒-60秒之间随机调用一次
点保存。

3)利用GitHub调用api

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

注册一个应用,到https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade注册新应用
填入点上方的新注册,应用名字随意填写,然后选择任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户,重定向url选web,填入http://localhost:53682/,最后点注册即可。

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

Files.Read.All Files.ReadWrite.All Sites.Read.All Sites.ReadWrite.All
User.Read.All User.ReadWrite.All Directory.Read.Al Directory.ReadWrite.All
Mail.Read Mail.ReadWrite MailboxSettings.Read MailboxSettings.ReadWrite


创建密钥,记录值,值不会再显示第二次。

获取refresh_token
Windows 下载 rclone 单击右侧按钮下载zipDownload
下载后解压到一个文件夹,不要双击 rclone.exe 安装! 记住你所解压的路径,Win+R cmd cd到rclone.exe所在目录(请自行替换 client_id 和 client_secret 为你前面获取的值):

rclone authorize "onedrive" "client_id" "client_secret"
 

选择组织管理员账号

代表组织同意,然后接受

标出来就是Token

执行后电脑浏览器会弹出一个界面,登陆自己的e5账号,然后看到浏览器显示 Success!,说明获取token成功了。然后我们返回的cmd窗口或者power shell窗口,你会看到一大段 Paste the following into your remote machine ---> 开头 <---End paste 结尾的代码,找到 "refresh_token":" 复制后面的代码 
然后在线编辑你项目里的1.txt,将整个refresh_token覆盖粘贴进去(里面是我的数据,先删掉或者覆盖掉)。(千万不要改1.py),不要把双引号复制进去。
1.txt

留意头部、结尾不要留空格或者空行


第三步,依次点击上栏Setting > Secrets>; Add a new secret,新建两个secret如图:CONFIG_ID、CONFIG_KEY。内容分别如下: ( 把你的应用id改成你的应用id , 你的应用机密改成你的机密,单引号不要动 )
CONFIG_ID
id=r'你的应用id'

CONFIG_KEY
secret=r'你的应用机密'

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

设置名字为GITHUB_TOKEN , 然后勾选 repo , admin:repo_hook , workflow 等选项,最后点击Generate token即可。



第五步,回到你刚刚的仓库界面点击Action激活协议
再点击右上角星星/star立马调用一次,再点击上面的Action就能看到每次的运行日志,看看运行状况

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

第六步,没出错的话,就搞定啦!!再看看下面的定时次数要不要修改,不打算改就忽略。
然后第二天回来确认下是否自动运行了(ation里是否多出来几个),是的话就不用管了,完结。
我设定的每3小时自动运行一次,每次调用3轮(点击右上角星星/star也可以立马调用一次),你们自行斟酌修改(我也不知道保持活跃要调用多少次、多久):

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

每次轮数修改地方:(在1.py最后面)

4)POSTMAN(已失效
1、 下载 POSTMAN 单击右侧按钮下载

备用(不包更新)下载通道:Download
该通道下载后的文件需在文件后加上.exe

主要通道:www.postman.com官网下载
Download

2、 注册应用,并记录应用id和机密
https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade组织管理员账户登录
方式讲了快无数遍了,这一步按照下面填即可。URL看不清楚的话应该是

https://www.getpostman.com/oauth2/callback


3、打开POSTMAN ,导入以下两个URL

https://raw.githubusercontent.com/microsoftgraph/microsoftgraph-postman-collections/master/Microsoft%20Graph.postman_collection.json
https://raw.githubusercontent.com/microsoftgraph/microsoftgraph-postman-collections/master/Microsoft%20Graph.postman_environment.json

导入之后会在 postman 集合有一个 Microsoft Graph 名字的集合

4、 选择下图中"Authorization"这个选项卡中的Type为“OAuth 2.0", 然后点击“Get New Access Token"按钮,在弹出的对话框中填写你注册好的应用程序信息,并点击“Request Token”

Token Name: 任意名
Callback URL: https://www.getpostman.com/oauth2/callback
Auth URL: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
Access Token URL: https://login.microsoftonline.com/common/oauth2/v2.0/token
ClinetID: 填入自己的
Client Secret: 填入自己的
Scope: user.read mail.read mail.send
State: 留空

5、 按钮,POSTMAN会弹出跳转到Microsoft Graph的认证页面,输入 office e5 管理员账户信息,并授权。

6、 点击最右侧的“Use Token"按钮,可以将Access Token插入到当前的请求中去,注意观察“Headers”这个选项卡的变化 (Authorization:Bearer xxxxxxxxx),然后点击“Send”按钮,我们就可以顺利地完成当前的Microsoft Graph调用了。

7、 点击上图中的最右侧的“Save”按钮,然后在弹出的对话框中输入Request Name等信息即可保存设置。

5)https://blog.csdn.net/qq_33212020/article/details/106837905的方式

使用步骤
1、应用注册
1.登录 Azure ,登录账号使用Microsoft 365 E5的管理员账户(账户名类似[email protected]格式)。
2.登录完成后点击右上角的“门户”按钮进入Azure管理中心,在搜索栏内输入“应用注册”,点击进入。
3.单击“新注册”按钮
4.配置应用 应用名称随意写、注意可访问性选项选择最后一项、重定向URL暂时不填 、完成后点击注册

2、配置应用重定向URL(身份验证)
1.先点击“概述”,然后点击“添加重定向URL”,进入重定向URL配置界面。
2.点击“添加平台”,再点击“移动和桌面应用程序”,

3.继续勾选中第一个URL,最后点击底部的“配置”,该URL为“https://login.microsoftonline.com/common/oauth2/nativeclient”也可手动添加。

4.配置默认客户端类型将应用程序视为公共客户端 点击切换按钮为“是” ,最后点击“保存”按钮保存。

3、配置应用拥有的API权限
程序自动请求API权限
1.勾选“Microsoft Graph API”中的“REST API Beta”以全选所有API,点击要添加API权限的客户端ID条目中的“授权”按钮。
2.在弹出的登陆页面中输入你的管理员账户名和密码登录(该账户必须为全局管理员账户且拥有该客户端ID的控制权限),登录成功时弹出“请求征得许可界面”,滚动到页面最底部勾选“代表组织同意”,最后点击“接受”。
3.判断是否添加API权限成功:首先程序提示授权成功,其次用管理员账户登录Azure查看应用的API权限,发现所有需求的权限均已添加即为成功。

手动配置添加API权限
1.点击“API权限”-“添加权限”-“Microsoft Graph”

2.选择“委托的权限”
3.根据你选择API来勾选所对应需求的权限,全部选择完成后点击"添加权限"。
4.最后点击代表XXX授予管理员同意,对话框选择“是”。

BookingsAppointment.ReadWrite.All
Calendars.Read
Contacts.Read
Files.Read.All
Files.ReadWrite.All
Group.Read.All
Mail.Read
Mail.Send
MailboxSettings.Read
Notes.Read.All
People.Read.All
Sites.Read.All
Tasks.Read
User.Read.All

创建一个新的E5子账户(可选步骤)
登入E5管理员账户进入管理员界面,创建一个新的子账户,使用这个子账户登录程序调用API。
为什么建议这样做:Microsoft 365 E5 Renew中的部分API包含了写操作,例如邮件和Onedrive的API,这些API在随机模式下会生成大量垃圾邮件和文件(虽然单独为此设立了一个文件夹),部分人可能会对此行为非常介意,而且程序频繁的读写可能会对您正常使用账户造成影响,因此不建议使用管理员账户登录。

4、将账户和应用信息导入至程序中
在程序运行的根目录下创建名为“Account.txt”的文本文件。
准备好账户名(如:[email protected])账户密码(如:Password 尽量不要包含字符$和#) 还有应用程序(客户端)ID(如:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX)
按照 账户名$##$账户密码$##$应用程序(客户端)ID 的格式拼接为一行,每个这样的账户依照行一行行输入进“Account.txt”文本文件。
最后保存文件并重启程序。
5、程序配置及使用
程序启动时会自动读取“Account.txt”中的所有符合规则(客户端ID必须为GUID格式)的账户条目。
选择左上角需要调用的Microsoft Graph API,配置各项目的运行模式(默认全部都是随机模式)。
点击“启动”按钮,点击该按钮后程序会立即进行一次API调用,通过下方列表中显示的数据观察API是否正常调用,全部失败的应立即停止后台程序重新检查应用程序是否缺少权限。
————————————————
版权声明:本文为CSDN博主「SundayRX」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

本文完结
2020/07/18 13:45


Skyler & Harry 's Notes