如何使用MS Graph API修改Office 365组邮箱的自动回复设置?
问题描述
我希望使用MS Graph API为groupType='Unified'的Office 365组配置自动回复。目前能成功为用户邮箱设置自动回复,但对组执行该操作时失败,收到404错误。
尝试的代码
$payload = @" { '@odata.context': 'https://graph.microsoft.com/v1.0/$metadata#Me/mailboxSettings', 'automaticRepliesSetting': { 'status': 'scheduled', 'externalAudience': 'all', 'scheduledStartDateTime': { 'dateTime': '2024-09-12 09:00:00', 'timeZone': 'UTC' }, 'scheduledEndDateTime': { 'dateTime': '2024-09-12 22:00:00', 'timeZone': 'UTC' }, 'internalReplyMessage': 'message goes here', 'externalReplyMessage': 'message goes here' } } "@ Invoke-MGGraphRequest ` -uri "/groups/<GROUP_ID>/mailboxSettings" ` -method 'PATCH' ` -body $payload
收到的响应
Invoke-MgGraphRequest: PATCH https://graph.microsoft.com/groups/<GROUP_ID>/mailboxSettings HTTP/2.0 404 Not Found Vary: Accept-Encoding Strict-Transport-Security: max-age=31536000 request-id: <REQUEST_ID> client-request-id: <CLIENT_REQUEST_ID> x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"Australia Southeast","Slice":"E","Ring":"3","ScaleUnit":"001","RoleInstance":"ML1PEPF0000E51D"}} Date: Thu, 12 Sep 2024 03:09:24 GMT Content-Type: application/json Content-Encoding: gzip {"error":{"code":"ResourceNotFound","message":"Invalid version: groups","innerError":{"date":"2024-09-12T03:09:24","request-id":<REQUEST_ID>,"client-request-id":<CLIENT_REQUEST_ID>}}}
解决方案
Office 365统一组(Unified Group)的自动回复配置不使用mailboxSettings端点,该端点仅适用于用户邮箱。针对组的自动回复,需使用group资源下的autoReplyConfiguration属性,通过PATCH /groups/{group-id}接口修改。
关键修正点
- API端点错误:原请求用的
/groups/<GROUP_ID>/mailboxSettings不存在,应改为直接PATCH /groups/<GROUP_ID>; - 请求体结构错误:组的自动回复属性是
autoReplyConfiguration,而非用户邮箱的automaticRepliesSetting,字段结构略有差异; - 权限要求:需拥有
Group.ReadWrite.All/Directory.ReadWrite.All(应用权限),或Group.ReadWrite(委托权限)。
修正后的代码
$payload = @" { "autoReplyConfiguration": { "status": "scheduled", "externalAudience": "all", "scheduledStartDateTime": { "dateTime": "2024-09-12T09:00:00", "timeZone": "UTC" }, "scheduledEndDateTime": { "dateTime": "2024-09-12T22:00:00", "timeZone": "UTC" }, "internalReplyMessage": "<p>内部自动回复内容</p>", "externalReplyMessage": "<p>外部自动回复内容</p>" } } "@ Invoke-MGGraphRequest ` -uri "https://graph.microsoft.com/v1.0/groups/<GROUP_ID>" ` -method 'PATCH' ` -body $payload ` -ContentType 'application/json'
注意事项
- 回复消息支持HTML格式,需用
<p>等标签包裹内容; - 确保请求的Graph API版本为
v1.0或beta(优先使用v1.0); - 验证目标组确实是
Unified类型(可通过GET /groups/<GROUP_ID>确认groupTypes包含Unified)。
内容的提问来源于stack exchange,提问作者BenjaminSelby
相关产品推荐
相关产品推荐

