Я пытаюсь использовать Microsoft Graph для отправки электронного письма с вложением, однако получаю только ответ «Внутренняя ошибка сервера». Я пробовал несколько разных вещей, но у меня нет радости, поэтому, надеюсь, кто-то здесь может помочь!
В API указано, что вы можете создать и отправить электронное письмо с вложением, но у меня возникли проблемы с этим, прежде чем я попытаюсь сначала создать электронное письмо в виде черновика, затем добавить к нему вложение и, наконец, отправить его. Черновик создает нормально, а без вложения нормально отправляет. Вот часть кода, которую я использую для прикрепления файла к электронному письму:
// Now add the attachments
using (var client = new HttpClient())
{
// URL = https://graph.microsoft.com/v1.0/me/messages/{id}/attachments
string AddAttachmentsUrl = GraphSettings.AddAttachmentsToMessageUrl;
AddAttachmentsUrl = AddAttachmentsUrl.Replace("{id}", newMessageId);
using (var request = new HttpRequestMessage(HttpMethod.Post, AddAttachmentsUrl))
{
request.Headers.Accept.Add(Json);
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
string serializedData = JsonConvert.SerializeObject(current);
// serializedData = {\"Name\":\"Test.txt\",\"ContentBytes\":\"VGVzdA0K\",\"ContentType\":\"text/plain\"}
request.Content = new StringContent(serializedData, Encoding.UTF8, "application/json");
using (HttpResponseMessage response = await client.SendAsync(request))
{
if (!response.IsSuccessStatusCode)
{
sendMessageResponse.Status = SendMessageStatusEnum.Fail;
sendMessageResponse.StatusMessage = response.ReasonPhrase;
return sendMessageResponse;
}
}
}
}
Я добавил несколько комментариев, чтобы вы могли видеть URL-адрес, который я отправляю, а также содержимое объекта, который я пытаюсь отправить. Я уверен, что упускаю что-то очевидное, может быть, как-то связано с кодированием данных bytes[] или установкой типа контента в заголовке где-то?
Любая помощь приветствуется, вот ссылка на функцию API, которую я использую: http://graph.microsoft.io/en-us/docs/api-reference/v1.0/api/message_post_attachments