浅忆博客

  • 学无止境
  • 技术相关
浅忆
~
  1. 首页
  2. 未分类
  3. 正文

E5 自动订阅程序[已开源]

2020年3月2日 176134点热度 124人点赞 1,411条评论

程序于2023年01月15日更新,部署教程有些许不同,请注意查看。
AZ面板中已经被禁用的应用,无法删除,需要新建一个应用。

 

查看应用是否被禁用:关于续订程序出现授权出错问题

 

由于我前端是废的,界面将就看看就行了,不影响程序~
申请office E5 开发者试用的教程
新版可续签的Office 365开发者试用订阅!E5(附自动续订的方法)
Onedrive容量 1T 修改 为5T,老帐号不删除重建

说明

  1. 此程序部署在我的服务器上,每隔2小时会自动调用outlook api 获取邮件列表
  2. 对于信息: 只会保存必要的 client_id、client_secret,其他任何内容都不会保存,
  3. 会读取授权的outlook账号邮箱邮件,但不会保存任何信息,仅仅是调用api。
  4. 请单独创建一个同域 E5 子账号进行授权,不要使用此账号进行发送、接收个人邮件,以免发生误会。

 

新手作代码辣鸡,估计会出现各种问题,所以还是不建议自己搭建。

项目地址:

https://github.com/luoye663/e5

使用教程

1、注册自己的api key

登录进入 azure  ,登录账号使用你的e5账户 ,就是以xxx.onmicrosoft.com开头的的账户。
搜索“应用注册”

2021-03-15:

现在不能直接搜索到了,目前两种方法可以找到 应用注册

1)请搜索 “Azure Active Directory”,然后在 管理-应用注册 ,

2)或者直接点击直达链接:

https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps

点击 新注册


2023-01-15更新

和之前不同的是

1、受支持的帐户类型 ,请选择第一个,仅此组织目录(仅 xxx - 单一租户)中的帐户

2、重定向 URI (可选) 暂时不要填写。


3)点击注册后记录以下信息:

1、应用程序(客户端)ID

2、客户端密码

3、目录(租户) ID



创建客户端密码:

2021-03-07 :

最近很多同学反应授权报错 Invalid client secret is provided.  这里请注意了,客户端密码请复制 “值”,不要复制 ID。

2021-08-19:

客户端密码这里已经没有了“从不”,只能选2年。(别在意这些,谁也不知道2年后微软的策略会不会变,2年换一次密钥也不麻烦)

 


保存好以上2个key,一会需要用到。

 


配置api权限


勾选一下四个选项后,同时点击 代表XX授予管理员同意
PS: 这一步如果用的是子账号创建的api,那么这一项是灰色的,不能点击。需要登录 管理员 账号,再点击 代表XX授予管理员同意

这个时候api的配置就算完成了

2、添加key到自动订阅程序

进入 https://e5.qyi.io/
这里需要github账户登录,同样的,我只能获取你在 github中的 用户id、用户名等基础信息(邮箱获取不了),其他的任何信息也获取不到(可自行尝试注册一个github Apps测试)。

登录后进入主页面

2023-01-01 :

进入主页面后,请先获取回调地址,每个人的地址都不同,请不要泄露以及复制别人的。

这一步骤是为了减少被判定为钓鱼应用的风险。

 

 

将这个地址复制,粘贴到 azure 面板,步骤如下

新建应用

名称随意输入,只是个标识而已,描述可空。

点击 配置


填入上一步记录的

应用程序(客户端)ID、客户端密码  、租户ID

点击下一步进行配置调用时间,

  • 说明:单位 秒(最低调用频率为 60 秒,最高为6小时),例如: 30-60,代表在30秒-60秒之间随机调用一次

再点击下一步,到了 授权 ,

此时会跳转到 microsoftonline Auth2.0授权页面,在这里请注意使用同一个域下的空账号(子账号)进行授权。
(因为在这一步我能获取到授权的outlook账户 邮件,但是程序不会保存,仅仅是调用api。)以免在以后发生误会。

点击 接受 后,将会跳转回自动订阅程序。

到此时,授权就完成了。

3、下一步

已经没啦~
到这里你就可以不用管了,程序会每两个小时调用一次outlook的api。
界面写得辣鸡,因为我不会前端呀~大家将就看看就行了。
过几天我会把删除功能加上,可以删除在程序里注册的账户。
交流群:959720211(已被封)

