HASS通过Outlook日历与华为日历联动

通过配置Outlook开发平台的应用功能,使得Outlook日历作为中转站串联起华为日历跟HASS日历插件,让三者的行程数据互通。

工作流

华为日历 <- > Outlook日历<- > HASS日历

通过修改这三个的任意一个(用Outlook的日历账户)可以同步到另外两个

华为&Outlook日历互通

APP准备

下载Outlook APP跟Authenticatol软件

Outlook APP:集成日历功能可跟华为系统日历同步
Authenticatol:微软账号登录的快捷安全验证

申请Outlook邮箱账号登录Outlook跟Authenticatol

设置同步

进入Outlook APP点击左上角和左下角进入设置

选择日历开启同步日历

微信图片_20260606145727_890_23

实验

分别在华为日历和Outlook上建立不同的行程,看是否同步

Outlook&HASS同步

HASS集成下载

RogerSelwyn大佬开发了个通过微软azure开发平台应用将日历等数据推送到HASS

GitHub页面:https://github.com/RogerSelwyn/MS365-Calendar

快捷配置页面:https://fixtse.com/en/blog/o365-integrations

视频教程:https://www.youtube.com/watch?v=_g5I2y-xzaM

根据GitHub页面或者快捷配置页面里面的连安装第三方集成

微软azure开发平台应用配置

平台网址:https://portal.azure.com/#home

打开开发平台登录进去

注册应用

在顶部搜索栏搜索“应用注册”

左上角“新注册”

填入以下信息

Pasted image 20260606151844

url :https://login.microsoftonline.com/common/oauth2/nativeclient

在概述页面有一个“应用程序(客户端) ID”复制备用

配置应用权限

点击左侧菜单栏的管理里面的API授权

点击“添加授权”然后点击“Microsoft Graph”然后点击“委托的权限”

Pasted image 20260606152238

查找官方文档里的日历应用需要的授权
具体如下

Pasted image 20260606152103

搜索相应的授权都勾选上

然后点击下方的添加授权

然后点击“添加权限”旁的“代表 Default Directory 授予管理员同意”

配置应用证书

点击证书和密码添加一个新客户端密码复制“值”里面的内容备用

配置HASS的微软日历集成

进入设置设备与服务右下角添加集成

搜索365点击Microsoft 365 Calendar

Pasted image 20260606152857

第一项名字自己取

Client ID = 刚才复制的应用程序(客户端) ID

Client Secret = 刚才复制的“值”

勾选Enable update services提交

点击蓝色的字体会让登录微软账号,然后会进入一个页面

如果是空白页是正常的直接复制网址然后输入HASS中的框里面确认就行了

如果是显示“此页面通常不会显示,可能是网络钓鱼攻击的迹象。URL包含你的密码。请立即关闭此页面,且不要复制或与任何人共享该URL。”赶紧复制当前的网址因为他马上就要跳走了,一般就是网络代理问题被微软认为是不安全的所以有一个保护机制。
把这个网址输入HASS框里确认就行

Pasted image 20260606153331

然后就看到了Outlook的默认3个实体

此时就可以实验在华为日历,Outlook日历和HASS左侧栏的日历中都试试添加事件看是否同步

遇到的问题跟如何排除的

Q:点开HASS的蓝色连接登录后提示“我们无法完成你的请求”
A:因为创建应用的时候Web连接填错了
修复:在应用总找到Authentication (Preview)页面修改连接为正确的https://login.microsoftonline.com/common/oauth2/nativeclient

Q:HASS跟Outlook同步不了
A:可能是权限啥的没配置好
修复:重新配置一下然后重启HASS,在集成中点击Microsoft 365 - Calendar删除刚才添加的东西重新添加一下

Pasted image 20260606154119

本博客已稳定运行
发表了86篇文章 · 总计80.83k字