已经在网上找过很多方法,但都不能成功.利用graphapi及powershell,最终是这个效果Get-MgUserMailFolderMessage : The request is trying to access a public folder in cloud which isn\'t supported.Status: 403 (Forbidden)ErrorCode: MailboxNotSupportedForRestApi
https://trycatchdebug.net/news/1299333/ps-graph-api-for-o365-calendar-events
再利用 Microsoft.Exchange.WebServices.dll, 也不成功.
2 个回答
0
IT 癡
iT邦高手 1 级 ‧ 2025-02-02 09:04:26
365 与邮件有关的备份是比较麻烦,我是使用 Outlook 地端软体设定某使用者的邮件帐号去做备份,公用的应该也可以,试看看公用资料夹附挂的帐号设定到 Outlook 地端软体中
-
1 -
-
small IT
iT邦新手 5 级 ‧
2025-02-06 12:02:46
谢谢你的回答,我不是用备份来拿取资料,而是想用直接的方法,因之前用EX2016,可以直接存取.
修改
0
Gary
iT邦好手 1 级 ‧ 2025-02-11 14:49:10
前提
Microsoft Graph API 和 Exchange Web Services (EWS) 不能直接存取 Office 365 公用资料夹行事曆,对于微软的限制。公用资料夹行事曆仍是Exchange地端旧有架构,而 Graph API 只支援个人信箱、共享邮箱、Office 365 群组行事曆。
方法一.
如果只想从 PowerShell 或 Graph API 取得行事曆,可尝试:
在 Outlook 中开启公用资料夹行事曆
在「行事曆属性」中,设定「共用权限」
将其「複製」到一个 共享邮箱 (Shared Mailbox),然后存取该共享行事曆
共享邮箱行事曆可以透过 Graph API 或 EWS 读取
这样就能绕过公用资料夹的限制
New-Mailbox -Name "SharedCalendar" -Shared
将行事曆从公用资料夹複製过去,透过手动拖拉或Power Automate同步
用Graph API读取共享行事曆
GET https://graph.microsoft.com/v1.0/users/sharedcalendar@yourdomain.com/calendar/events
方法二.
透过Power Automate同步到SharePoint或Outlook Group
建立一个 SharePoint List,透过Power Automate
触发条件:当 Outlook 行事曆事件新增时
动作:将资料写入 SharePoint
透过 Microsoft Graph API 存取 SharePoint 行事曆
这样就能用 REST API 读取行事曆事件
-
1 -
-
small IT
iT邦新手 5 级 ‧
2025-02-17 09:45:37
我在方法一上找不到"设定「共用权限」
将其「複製」到一个 共享邮箱 (Shared Mailbox),然后存取该共享行事曆",这个地方.
另方法二,SHAREPPOINT LIST的意思是否要建立teams or communication sites 去处理由outlook calendar 经POWER AUTOMATE COPY 出来的DATA?
修改