На этой странице рассказывается, как получить сведения об одном помещенном в карантин письме с помощью метода get ресурса customers.quarantinedMessages в Mail Admin Quarantine API. Используйте его, чтобы проверить заголовки, тему, текст и прикрепленные файлы письма, прежде чем решить, что с ним делать.
Требования
- Вы выполнили инструкции из статьи Как настроить API.
- Токен доступа, который выдает себя за администратора с правами на управление карантином и включает область действия
https://www.googleapis.com/auth/gmail.admin.quarantineилиhttps://www.googleapis.com/auth/gmail.admin.quarantine.readonly. Подробнее об авторизации с делегированием доступа к данным в домене… - Название ресурса помещенного в карантин сообщения, которое вы получаете из списка и поиска помещенных в карантин сообщений.
Как получить сообщение, помещенное в карантин
Чтобы получить помещенное в карантин письмо, отправьте запрос GET к методу get, указав название ресурса письма, и выберите, сколько контента нужно вернуть, с помощью параметра запроса view:
GET https://mailadminquarantine.googleapis.com/v1/customers/CUSTOMER_ID/quarantinedMessages/MESSAGE_OWNER:MESSAGE_ID?view=MESSAGE_VIEW_DETAILS
Authorization: Bearer ACCESS_TOKEN
Замените следующее:
- CUSTOMER_ID – ваш идентификатор клиента.
- MESSAGE_OWNER – адрес электронной почты владельца почтового ящика, возвращаемый в поле
messageOwner. - MESSAGE_ID – идентификатор сообщения Gmail, возвращаемый в поле
messageId.
Чтобы найти эти значения, вызовите метод list или search ресурса customers.quarantinedMessages. Вы можете передать поле name из ответа list или search непосредственно в качестве пути запроса, например https://mailadminquarantine.googleapis.com/v1/customers/01abc23de/quarantinedMessages/user@example.com:18d3ef45a8b2c1d0.
Просмотры
Параметр запроса view определяет, какие поля будут включены в ответ.
| Открыть | Возвращаемые поля |
|---|---|
MESSAGE_VIEW_BASIC (по умолчанию) |
Только метаданные карантина: name, messageId, messageOwner, quarantines, receiveTime, direction, state, retentionExpireTime и triggeredRules. |
MESSAGE_VIEW_DETAILS |
name, messageId, messageOwner и обработанный объект content с subject, body, headers, attachments, labels и classificationLabelValues. |
MESSAGE_VIEW_RAW |
name, messageId, messageOwner и rawMessage – все сообщение в формате RFC 2822 в виде строки в кодировке base64url. |
Если вы не укажете view, API вернет базовое представление. Если указать неверное значение, возвращается ошибка 400 INVALID_ARGUMENT.
Пример ответа
В следующем ответе используется view=MESSAGE_VIEW_DETAILS:
{
"name": "customers/01abc23de/quarantinedMessages/user@example.com:18d3ef45a8b2c1d0",
"messageId": "18d3ef45a8b2c1d0",
"messageOwner": "user@example.com",
"content": {
"subject": "Urgent: Verify your account details",
"body": "Please click the link below to verify your login credentials...",
"headers": [
{"name": "From", "value": "security-alert@external.example.net"},
{"name": "To", "value": "user@example.com"},
{"name": "Date", "value": "Tue, 22 Sep 2026 10:15:00 +0000"},
{"name": "Subject", "value": "Urgent: Verify your account details"}
],
"attachments": [
{
"filename": "invoice_update.pdf",
"mimeType": "application/pdf",
"sizeBytes": "142857",
"attachmentId": "att_987654321"
}
],
"labels": ["^admin_quarantine"]
}
}
В таблице ниже приведены поля контента в ответе.
| Поле | Описание |
|---|---|
content.subject |
Тема сообщения. |
content.body |
Текст или фрагмент сообщения в формате обычного текста. |
content.headers[] |
Заголовки сообщений со значениями, декодированными по стандарту MIME. |
content.attachments[] |
Название файла, MIME-тип, размер в байтах и идентификатор каждого прикрепленного файла. |
content.labels[] |
Стандартные ярлыки Gmail, примененные к письму. |
content.classificationLabelValues[] |
Ярлыки классификации, примененные к письму (если есть). |
Как декодировать необработанное сообщение
При использовании view=MESSAGE_VIEW_RAW поле rawMessage содержит полное сообщение в формате RFC 2822, закодированное как строка base64url. Расшифруйте его, чтобы проанализировать сообщение с помощью стандартных инструментов электронной почты, например:
import base64
import email
raw_message = response.json()['rawMessage']
mime_message = email.message_from_bytes(base64.urlsafe_b64decode(raw_message))
print(mime_message['Subject'])