Когда вы используете /createreply
, /createreplyall
или /createforward
в сообщении, API создает черновик сообщения в папке Drafts
и копирует ряд свойств исходного сообщения в этот черновик. Например, он может скопировать тему и добавить к ней «RE:» и тому подобное.
Для тела он генерирует горизонтальную линию и сводку информации («От», «Отправлено», «Кому» и т. д., с которыми мы все знакомы). Затем он добавляет тело исходного сообщения внизу.
Сразу после создания свойство Body
черновика ответа/пересылки будет содержать все эти элементы. Сообщение, которое вы хотите добавить (содержимое фактического ответа), ДОЛЖНО идти непосредственно перед всем этим содержимым. Если вы следуете этому правилу, сервер обычно может определить, какая часть тела является «уникальной», и соответственно установить UniqueBody
.
Ключевым моментом здесь является то, что НЕ ДОЛЖЕН брать текст исходного сообщения и добавлять его к новому тексту. Вместо этого возьмите тело из черновика сообщения. Таким образом, у вас есть горизонтальное правило и информационная сводка в точном формате, ожидаемом сервером.
Обычный текст
Если тело черновика ответа/пересылки представляет собой обычный текст (например, { "Body": {"ContentType": "Text", "Content": "..." }}
), то это довольно просто. Сгенерируйте тело как:
var newBody = 'This is my response to your message.' + draftReply.Body.Content;
var patchPayload = {
'Body': {
'ContentType': 'Text',
'Content': newBody
}
};
HTML
Если тело черновика ответа/пересылки — HTML, это немного сложнее. Хотя вы можете загрузить HTML-код и, по сути, добавить новый контент сразу после тега <body>
, вы можете немного упростить ситуацию, создав свой ответ в виде отдельного HTML-документа.
var newBody = `<html><body><div>This is my response to your message.</div></body></html>` + draftReply.Body.Content;
var patchPayload = {
'Body': {
'ContentType': 'HTML',
'Content': newBody
}
};
person
Jason Johnston
schedule
10.02.2017
UniqueBody
показывает мне только новый контент. Однако я могу упустить какой-то конкретный шаг из вашего сценария. - person Jason Johnston   schedule 09.02.2017