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

由于我前端是废的,界面将就看看就行了,不影响程序~
申请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

点击 新注册

名称随意取一个,但是最重要的是 “重定向 URI (可选)”,请填写为下列地址,不然程序收不到回调。

https://e5.qyi.io/outlook/auth2/receive

2020-03-02 15:32
小伙伴们注意了,这里受支持的账户类型  重定向 URI (可选)一定要填对,不然无法授权的哦。

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

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

应用程序(客户端)ID:

创建客户端密码:

2021-03-07 :

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


保存好以上2个key,一会需要用到。
配置api权限


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

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

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

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

点击

图标

登录后进入主页面

点击 新建 

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

点击 配置


填入上一步记录的 应用程序(客户端)ID、客户端密码  
client_id ->应用程序(客户端)ID
client_secret->客户端密码 

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

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

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

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

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

到此时,授权就完成了。

3、下一步

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

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

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

  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应用在调用,到目前服务器费用大概花费1000+  ~~~~

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
增加同一账户多应用调用

评论

  1. xiuku
    1年前
    2020-3-02 18:14:22

    感谢大佬,辛苦了,成功授权了

  2. 1年前
    2020-3-02 17:36:21

    虽然我已经自己调用 api 续订了,但是还是得说博主nb!

    • 2496414612
      1年前
      2020-3-03 11:52:28

      请问你调用了outlook吗

      • 1年前
        2020-3-04 11:59:09

        我按照官方文档拼接 Uri 调用了 OutLook 的 API ,比如获取邮件和发送邮件啥的。https://docs.microsoft.com/zh-cn/previous-versions/office/office-365-api/api/version-2.0/use-outlook-rest-api

  3. drrick
    1年前
    2020-3-02 16:23:32

    一次就成了,感谢

  4. Forevercontinent
    1年前
    2020-3-02 15:29:16

    为什么跟其他人一样这个报错...

    • Forevercontinent
      1年前
      2020-3-02 16:32:40

      看了一下评论,已经解决

  5. lunsit
    1年前
    2020-3-02 15:11:37

    报错啦 {"code":500,"msg":"value == null","data":null}

  6. 花鑫
    1年前
    2020-3-02 13:29:23

    授权失败!
    错误: 未知错误,请联系管理员~

    • admin 博主
      1年前
      2020-3-02 15:04:55

      这个一般是 client_id、client_secret 填写错误导致的

  7. wexy
    1年前
    2020-3-02 13:14:58

    博主最后一步显示这个{"code":500,"msg":"value == null","data":null}是因为什么啊

  8. lp
    1年前
    2020-3-02 13:06:10

    emm保存不上点击授权也没有反应_(:з」∠)_是我网的问题吗

    • admin 博主
      1年前
      2020-3-02 13:07:49

      是不是禁用js了~~~

      • lp
        1年前
        2020-3-02 13:11:33

        是万恶的移动宽带 我换了电信就保存上了但是 报错{"code":500,"msg":"\n### Error updating database.

        • admin 博主
          1年前
          2020-3-02 13:17:54

          已修复,再试一次~

          • lp
            1年前
            2020-3-02 13:19:12

            Thanks♪(・ω・)ノ已经好使了

  9. 工藤新2
    1年前
    2020-3-02 13:03:33

    感谢大佬!

  10. dawnli
    1年前
    2020-3-02 11:57:57

    谢谢博主大佬!我在想过后大佬要不要用rand时间,不然以后都是两小时的过后被微软看到会不会被提高一些新的门槛了

    • admin 博主
      1年前
      2020-3-02 12:17:08

      ojbk,后面我加上随机时间~

  11. zy
    1年前
    2020-3-02 11:40:18

    大佬,怎样调用多个账户的api

    • admin 博主
      1年前
      2020-3-02 11:53:44

      emm......暂时木有多key的功能,后期添加上,目前只能多注册几个github账户登录了......

  12. potato1949
    1年前
    2020-3-02 11:15:05

    楼主辛苦了,我自己也找了个demo调用。

  13. 1年前
    2020-3-02 10:33:10

    卧槽,大佬牛逼

  14. Ray
    1年前
    2020-3-02 10:13:33

    楼主楼主,请问保活需要调用API的时间是多久鸭,我现在每2小时调用一次API已经三天了,还是没有续期,是因为我刚刚开通,还剩八十多天的缘故嘛,是要等到少于一个月才会续期嘛 😥

    • admin 博主
      1年前
      2020-3-02 10:15:45

      那你还早呀,确实要少于一个月才会续期。

      • Ray
        1年前
        2020-3-02 10:19:23

        那我现在还要疯狂调用嘛,还是等到少于一个月再调用 :mrgreen:

        • admin 博主
          1年前
          2020-3-02 10:21:37

          你就挂在我的这个程序上就可以了,2小时调用一次,这个频率已经超级低了。真正用这个api的公司/个人,并发量都很大的。

  15. 1年前
    2020-3-02 9:45:22

    请问下大佬,这个网页以后会开源吗,想把它部署到自己的服务器(同一ip疯狂部署不会被banIp吗),这样稳一点。

    • admin 博主
      1年前
      2020-3-02 9:58:18

      暂时没看见文档说访问频率多少,auth一般都是限制key访问频率,目前我这个是2小时一次,完全没问题。至于开源嘛,如果没问题以后会开的~

      • 1年前
        2020-3-02 10:21:07

        顺便无痕窗口添加报错
        {"code":500,"msg":"nested exception is org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2","data":null}

        • admin 博主
          1年前
          2020-3-02 10:34:25

          make,是因为未知bug导致添加了两次key,回去一起修复~

  16. YHX
    1年前
    2020-3-02 9:31:14

    博主,进入Azure那里是用管理员账号还是我新建的账号?

    • admin 博主
      1年前
      2020-3-02 9:41:02

      尽量用自己子账号,然后用管理员账户授权就可以啦~

      • YHX
        1年前
        2020-3-02 10:43:47

        博主,为什么我点“授权”之后微软的网站就一直在刷新,我点了账号也没用,过了一会儿又显示“无法登录”呀?

        • admin 博主
          1年前
          2020-3-02 10:45:35

          可能是网络问题,国内访问微软都不咋样,不行就科学上网吧。

          • YHX
            1年前
            2020-3-02 11:21:57

            博主,我试了一下,如果用管理员账号就可以正常授权,但是如果用子账号就会要你填更多信息,点击跳过之后它就开始一直刷新了。

          • admin 博主
            1年前
            2020-3-02 11:25:49

            能不能录一个视频我看一下是啥问题。

          • YHX
            1年前
            2020-3-02 11:43:17

            博主,视频上传到了
            https://www.lanzous.com/xxxxx
            因为网盘原因,所以压缩了一下。我还想问一下就是可以直接用管理员账号授权吗?反正我也不用那个账号收发邮件~

          • admin 博主
            1年前
            2020-3-02 12:22:56

            可以直接使用管理员账号,视频我看了(链接帮你删了),这个是你设置了安全策略导致的~

          • YHX
            1年前
            2020-3-02 12:28:09

            好的,感谢博主大大!那这个安全策略要怎么关闭呀?

          • admin 博主
            1年前
            2020-3-02 13:05:38

            微软的分类太多了,我也没找到。你看看这里面有没有你的账户 https://aad.portal.azure.com/#blade/Microsoft_AAD_IAM/RiskyUsersBlade ,用管理员账户看。
            https://aad.portal.azure.com/#allservices 这个链接是管理安全的。

          • YHX
            1年前
            2020-3-02 15:44:58

            非常感谢博主大大,我添加手机号就可以了,谢谢!

  17. Aaron
    1年前
    2020-3-02 9:24:18

    最后一步,点击授权出现 {"code":500,"msg":"value == null","data":null}

    • admin 博主
      1年前
      2020-3-02 9:40:11

      看了下日志,奇怪的错误,主要是因为api返回的状态码不对,先记录下,等一起修复......你再试一下,两个参数一定要填对啊~

    • hm773
      1年前
      2020-3-02 9:57:37

      我用子号也出现这个问题,直接用管理员账号可以了

      • Alex_2222222
        1年前
        2020-3-02 12:19:38

        我好像也出现了这个问题,不过用管理员账号好像也没有成功

        • Aaron
          1年前
          2020-3-02 14:58:19

          找到错误原因:登录Azure - 应用注册,新注册的时候,名称随意取一个之后,在下面能看到【受支持的账户类型】 应当把账户类型选择最后一个任何组织目录。我之前是因为忽略了这个,现在已经成功授权了

          • 1年前
            2020-4-02 15:20:12

            我也是同样的错误,用你说的办法,改了权限就能用了。多谢!

  18. 1年前
    2020-3-02 8:56:11

    最后一步,添加填入上一步记录的 应用程序(客户端)ID、客户端密码
    client_id ->应用程序(客户端)ID
    client_secret->客户端密码
    这里错误。

    • admin 博主
      1年前
      2020-3-02 8:59:15

      我都错 😥 ,已修复~

  19. hm773
    1年前
    2020-3-02 8:41:23

    感谢教程!但是好像网页报错了 😕 ,没法添加id和key

    • admin 博主
      1年前
      2020-3-02 8:59:20

      我都错 😥 ,已修复~

  20. dawnli
    1年前
    2020-3-02 8:39:49

    博主,我登录https://e5.qyi.io/user/home这个网址的时候,有FreeMarker template error。没办法登录授权

    • admin 博主
      1年前
      2020-3-02 8:59:24

      我都错 😥 ,已修复~

  21. 无聊的小疯子
    1年前
    2020-3-02 8:28:58
    • admin 博主
      1年前
      2020-3-02 8:59:31

      我都错 😥 ,已修复~

  22. sjf
    1年前
    2020-3-02 8:18:55

    打开来报错,Edge和Firefox都试过了。FreeMarker template error (DEBUG mode; use RETHROW in production!):The following has evaluated to null or missing:==> client_id [in template

    • admin 博主
      1年前
      2020-3-02 8:59:36

      我都错 😥 ,已修复~

  23. 1年前
    2020-3-02 8:07:39

    报错了。。不能添加了

  24. 2496414612
    1年前
    2020-3-02 6:53:48

    大佬牛逼

  25. 1年前
    2020-3-02 2:32:03

    貌似挂了?

  26. zj
    1年前
    2020-3-02 1:26:53

    辛苦了,谢谢! 😉 😀

  27. ykp
    1年前
    2020-3-02 1:26:17

    代表管理员同意那里是灰的 是需要给这个账号管理员权限吗

    • admin 博主
      1年前
      2020-3-02 1:28:28

      不用给这个账户管理员权限,但是可能需要你登录管理员的账户,然后进入 应用注册 里面给授权一下,明天我试试用子账号创建api。

      • ykp
        1年前
        2020-3-02 1:34:46

        试了试需要登录管理员在同样界面给予同意就行了 博主的这个https://e5.qyi.io/user/home现在是还在维护不能用是吧 辛苦博主了~

        • admin 博主
          1年前
          2020-3-02 1:37:29

          可以访问的呀,因为套了cf,可能个别地方访问特别慢。

          • Kingvin
            1年前
            2020-3-02 1:55:55

            网站报错来着
            FreeMarker template error (DEBUG mode; use RETHROW in production!):The following has evaluated to null or missing:==> client_id [in template

          • admin 博主
            1年前
            2020-3-02 8:59:47

            我都错 😥 ,已修复~

      • firewire
        1年前
        2020-3-02 9:04:54

        这个现在只能用主账号创建API,还没法用子账号吧?

        • admin 博主
          1年前
          2020-3-02 9:06:49

          可以用子账号创建,但是需要登录管理员账户点击 授权(也是在 应用注册 这里)。

          • firewire
            1年前
            2020-3-02 9:39:28

            搞定子账号了。像博主说的,先用子账号创建,之后主账号授权就行了。万分感谢!

  28. 1年前
    2020-3-02 1:17:25

    站长辛苦!

    • yo
      1年前
      2020-3-04 21:05:24

      2020-03-04 13:05:29,失败,更新数据库时发现有重复的key。请问这是哪里操作不当造成?
      {"code":500,"msg":"nested exception is org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 3","data":null}

      • admin 博主
        1年前
        2020-3-05 8:59:28

        你的日志时间是多少,我看一下

        • yo
          1年前
          2020-3-05 14:01:13

          2020-03-04 13:05:29,谢谢

        • yo
          1年前
          2020-3-05 14:04:52

          刚刚看了日志,部分成功,部分失败。
          2020-03-05 11:03:05 失败 更新数据库时发现有重复的key
          2020-03-05 11:02:44 失败 更新数据库时发现有重复的key
          2020-03-05 09:03:02 失败 更新数据库时发现有重复的key
          2020-03-05 09:02:40 失败 更新数据库时发现有重复的key
          2020-03-05 09:02:40 失败 更新数据库时发现有重复的key

          • admin 博主
            1年前
            2020-3-05 14:24:37

            中午的时候我也发现了,等一会你再看看会不会出现这个错误。

          • yo
            1年前
            2020-3-05 19:26:23

            2020-03-05 19:02:38 失败 无法刷新令牌!code:2
            2020-03-05 18:01:10 成功 ok
            2020-03-05 17:02:36 成功 ok
            2020-03-05 16:01:22 成功 ok
            2020-03-05 15:04:18 成功 ok
            2020-03-05 14:01:19 成功 ok
            2020-03-05 13:02:45 成功 ok
            2020-03-05 12:01:13 成功 ok
            本以为成功了,结果19:02又一次新报错。谢谢大佬

          • admin 博主
            1年前
            2020-3-05 21:31:42

            我研究下,晚点修复~

  29. 1年前
    2020-3-02 1:09:48

    首评?

    • admin 博主
      1年前
      2020-3-02 1:11:54

      看来是第二 :mrgreen:

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