Office 365 team 官方示例代码的套壳开发,活跃绑定E5的github及自动化部署调用

拜请诸方大佬,各显神通,有缘续订
2020/10/31更新,喜讯:微软官方上线可设置非管理员的用户直接允许添加非组织开发的应用
2020/12/17 更新,不好的消息:E5开发订阅开发软件,只支持自己组织账号登录
正在研究:Office 365 team 官方示例代码上传绑定E5的github,并远程部署后,利用浏览器自动化插件调用自动化

E5开发者订阅,可绑定github账号,增加续期权重,如下图所示,因此本文在官方代码的基础,还是有一定价值的,毕竟在自己github库中开发微软的team应用了,公开的库,微软应该能检测到。
https://developer.microsoft.com/zh-cn/microsoft-365/profile/settings/accounts-linked

特别致谢

-(1)感谢 浅忆博客

-(2)感谢浅忆博客-E5技术交流群的群友:别恋流浪

点击此加入群聊【E5技术交流群】

成功示例

-(1)如果继续开发,可用远程动态部署服务
提供商:
https://render.com
示例站点:https://teamstudy.onrender.com/
https://vercel.com/
https://netlify.com/

-(2)国内外免费空间,上传静态文件部署,例如免费空间,如https://epizy.com

-(3)github page
拉取后文的setdiaoyong@teamAPI.git 库, 将库名改成 自己用户名.github.io
或直接在github中创建 用户名.github.io 的名字的库,上传代码,
访问地址是https://自己用户名.github.io

特别说明

-(1)非自动调用API,靠多方部署,以及注册用户调用api保活(可能没效果),该活动信息可能不会在管理员用户活跃统计图中显示,不喜勿用。

-(2)一定要设置好应用授权,web 跳转地址Redirect URIs,和,API授权,隐式授权等,不然用户登录界面报错,或闪退,以及退出后跳转报错。

-(3)如果要用自己域名,需要设置ssl的https安全连接,不然在应用授权中心无法设置跳转网址Redirect URIs。还要设置Logout URL为 https://localhost:3000/,不然可能退出后跳转报错。

-(4)个人账户只能登录team app,无法创建会议,只能用学校和工作账号登录进行创建,自己创建的自己组织所有子账户无需管理员授权即可登录。
但他人管理员账号登录即可授权,但他人子账号登录,需要其管理员对子账号进行授权,跳转本文第7小节,设置管理员授权。 现在E5开发者订阅下创建的应用只能自己组织内25个账号登录,个人和学校,其他组织都无法登录。

-(5)具体设置参照官方项目说明,根据自己测试添加,如果不清楚,请移步官方项目github库https://github.com/OfficeDev/msteams-app-lms-meetings 。

前期基础

(1)参考 浅忆博客新版可续签的Office 365开发者试用订阅!E5(附自动续订的方法)。申请office 365 开发者订阅。

(2)参考 啊哈程序:[Github Page---- 搭建个人博客] 网址:blog.csdn.net/yuexianchang/article/details/53431703 (手动复制到浏览器)。

可选的三种部署路线

(1)github+https://render.com 或https://vercel.com/或https://netlify.com(简单,可在线拉取官方更新,升级,自动构建部署)。

github拉取officedev官方码,修改成自己授权的ID,在线编译部署网页

  • a、 注册github

  • b、 拉取(页面右上角Fork)官方源代码,网址为:https://github.com/OfficeDev/msteams-app-lms-meetings ,修改成自己授权应用ID(按下文创建应用,获得应用ID);

  • c、 用自己github账号注册部署站点 https://render.com 或https://vercel.com/或https://netlify.com

  • d、 在部署站点中,选择自己修改好的,自动识别参数,直接网页最后确认,即可部署网页。

(2)github+github page(最简单,需本地编译官方更新,替换静态文件升级)

github拉取(页面右上角Fork)博主编上传的编译好的网页文件,在github修改成自己授权的应用ID,用github page部署静态网页。

  • a、 注册github

  • b、 拉取博主编译好的静态网页的存储库,网址为:https://github.com/aiyou9/teamAPI,按照说明,修改成自己授权应用ID;

  • c、 在Settings中修改库名为:自己github用户名.github.io。然后自动就部署成网页,访问网址为:https://自己github用户名.github.io;(本地访问可用fastgithub 参见https://navdoc.super.site/1-preparation)

(3)自有空间域名部署(需本地编译官方更新,替换静态文件升级)

