как удалить исходное сообщение в ответах и ​​пересылке с помощью microsoft graph api

нам нужно получить все письма на основе идентификатора разговора, письма отвечают тем же электронным письмом, которое они получили. при ответе они не удаляют исходное сообщение. поэтому в ответном письме будет исходное сообщение. проблема в том, что когда мы получаем почту с помощью графического API, она возвращает все сообщение (включая исходное сообщение). есть ли способ получить ответ по почте без исходного сообщения?


person syam lal    schedule 20.05.2020    source источник
comment
Вы имеете в виду, что хотите удалить содержимое электронной почты из истории? Например, ответьте на письмо B, вы не хотите показывать исходное письмо, отправленное от B к A, когда вы запрашиваете api графика?   -  person Hury Shen    schedule 20.05.2020
comment
@HuryShen именно так. я хочу удалить предыдущее исходное сообщение из результата api   -  person syam lal    schedule 20.05.2020


Ответы (1)


Насколько мне известно, это не может быть реализовано с помощью графического API, потому что электронное письмо с историей является частью тела нового письма. Таким образом, мы можем просто показать все тело письма в графическом API.

В качестве обходного пути мы можем сделать это при разработке кода. Когда мы получаем данные ответа от api графика, мы можем проанализировать json и получить body.content. Затем мы можем подставить строку содержимого и просто оставить содержимое перед «От:». Но если мы выполним операцию с подстрокой для body.content, это может вызвать некоторые проблемы, потому что он содержит много тегов html. Поэтому я предлагаю вам выполнить операцию с подстрокой в ​​поле bodyPreview, просто подставив bodyPreview и оставив содержимое перед «От:».

Между прочим, если вы можете позволить пользователям удалять тело электронного письма с историей перед отправкой, это лучше (хотя я знаю, что это может быть невозможно ~).

person Hury Shen    schedule 20.05.2020
comment
Во-первых, мы не можем выполнять операцию подстроки в bodyPreview или body.content. потому что каждое письмо отличается форматом и стилем. так что это не работает - person syam lal; 20.05.2020
comment
@syamlal Можно ли разобрать body.content html и удалить исходное письмо. Независимо от того, какой метод используется, я думаю, это должно быть немного хлопотно. - person Hury Shen; 20.05.2020
comment
я почти сделал это. Я использовал парсер html для разбора содержимого почты на содержимое html. в некоторых случаях мы получали исходную старую почту внутри тега blockquote, поэтому мы можем удалить данные внутри тега. тогда мы сможем избежать оригинальной старой почты. к сожалению, большинство писем не содержат разделений или не включаются в цитаты. очень сложно определить, где начинается старый исходный контент - person syam lal; 20.05.2020