#javascript #google-apps-script
Вопрос:
Я разрабатываю дополнение Gmail, и мне нужно выбрать/выделить текст в сообщении Gmail с помощью скрипта Google Apps. Я могу получить весь текст сообщения с помощью следующего кода, но, похоже, не могу найти способ получить выделенный текст.
function onGmailMessage(e) {
// Get the ID of the message the user has open.
var messageId = e.gmail.messageId;
// Get an access token scoped to the current message and use it for GmailApp
// calls.
var accessToken = e.gmail.accessToken;
GmailApp.setCurrentMessageAccessToken(accessToken);
// Get the subject of the email.
var message = GmailApp.getMessageById(messageId);
}
Комментарии:
1. Что вы подразумеваете под «выбранным»? Вы имеете в виду текст, который пользователь выбирает вручную при чтении сообщения из пользовательского интерфейса в своем браузере?
2. Да, когда мы вручную выбираем текст в сообщении gmail.
Ответ №1:
Невозможно получить выделенный текст сообщения Gmail на стороне клиента на стороне сервера с помощью скрипта API / приложений Gmail
Надстройка Gmail может выдавать вам следующие объекты событий при срабатывании триггера:
- gmail.доступ
- gmail.bccRecipients[]
- gmail.ccRecipients[]
- gmail.MessageId
- gmail.ThreadId
- gmail.тоРеципиенты[]
Ресурс сообщений Gmail содержит следующую информацию:
{
"id": string,
"threadId": string,
"labelIds": [
string
],
"snippet": string,
"historyId": string,
"internalDate": string,
"payload": {
object (MessagePart)
},
"sizeEstimate": integer,
"raw": string
}
При этом эта информация доступна только для сохраненных отправленных / возвращенных сообщений или СОХРАНЕННЫХ черновиков.
К сожалению, надстройка Gmail (в отличие от надстройки Docs) не имеет доступа к тексту, который вводится / выбирается на стороне клиента в модуле черновика.
Если эта функция имеет решающее значение для вашего приложения, вам нужно будет изменить направление и рассмотреть, например, расширение Chrome, в котором можно было бы очистить содержимое на стороне клиента с помощью HTML / Javascript.