获取通过MS GraphAPI发送的新电子邮件的状态

时间:2019-02-21 21:45:58

标签: microsoft-graph microsoft-graph-mail

我正在使用msgraph api,并且能够发送消息等,但是我希望能够检查新创建消息的状态。发送新邮件时,返回的内容很少,实际上正文为空,并且显示以下状态代码和标头

Success - Status Code 202
client-request-id: 067e8a6e-ca66-450c-bef3-55b61f72a6bb
content-type: text/plain
cache-control: private
request-id: 067e8a6e-ca66-450c-bef3-55b61f72a6bb

是否有一个api调用,您可以在其中获取有关请求状态的信息?因为request-id不属于发送消息标题或推送通知。

还有一个API调用,可让我获取用户有权发送的所有电子邮件地址,以避免发生此类响应

{
    "error": {
        "code": "ErrorSendAsDenied",
        "message": "The user account which was used to submit this request does not have the right to send mail on behalf of the specified sending account., Cannot submit message.",
        "innerError": {
            "request-id": "50c4d68b-f23b-4f1f-8202-e95220e45628",
            "date": "2019-02-21T21:43:57"
        }
    }
}

1 个答案:

答案 0 :(得分:0)

不幸的是,此api不会返回Location标头,该标头带有指向状态资源的链接供您监视。但是,可以通过轮询“已发送邮件”文件夹中发送的电子邮件来确定是否已成功发送邮件。

GET https://graph.microsoft.com/v1.0/me/mailfolders/{sent-folder-id}/messages?$filter("subject eq '<sent email subject>'")

您可以从对此的响应中确定“ sent-folder-id”:

 GET https://graph.microsoft.com/v1.0/me/mailfolders