请注意,本文编写于 148 天前,最后修改于 148 天前,其中某些信息可能已经过时。
前些天白嫖了microsoft 的e5开发者。免费的office365订阅确实香,但是避免不了续期这个问题,部署autoapi可以提高续订的概率。不保证一定能续期!qwq
注册地址:https://portal.azure.com/#home
先用e5管理员账号登录网站,然后在主页找到Azure Active Directory点进去,再在左侧目录找到点击应用注册,再点上方的新注册就会跳出一个新建应用的界面,应用名字随意填写,然后选择任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户,重定向url选web,填入http://localhost:53682/
,最后点注册即可
注册好应用会跳转到应用概述界面,你会看到一个应用程序(客户端) ID,复制这个Id记录下来
在应用概述界面,点击左侧目录的API权限,依次点击添加权限
、 Microsoft Graph
、委托的权限
,然后依次搜索以下这12个权限并勾选:
Directory.Read.All
Directory.ReadWrite.All
Files.Read.All
Files.ReadWrite.All
MailboxSettings.Read
MailboxSettings.ReadWrite
Mail.Read
Mail.ReadWrite
Sites.Read.All
Sites.ReadWrite.All
User.Read.All
User.ReadWrite.All
加上本身的User.Read
共13个
全部勾选好后点击底部的添加权限,然后又返回到了API权限界面,这时候你一定要再点一下代表xxx授予管理员同意
,不点这个,outlook api会无法调用
点击左侧证书和密码,点+新客户端密码,说明随便填,年限随便选多久都行,然后点添加,添加好后,客户端密码下面会有一个值,复制值下面的那一串代码,这是应用秘钥,后面会用到,到这一步,注册应用已经结束了。
获取token的方法有很多种,这里提供一种借助rclone
的方法
下载rclone 用文件管理器进入文件所在目录,直接在地址栏输入cmd
、回车进入cmd中。
在cmd中输入:
rclone authorize "onedrive" "之前保存的应用id" "之前保存的应用秘钥"
如果使用powershell的话输入:
.\rclone authorize "onedrive" "之前保存的应用id" "之前保存的应用秘钥"
回车后会进入登录网页,正常登录之后接受应用的授权。网页提示 success!后返回cmd。发现终端多出来了一大串文字。我们只需复制其中refresh_token的值。
至此准备工作已经完成了!接下来修改一下脚本文件就可以了。修改 client_id
和client_secret
的值为获取的id和密钥。再把获取的refresh_token整个复制到1.txt文件即可。
添加后续用户时,在API授权时某些权限需要管理员同意。
可以直接复制授权页面的url。登录管理员账号,然后直接在地址栏输入复制的url。就可以看到代表管理员授权了。(或许是我火星了,没看到入口
个人认为Github Action 为最好的选择。不需要服务器,运行稳定。建议用子账号的邮箱注册github账号Fork自己Fork的仓库。这样管理起来也比较容易。一起刷,美汁汁
第二步,依次点击上栏Setting > Secrets > Add a new secret,新建两个secret如图:CONFIG_ID、CONFIG_KEY。(这里的Setting是指仓库的Setting)
内容分别如下: ( 把你的应用id改成你的应用id , 你的应用机密改成你的机密,单引号不要动 )
CONFIG_ID
id=r'你的应用id'
CONFIG_KEY
secret=r'你的应用机密'
(必需点进去Test Api看下,api有没有调用到位,有没有出错。外面的Auto Api打勾只能说明运行是正常的,我们还需要确认10个api调用成功了,就像图里的一样。如果少了几个api,要么是注册应用的时候赋予api权限没弄好;要么是没登录激活onedrive,登录激活一下)
然后第二天回来确认下是否自动运行了(ation里是否多出来几个),是的话就不用管了,完结。
python的版本最好为3.8,因为用到了python内置的json库。除此之外还需要第三方库requests。
1.py 文件只会执行一次。所以还要添加定时任务(或者在原脚本中加上一个for循环.,设置暂停时间,用screen方式也可以刷刷刷!)
Linux添加定时任务的话可以使用crontab
1、添加定时任务,用vim编辑
crontab -e
2、添加下面类似的命令。注意修改文件路径,api.log为输出的日志文件。
0 */3 * * * python3 /moe/autoapi/1.py >> /moe/autoapi/api.log 2>&1 #0 */3 * * * 表示在每天的00:00、03:00、06.00......等为三的倍数的时间执行 #其他时间设定请自行参考crontab命令
3、查看任务列表
crontab -l
4、查看crontab日志
tail -f /var/log/cron
等一段时间后查看api.log 如果都正常(在设定的定时时间都执行了脚本)没问题了。完结。
亲测在手机上用Qpython(基于python3.6.6)不行。手机端建议使用Pydroid3(基于3.8.3)。这两个应用都可以下载第三方库。
也可以使用Termux 安装python环境(自行百度,推一波国光大佬写的termux教程)。
而且手机会杀后台。比较麻烦。(巨不推荐qwq<
大部分ctrl c/v
原教程博主-黑幕(酷安id-Paran)https://blog.432100.xyz/index.php/archives/50/
https://github.com/wangziyingwen/AutoApiSecret/blob/master/README.md
全部评论 (暂无评论)
info 还没有任何评论,你来说两句呐!