二群: 546596275

还是要说一下隐私安全问题

因为有几个读者也说到了,统一回答下

  1. api权限仅拥有 openid offline_access Mail.Read Mail.ReadWrite Mail.ReadBasic Mail.ReadBasic.ALL 这6个权限
  2. 也就是说我仅仅能读取授权账户的邮件,其他任何事都做不了,且我写的这个程序没有保存任何除key之外的信息
  3. 所以一开始我就说了,用子账户进行授权(空账户)及创建api,这样不涉及到 隐私及安全问题。
  4. 如果实在担心不想用了,azure 直接删掉api就可以了。

请喝杯咖啡吧

如果此项目对你有帮助,请喝杯咖啡吧~



从此项目自2020年3月上线以来,目前已有6500+个API应用在调用,到目前服务器费用大概花费5000+  ~~~~

4、FQA

Q: 日志是空的

A:  如果是新加入的账户,请等待系统自动调用。

Q: 参数错误

A: 如果 应用id 与 密钥 都没有错误的情况下,那么创建的时候看一下 “任何组织目录(任何Azure AD目录-多租户)中的帐户和个人Microsoft 帐户(例如,Skype、Xbox)” 有没有选这个

Q: 什么时候续期

A: 最后一个月中的任意一天会进行续期,目前是微软程序检测活跃情况,人工点击“一键续期”???

Q: REST API is not yet supported for this mailbox.

A:创建子账号的时候需要给outlook许可。

Q: 显示 此订阅处于非活动状态,将很快过期

A:这个提示是少于30天就会显示,并非根据活跃情况显示的。

Q: 过期了怎么办

A: 在过期后的2个月内订阅还是可以用的,所以可以在2个月内取回数据。如果在过期1个月都还没有续订的话,那么就可以开始转移数据了。

Q: 续期历史

2020-04-28 续期一次
2020-06-26 续期一次
貌似从 6月26日开始后,基本上每天都会检测订阅,难道现在不用 人工点击“一键续期”了?

5、注意问题

  1. 如果是在到期一个月调用,那么请用管理员账户登录,因为这个时候除了管理员能登录outlook以外,其他的子账户都不行!

6、关闭双重验证

群友发的

6、更新日志

2020-03-04:

  1. 加入调用时间显示,每日 0 点清空。

2020-04-17 11:12:

  1.  更新完成,加入随机调用时间
  2. 会读取邮箱前5封邮件

2020-04-21 01:04

  1. 由于消息队列没有配置好,导致无法正常随机调用api问题。(已修复)

2020-04-22 23:04

  1. 修复新注册的童鞋没有显示日志问题。
  2. 在调用时间范围内重复问题。

2020-08-19
维护中......
2020-08-23
已恢复
2020-12-20
增加同一账户多应用调用

 
标签: 暂无
最后更新:2023年1月29日

浅忆

时间还是一样的时间,不紧不慢地流走着,或许还会带走些什么,也会留下些什么,一切都按着原有的轨迹有序地进行。

点赞
< 上一篇
下一篇 >

