使用 Microsoft Graph SDK 批量发送电子邮件转发请求

时间:2021-01-13 13:39:59

标签: c# .net-core microsoft-graph-api microsoft-graph-sdks microsoft-graph-mail

在使用 Microsoft Graph SDK 循环转发一封电子邮件时,我遇到了请求限制,因此我选择使用批量请求功能(文档中以示例进行了描述) {3}})。

我尝试使用单个消息转发请求发布一批,但它不起作用 - 我不确定出了什么问题。

如果有帮助,调用批次的 status 返回的 Task<BatchResponseContent>postAsync()WaitingForActivation

非批处理单个请求 - 工作

为任何电子邮件调用此方法都有效,尽管在循环中重复调用它时,某些邮件转发请求会因节流而被忽略。

public async void ForwardMessage(mailbox, messageID, toRecipients, forwardComment)
{
        await _graphServiceClient
            .Users[mailbox]
            .Messages[messageID.ToString()]
            .Forward(toRecipients, null, forwardComment)
            .Request()
            .PostAsync();
}

批处理单个请求 - 不工作

将之前相同的单个请求包装在 BatchRequestContent 中,然后发布批处理不起作用。

public async void ForwardMessage(mailbox, messageID, toRecipients, forwardComment)
{

        var batchRequestContent = new BatchRequestContent();

        var request = _graphServiceClient
            .Users[mailbox]
            .Messages[messageID.ToString()]
            .Forward(toRecipients, null, forwardComment)
            .Request();

        batchRequestContent.AddBatchRequestStep(request);

        await _graphServiceClient.Batch.Request().PostAsync(batchRequestContent);
}

0 个答案:

没有答案
相关问题