AutoApi系列:AutoApi、AutoApiSecret、AutoApiSR、AutoApiS
利用github action实现定时自动调用api,保持E5开发活跃。
免费,不需要额外设备/服务器,部署完不用管啦。
加密版,隐藏应用id+机密,保护账号安全。
视频教程:(我操作很慢,自行倍速/快进)
以上推荐/不建议等只是个人意见,请自行选择版本,可同时使用。
* 有错误/问题请看**:
第一步,portal.zaure.com,了解如何获取应用id、机密、refresh_token 3样东西,以方便接下来的操作。
第二步,登陆/新建github账号,回到本项目页面,点击右上角fork本项目的代码到你自己的账号,然后你账号下会出现一个一模一样的项目,接下来的操作均在你的这个项目下进行。(看不到图片/图裂请科学上网)
然后在线编辑你项目里的1.txt,将整个refresh_token覆盖粘贴进去(里面是我的数据,先删掉或者覆盖掉)。(千万不要改1.py)
refresh_token位置如图下。复制refresh_token紧接着的双引号里的内容(红竖线框起来的),不要把双引号复制进去。复制进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即可。
第五步,点击右上角星星/star立马调用一次,再点击上面的Action就能看到每次的运行日志,看看运行状况
(必需点进去Test Api看下,api有没有调用到位,有没有出错。外面的Auto Api打勾只能说明运行是正常的,我们还需要确认10个api调用成功了,就像图里的一样。如果少了几个api,要么是注册应用的时候赋予api权限没弄好;要么是没登录激活onedrive,登录激活一下)
第六步,没出错的话,就搞定啦!!再看看下面的定时次数要不要修改,不打算改就忽略。
然后第二天回来确认下是否自动运行了(ation里是否多出来几个),是的话就不用管了,完结。
我设定的每3小时自动运行一次,每次调用3轮(点击右上角星星/star也可以立马调用一次),你们自行斟酌修改(我也不知道保持活跃要调用多少次、多久):
定时自动启动修改地方:(在.github/workflow/AutoApiSecret.yml文件里,自行百度cron定时任务格式,最短每5分钟一次)
准备
在上面操作中,“获取 api key” 第4步“重定向 URI (可选)”处,重定向url选web,填入 http://localhost:53682/ ,完成获取 api key 。
在上面操作中,第6步配置API权限,依次点击添加权限、 Microsoft Graph 、委托的权限,然后依次搜索以下这12个权限并勾选(别忘记同时点击 “代表XX授予管理员同意”):
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
获取refresh_token Windows 下载 rclone (点击这里下载),下载后不要双击 rclone.exe 安装! 而是在rclone.exe同目录下,按住shift后点鼠标右键,选择在此处打开cmd窗口或在此处打开 power shell 窗口,弹出窗口后,CMD窗口就执行(请自行替换 client_id 和 client_secret 为你前面获取的值):
rclone authorize "onedrive" "client_id" "client_secret"
Shell 如果是power shell的窗口请执行:
.\rclone authorize "onedrive" "client_id" "client_secret"
执行后电脑浏览器会弹出一个界面,登陆自己的e5账号,然后看到浏览器显示 Success!,说明获取token成功了。 然后我们返回的cmd窗口或者power shell窗口,你会看到一大段 Paste the following into your remote machine ---> 开头 <---End paste 结尾的代码,找到 "refresh_token":" 复制后面的代码
内容分别如下: ( 把你的应用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即可。
第五步,点击右上角星星/star立马调用一次,再点击上面的Action就能看到每次的运行日志,看看运行状况
(必需点进去Test Api看下,api有没有调用到位,有没有出错。外面的Auto Api打勾只能说明运行是正常的,我们还需要确认10个api调用成功了,就像图里的一样。如果少了几个api,要么是注册应用的时候赋予api权限没弄好;要么是没登录激活onedrive,登录激活一下)
第六步,没出错的话,就搞定啦!!再看看下面的定时次数要不要修改,不打算改就忽略。
然后第二天回来确认下是否自动运行了(ation里是否多出来几个),是的话就不用管了,完结。
我设定的每3小时自动运行一次,每次调用3轮(点击右上角星星/star也可以立马调用一次),你们自行斟酌修改(我也不知道保持活跃要调用多少次、多久):
Api调用 你们可以自己去graph浏览器看一下,学着自己修改要调用什么api(最重要的是调用outlook、onedrive) https://developer.microsoft.com/zh-CN/graph/graph-explorer/preview
提供的虚拟环境:
· 2-core CPU · 7 GB RAM 内存 · 14 GB SSD 硬盘空间
使用限制:
(我们这里用的公共仓库,按理,你们可以设定无限循环调用,然后6小时启动一次,保证24小时全天候调用)
教程很直白了,应该都会弄吧!
代码小白,多包涵!有问题/修改建议可以点击上方issues发布一下,或者PY给我: jing207@qq.com
Q群:56865213 (项目相关讨论)
tg群:OneDrive E5 (非项目相关讨论!tg可能不会及时在线回答问题,任何项目相关的问题或出错请进Q群/邮箱/issue)
最后的最后,再次感谢黑幕/paran大佬
————wangziyingwen/酷安id-卷腿毛菌