文章评论

  • 看看不懂

    谢谢大佬,已经捐赠了,

    2023年1月31日
    回复
  • 光头强

    谢谢大佬

    2023年1月30日
    回复
  • awaae

    谢谢大大,已经赞助了,希望越做越好

    2023年1月30日
    回复
  • 小菜

    博主您好,按步骤操作成功了,请问怎样能验证能正常运行呢

    2023年1月29日
    回复
    • 浅忆

      @小菜 等到调用时间到了,查看 “日志” 里是否有调用记录。

      2023年1月30日
      回复
  • 11111

    博主,请问一下请求服务端异常,错误代码0怎么解决

    2023年1月29日
    回复
    • 浅忆

      @11111 这个一般是到服务器的网络问题

      2023年1月30日
      回复
  • zjwww

    Mail.ReadWrite权限说明是有可以修改或写邮件及邮箱内容权限的吧?所以不仅仅是只读权限。

    2023年1月28日
    回复
    • 浅忆

      @zjwww 是的,之前没注意,这个权限确实可以修改。
      但我没有用到这个api,后续会将这个权限去掉。

      ps:可以到az后台查看api调用记录。

      2023年1月29日
      回复
  • MY

    没出现microsoftonline Auth2.0授权页面,但显示授权成功是正常的吗?

    2023年1月28日
    回复
    • 浅忆

      @MY 正常的,因为你已经授权过了

      2023年1月29日
      回复
  • yu

    这个续订是在到期前多长时间自动续订?

    2023年1月27日
    回复
    • yu

      @yu 日志显示执行了好多次但是微软那到期时间没有变化?

      2023年1月27日
      回复
      • 浅忆

        @yu 一般在到期前30天以内

        2023年1月29日
        回复
    • 浅忆

      @yu 一般在到期前30天以内

      2023年1月29日
      回复
  • ken

    成功了,感謝博主更新,捐赠了小錢,新年快樂 :smile:

    2023年1月25日
    回复
  • 依儿

    有5个API权限 其中最后有一个 User.Read 这个权限我没授权,但是续订里面的日志是显示读取邮件成功的,这样的话可以吗?

    2023年1月23日
    回复
    • 浅忆

      @依儿 可以的

      2023年1月29日
      回复
  • AAA

    最后提示这个错误怎么办呢
    AADSTS500113: No reply address is registered for the application.

    2023年1月21日
    回复
    • 浅忆

      @AAA 没有填写回调地址

      2023年1月29日
      回复
    • 浅忆

      @AAA 没有设置回调地址

      2023年1月30日
      回复
  • Weng

    @浅忆

    2023年1月21日
    回复
  • 铁蛋

    现在订阅刚刚过期,怎么在用户里授权Outlook权限呢?

    2023年1月21日
    回复
    • 铁蛋

      @铁蛋 我采用别的账号授权了,具体大概多久才能恢复订阅

      2023年1月21日
      回复
  • Weng

    “ 读取邮件数量:0 成功“,这个正常吗?

    2023年1月20日
    回复
    • 浅忆

      @Weng 正常的

      2023年1月29日
      回复
  • 战天使

    大佬,这个回调地址是怎么获取的,我想自己搞个私人api用来挂载onedrive

    2023年1月19日
    回复
    • 浅忆

      @战天使 哈哈,根据用户id md5编码生成的,你挂在od用挂载程序的回调就行了。

      2023年1月29日
      回复
  • lanjiang

    博主您好,最后一步授权出错显示AADSTS7000215: Invalid client secret provided. Ensure the secret being sent in the request is the client secret value, not the client secret ID, for a secret added to app 'e188a0ed-8d9c-42c5-a588-5315e222b45a'. Trace ID: 21364287-d1e3-47ac-95fa-ac9440762700 Correlation ID: 543f7e90-5928-4e00-9855-6b03208ee95a Timestamp: 2023-01-18 11:11:41Z 是为啥

    2023年1月18日
    回复
    • 浅忆

      @lanjiang 客户端密码填写错了

      2023年1月29日
      回复
  • niyu

    AADSTS7000112:应用程序“8052ba28-c917-41fd-9b72-aa8601077896”(e5) 已禁用。
    这个咋办,卡在授权这一步了

    2023年1月18日
    回复
    • 浅忆

      @niyu 好像因为被微软认为是钓鱼应用,所以被禁止了。需要重新新建一个应用。

      2023年1月29日
      回复
  • teeew

    最后授权的时候同样是disable

    2023年1月17日
    回复
  • ZYB14

    没有遇到任何问题,成功续订。谢谢博主

    2023年1月16日
    回复
  • DannyFeng

    这个项目似乎被微软给禁了,在最后一步授权时显示Disabled

    2023年1月14日
    回复
    • 浅忆

      @DannyFeng 详情: https://qyi.io/archives/1042.html

      2023年1月14日
      回复
  • 夜曦

    @admin AADSTS7000112: Application '692abc72-94a0-44ee-ac64-2263183018ed'(12341234) is disabled.这个怎么办?

    2023年1月13日
    回复
  • 夜曦

    AADSTS7000112: Application '692abc72-94a0-44ee-ac64-2263183018ed'(12341234) is disabled. 大佬这个怎么办?@浅忆

    2023年1月13日
    回复
  • 加载更多
    取消回复

    COPYRIGHT © 2022 浅忆博客. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang