我正在尝试从我的网站管理 ms 365 中的通讯组列表,我在其中保存所有用户信息。我希望将用户及其个人电子邮件添加到通讯组列表中,因此无需成为 ms365 环境的成员。
$graph = new Graph();
$graph
->setBaseUrl("https://graph.microsoft.com/")
->setApiVersion("beta")
->setAccessToken($this->accessToken);
$group_id = 'xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx';
$data = json_encode(array(
"GivenName" => "John",
"Surname" => "Doe",
"EmailAddresses" => array(
array(
"Address" => "email@example.com",
"Name" => "John Doe"
)
)
));
$response = $graph->createRequest("post", "/groups/{$group_id}/members")
->addHeaders(array("Content-Type" => "application/json"))
->setReturnType(Model\User::class)
->attachBody($data)
->setTimeout("1000")
->execute();
Run Code Online (Sandbox Code Playgroud)
我得到的回应是:
未捕获的 GuzzleHttp\Exception\ClientException:客户端错误:
POST https://graph.microsoft.com/beta/groups/xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx/members导致400 Bad Request响应:{"error":{"code":"Request_BadRequest","message":"操作 'Create' 不支持资源类型 'DirectoryObject'。","i (被截断了……)
进一步的错误堆栈:
C:\xampp\htdocs\site\content\libraries\MicrosoftGraph\vendor\guzzlehttp\guzzle\src\Exception\RequestException.php:113 Stack trace: #0
C:\xampp\htdocs\site\content\libraries\MicrosoftGraph\vendor\guzzlehttp\guzzle\src\Middleware.php(69): GuzzleHttp\Exception\RequestException::create(Object(GuzzleHttp\Psr7\Request), Object(GuzzleHttp\Psr7\Response), NULL, Array, NULL) #1
C:\xampp\htdocs\site\content\libraries\MicrosoftGraph\vendor\guzzlehttp\promises\src\Promise.php(204): GuzzleHttp\Middleware::GuzzleHttp\{closure}(Object(GuzzleHttp\Psr7\Response)) #2 …Run Code Online (Sandbox Code Playgroud)