标签: distribution-list

ms graph 将电子邮件添加到通讯组列表

我正在尝试从我的网站管理 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)

php distribution-list microsoft-graph-api

5
推荐指数
1
解决办法
931
查看次数