You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Graph API更新事件时遇'attendees属性不存在'错误排查

问题排查与解决方案

1. 修复请求体JSON语法错误

你的请求体JSON存在两处语法问题,这是导致API误报属性不存在的核心原因:

  • 所有键名(如attendees、body)未用双引号包裹,JSON规范要求键名必须是双引号字符串
  • 除最后一个键值对外,其余项末尾缺少逗号

修正后的请求体如下:

{
    "attendees": [{
        "emailAddress": {
            "address": "test@test.com",
            "name": "Jan Kowalski"
        },
        "type": "required"
    }],
    "body": {
        "content": ""
    },
    "end": {
        "dateTime": "2022-11-20T21:13:51",
        "timeZone": "Europe/Warsaw"
    },
    "location": {
        "displayName": "Dom"
    },
    "start": {
        "dateTime": "2022-11-13T21:13:51",
        "timeZone": "Europe/Warsaw"
    },
    "subject": "My event" 
}

2. 修正请求URL格式

当前请求URL中v1.0后多了一个斜杠,需改为:

https://graph.microsoft.com/v1.0/me/events/${id}

虽然部分服务器会忽略多余斜杠,但规范的URL可避免潜在解析异常。

3. 验证MSAL令牌权限

既然Graph Explorer的令牌可正常执行更新,说明账号本身具备权限,需确认MSAL请求的权限范围:

  • 检查MSAL配置的scopes是否包含https://graph.microsoft.com/Calendars.ReadWrite
  • 解码自身令牌(如通过jwt解析工具)查看scp字段,确认是否包含该权限
  • 若权限缺失,需更新MSAL的权限请求逻辑,重新获取包含正确权限的令牌

4. 确认事件类型

特殊类型事件(如会议系列实例、共享日历事件)可能存在属性限制,但结合你能正常获取/删除事件、Graph Explorer可更新的情况,此可能性较低,可额外确认目标事件为普通个人日历事件。

内容的提问来源于stack exchange,提问作者Ewelin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 03:16:24