【问题标题】:Microsoft Graph createReply does not add contentMicrosoft Graph createReply 不添加内容
【发布时间】:2022-05-06 20:56:22
【问题描述】:

我正在编写一个调用 microsoft graph api 以回复和发送电子邮件的 asp.net c# 应用程序,但是 /me/messages/{id}/createReply api 调用中似乎存在错误. 该文档指出,该内容需要一个“评论”属性,该属性作为唯一内容添加到消息回复草稿中。没有。

我已经使用实际代码进行了测试,并使用 Microsoft Graph Explorer 手动创建请求,并且每次忽略评论属性并创建仅包含原始消息中引用的文本的草稿回复。文档是不是完全不正确?

如果您完全省略了 comment 属性,则不会引发错误以表明所需的属性甚至丢失。

【问题讨论】:

  • 我还注意到 createReplyAll 和 createForward 不关注评论和收件人提供的参数。看起来 beta API 可以正常工作,但生产 API 不能。
  • 谢谢。经历过同样的事情。 Beta 版有效,但 v1.0 无效。

标签: office365 microsoft-graph-api


【解决方案1】:

我为这个问题苦苦挣扎了几个小时。 Graph API 真的很晦涩。无论如何,我已经以这种方式解决了这个问题。这是 PHP 但我确信没有区别,概念是一样的。

第 1 步:使用createReply API 创建草稿。您应该记住,请求没有正文。所以你只是在创建一个简单的草稿,没有任何内容或附件或任何来自你自己的东西。

$graph = new Graph();
    $graph->setAccessToken($token);

    try {
        $draftedMessage = $graph->createRequest("POST", "/me/messages/{$id}/createReply")
            ->setReturnType(Model\Message::class)
            ->execute();

第 2 步:接下来,您应该使用回复内容和/或附件更新您起草的电子邮件。

$body = $draftedMessage->getBody()->getContent();
        $updatedBodyContent = $comment . '\n' . $body;
        $itemBody = new Model\ItemBody();
        $contentType = new Model\BodyType(Model\BodyType::HTML);
        $itemBody->setContentType($contentType);
        $itemBody->setContent($updatedBodyContent);
        $draftedMessage->setBody($itemBody);

        $updatedMessage = $graph->createRequest("PATCH", "/me/messages/{$draftedMessage->getId()}")
            ->attachBody($draftedMessage)
            ->execute();
    } catch(RequestException $e){
        return response()->json(['status' => false, 'message' => $e->getMessage()]);
    }

同时创建草稿时无法添加内容。也许您应该调用 async 以避免用户端的延迟。如果您遇到任何问题,请告诉我。

【讨论】:

    【解决方案2】:

    很晚了,抱歉,但您至少可以在回复中添加自己的文本,发送这样的正文:

    {
        "comment": "<p>Dear madam or sir,</p><p>(reply text)</p><p>Kind regards,</p>"
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-16
      • 2020-07-11
      • 1970-01-01
      • 1970-01-01
      • 2016-08-04
      • 1970-01-01
      • 2017-05-05
      相关资源
      最近更新 更多