要在自己空间、和https连接的域名下部署,可下载编译好的网页静态文件,修改成自己授权的应用ID,自行部署
(2020/10/31更新,推荐https://vercel.com/,提供免费空间,和https访问,可直接用github账户登录,拉取我的github账户中的静态文件,直接部署。)

  • a、 注册github

  • b、 下载网址为:https://github.com/aiyou9/teamAPI,点击绿色下载按钮,下载zip;

  • c、 上传到自有空间,按照说明,修改成自己授权应用ID,即可。

首先创建应用及授权

参考原官方项目说明,网址为:github.com/OfficeDev/msteams-app-lms-meetings (手动复制到浏览器)

个人设置截图如下:(2020/10/31开始更新,微软重构了Azure portal的界面,有点不一样了,后面有空再更新,之前无法设置组织内用户添加组织外应用,现在上线啦,感觉我的这个方法可能更有前途,多找一些人,使用自己上线的这team中转应用,其实就是个官方示例的开始界面《手动捂脸》)

-(1)在 Azure portal 注册应用并授权API

  • a、 起名,授权登录用户类型(此用户类型选择好后,以后不能改,微软个人账号只能登录,无法创建会议,推荐选2供自己组织和其他组织使用,方便找其他人登录调用)
  • 2022年1月3日更新,只能选择组织内了,E5开发者订阅创建的应用,只能自己组织内部的25个账号登录访问
  • ,跳转地址Redirect URIs填 https://localhost:3000/(http后s最好加)
  • b、如下图,填4个地方:1、Redirect URIs中填https://localhost:3000/(http后s最好加,上一步已填好);2、Redirect URIs再点击 add URL填上自己要部署https网址,如我的https://teamstudy.onrender.com/(这里网址可不断添加自己在不同空间部署成功的的网址,实现多方部署,但都必须是有ssl认证的https连接)例如,还部署在了githubpage,就继续增加github page的网址:https://<自己用户名>.github.io,3、Logout URL填 https://localhost:3000/(http后必须加s),4、勾选隐式授权access token,ID token。


源代码中有退出跳转网址路径

  • c、复制应用ID,待用,进入API授权设置
  • d、设置用户调用api,搜索online,选择readwrite权限
  • e、根据个人使用账户权限,可能要管理员授权使用该API,可以在右上角切换管理员账户,
  • f、点击进行管理员授权


-(额外提示)一个ID可以对应多个自己部署的https:域名,在web (经群友别恋验证)

网页部署

(1)github+render在线编译部署

2022年1月3日更新:render网站改版,可以直接选web service,使用nodejs命令,yarn build

  • a、 拉取官方项目库
  • b、 找到文件,点击修改, 修改成自己的应用ID
  • c、 用拉取的github账号登录render, 创建web空间,选择修改好应用ID的自己github库
  • d、 自动识别项目,填写名称,该名称就是给出网址的二级域名,其他无需更改,直接点击确认。

  • e、部署成功后,就给出访问网址,填写到之前应用授权处。

(2)github+github Page部署

  • a、拉取博主github上传编译好的网页文件:网址为:github.com/setdiaoyong/setdiaoyong.github.io (手动复制到浏览器)
  • b、在github网页中打开static\js,分别搜索main.b09a1c35.chunk.js和main.b09a1c35.chunk.js.map ,打开后,点击右上角笔图标,进行编辑,分别搜索 {授权appID} ,将 {授权appID} 连 {}挂号 一起替换成至自己设置好的app ID

  • c、修改库名为:自己github用户名.github.io

  • d、修改好,滚动本页到下方,可以看到,访问地址,即可访问

##(3)自由空间域名部署及设置参照github page部署方法

访问网页

  • a、在浏览器隐私模式中(防止自动登录影响),访问部署成功的网址
  • b、登录账户,不报错,不闪退,跳转进入如下界面
  • c、创建一个meeting,此次省略截图,完成调用,也继续可跳转到web端的team视频会议软件体验一下

问题解决

  • a、关键是授权设置,注意用设置登录类型范围内的账户登录,
  • b、如果登录报错,要看具体错误类型,再回去修改授权,未设置好Redirect URIs,会提示Redirect URIs不符合
  • c、如果登录闪退,隐式授权access token 和ID token 未勾选

注:感谢浅忆博客-E5技术交流群的群友:别恋流浪 提供了反馈。

邀请他人注册调用的授权设置(官方已对E5开发者订阅完全限制,只能组织内子账号调用部署的应用)

1.管理员中心设置允许非管理员用户添加(官方已上线)

(官方preview)
官方还在开发,设置后无法保存。
~~
~~
2020/10/31更新
官方已上线了🏳️‍🌈🏳️‍🌈🏳️‍🌈

2.管理员登录特定网址授权(本节作废,官方提供后台页面设置选项了)

  • a、子账号登录他人部署的应用,会报出需要管理员授权

    - b、可以从要登录应用跳转的微软sigin in界面复制网址来提取登录应用id和redirect_uri:
    提取信息
  • c、将提取的应用id和redirect_uri替换以下网址的部分:login.microsoftonline.com/common/adminconsent?client_id=要登录的应用ID&redirect_uri=要登录应用的跳转地址
    - d、 将替换好的网址复制到浏览器 .
    参见官方文档1官方文档2官方文档3官方文档4*
    - e、修改好,用管理员账号登录,接受应用需要的授权,然后在azure中修改:
  • f、打开组织应用
  • g、打开所有应用,搜索之前记录的他人应用名
  • h、以自己部署的为例,需要更换为在所有应用中搜索,我部署的应用名为teamstudy。
  • ~~ i、点击添加用户,此处已有的一个用户为管理员~~
  • ~~ j、添加允许登录的子账号~~
  • ~~ k、删除管理员授权,保证安全~~

未来计划

(1)周期性定时邮件及本地客户端自动回复维持子账号电子邮件活跃度,可能没有权重

(2)已检测,官方可能已忽略,不会识别为用户活跃——微软自动化工作流软件Power Automate提高子账号活跃度。参考官方学习文档

(3)网上有提到,绑定自己的域名,有可能更容易保活

(4)待实施部署的网址,使用edge,chrome浏览器,登录账号,安装automa插件,设置自动化流程,进行会议的创建😘

续订随缘

赞赏,支持作者

如果觉得本文对您有所帮助,请点击¥赞赏¥按钮,为作者原创加油鼓励

赞赏