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

PHP用Graph API创建Teams会议报UnableToDeserializePostBody错误

错误原因

这个400 Bad Request反序列化错误由三个核心问题导致:

  • 请求体结构层级错误:POST /me/events接口的请求体根节点直接填写日程事件的属性即可,你的代码给所有事件字段额外套了一层message键,这是调用发邮件接口的结构,不符合创建日程接口的参数要求,API无法识别。
  • SDK传参方式错误:你使用的Microsoft Graph PHP SDK中,attachBody()方法接收数组类型参数时会自动完成JSON编码、设置请求头的工作。你提前把参数数组用json_encode转成字符串再传入,SDK会将该字符串作为普通文本值再次做JSON转义,最终发送的请求体是被转义的字符串而非合法JSON对象,直接触发反序列化失败。
  • 配置缺失:你设置了isOnlineMeeting => true但未指定在线会议提供商,即使结构正确也无法正常生成Teams会议链接。
修复方法
  1. 调整请求体结构,去掉外层多余的message包裹层,补充onlineMeetingProvider字段配置,修正后的参数数组如下:
$CreateMeetingBody = [
    'subject' => 'Test afspraak Marloes',
    'body' => [
        'content' => 'Does morning work for you?',
        'contentType' => 'HTML'
    ],
    'start' => [
        'dateTime' => '2022-07-17T18:00:00',
        'timeZone' => 'Europe/Paris'
    ],
    'end' => [
        'dateTime' => '2022-07-17T19:00:00',
        'timeZone' => 'Europe/Paris'
    ],
    'location' => [
        'displayName' => 'Microsoft Teams'
    ],
    'attendees' => [
        [
            'emailAddress' => [
                'address' => 'stijnd0413@icloud.com',
                'name' => 'Stijn Deckers'
            ],
            'type' => 'required'
        ]
    ],
    'allowNewTimeProposals' => false,
    'isOnlineMeeting' => true,
    'onlineMeetingProvider' => 'teamsForBusiness'
];
  1. 调整SDK调用逻辑,删除提前对参数做json_encode的代码,直接把数组传入attachBody()即可,无需重复添加Content-Type请求头,SDK会自动处理编码和头信息:
// 删除无用代码:$headers = ['Content-Type' => 'application/json'];
// 删除无用代码:header('Content-Type: application/json; charset=utf-8');
// 删除无用代码:$CreateMeetingJSON = json_encode($CreateMeetingBody);

GraphHelper::$userClient->createRequest('POST', '/me/events')
                        ->attachBody($CreateMeetingBody)
                        ->execute();

注:如果你的PHP版本低于7.3,需要去掉数组最后一个元素后面的尾随逗号,避免触发语法错误。

调整完成后重新调用接口即可正常创建带Teams链接的日程会议。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 15:45:31