前言
本文将介绍通过生成 Microsoft API 的 ID 和 Key 使用 Rclone 获取 Refresh Token , 在利用 Github Action 来无服务器定时调用 API 使得 E5 订阅续订.
本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.
获取 ID 和 密码
应用程序 ID
- 使用管理员帐户登陆 https://portal.azure.com/#home
- 左侧导航栏选择
Azure Active Directory
- 左侧导航栏选择
应用注册
- 注册应用程序
- 填写名称
- 选择
任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户
- 重定向 URI 默认选择
Web
地址填写 http://localhost:53682/ - 点击注册
- 保存生成的
应用程序(客户端) ID
,示例:f82c748c-a719-4a85-a84a-7bd23a6b5711
添加权限
- 左侧导航栏选择
API 权限
- 添加权限
- 选择
Microsoft Gaph
- 选择
委托的权限
- 依次搜索并勾选以下权限:
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
. - 添加权限
- 点击
代表 xxx 授予管理员同意
创建密码
- 左侧导航栏选择
证书和密码
- 填写说明和期限
- 保存生产的客户端密码,示例:
CxA~M-kL9_05lbT~5xWRDO-Y4Oc.y8b.MS
获取 Refresh Token
- 使用
Windows
电脑下载Rclone
客户端,解压缩后进入文件夹,先不要运行
. - 在地址栏输入
CMD
后回车启动命令提示符,执行以下命令获取 API .
其中
Client_ID
和Client_secret
修改为上文生成的ID
和密码
# 示例 rclone authorize "onedrive" "f82c748c-a719-4a85-a84a-7bd23a6b5711" "CxA~M-kL9_05lbT~5xWRDO-Y4Oc.y8b.MS"
- 执行命令会跳转至浏览器,使用管理员账号密码登录授权后,命令提示符会生成
Token
. - 找到
“refresh_token”:
和,"expiry"
,复制保存两者之间
的代码,并无需复制
代码前后的双引号"
.
配置 Github Action
配置仓库及 Secrets
- 访问 https://github.com/wangziyingwen/AutoApiSecret 仓库并
fork
到自己仓库.
- 在线修改
1.txt
,将上文获取的Refresh Token
替换覆盖原有作者的 Token .
- Settings - Secrets
- 创建
Secrets
, Name 为CONFIG_ID
, Value 为id=r'应用程序(客户端) ID'
.示例:id=r'f82c748c-a719-4a85-a84a-7bd23a6b5711'
. - 创建
Secrets
, Name 为CONFIG_KEY
, Value 为secret=r'客户端密码'
.示例:secret=r'CxA~M-kL9_05lbT~5xWRDO-Y4Oc.y8b.MS'
创建 Github Token
- 右上角头像 - Settings
- 左侧 Developer settings - Personal access tokens - Generate new token
- Note 填写
GITHUB_TOKEN
- 勾选
repo
,admin:repo_hook
,workflow
点击 Generate token 完成.
测试完成
确保完成上述设置后,点击仓库的star
即可在Actions
中看到首次运行的workflow
.其中Test Api
中正常会进行 30 次调用.全部build
正常完成即代表部署成功,后续仓库会依照.github/workflow/autoapi.yml
配置文件定时调用 API.可自行根据需求修改触发机制或计划任务.
结语
目前 Microsoft 是根据订阅用户的账号 API 使用情况来定义你为开发者用户并为你免费续订.已有网友根据这个方案续订成功,续订的资格或者成功率也是个玄学,无法100%确定,不过使用 GitHub Action 无服务的部署也是非常省心和方便.后期成功续订在来本文更新.
本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.
27 条评论
https://github.com/wangziyingwen/AutoApiSecret 404 楼主
https://github.com/wangziyingwen/AutoApiSecret 404 楼主
OωO E5 是花钱买的吗?我是 E3
这样就可以了么|´・ω・)ノ
正在运行,等完成了看下结果
这是成功了?
应该是绿色的图标
最后一步失败
Workflows aren’t being run on this forked repository
Because this repository contained workflow files when it was forked, we have disabled them from running on this fork. Make sure you understand the configured workflows and their expected usage before enabling Actions on this repository.
fork过去的工作流不会运行,自己随便改改,加个回车之类保存可以运行了