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

使用Microsoft Graph Beta API调用时遇方法声明兼容错误求助

解决Microsoft Graph Beta API PHP SDK的方法返回类型兼容错误

问题背景

我尝试使用Microsoft Graph Beta API获取数据,composer依赖配置如下:

"require": {
    "microsoft/microsoft-graph-beta": "^2.0.0-RC13",
    "microsoft/microsoft-graph-core": "@RC"
}

两段测试代码(分别用于获取用户信息、团队排班班次)均触发相同致命错误:

Fatal error: Declaration of Microsoft\Graph\Beta\Generated\Models\ODataErrors\ODataError::getAdditionalData(): ?array must be compatible with Microsoft\Kiota\Abstractions\Serialization\AdditionalDataHolder::getAdditionalData(): array in D:...\vendor\microsoft\microsoft-graph-beta\src\Generated\Models\ODataErrors\ODataError.php on line 43

解决方案

1. 修正依赖版本匹配

该错误源于microsoft-graph-beta RC13版本与microsoft-graph-core的@RC版本依赖的Kiota抽象层版本不一致,导致方法返回类型定义冲突(可选数组?array与必选数组array不兼容)。

修改composer.json的依赖配置,锁定到匹配的RC版本:

"require": {
    "microsoft/microsoft-graph-beta": "2.0.0-RC13",
    "microsoft/microsoft-graph-core": "2.0.0-RC11"
}

2. 更新依赖并重建自动加载

执行以下命令完成依赖更新:

composer update

3. 补全代码必要的命名空间

确保测试代码引入了所有必要的命名空间,例如代码1需补充:

use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\GraphRequestAdapter;
use Microsoft\Kiota\Authentication\Oauth\ClientCredentialContext;
use Microsoft\Kiota\Authentication\PhpLeagueAuthenticationProvider;
use Microsoft\Kiota\Abstractions\ApiException;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 00:45:48