Trang này giải thích cách truy xuất thông tin chi tiết của một thư bị cách ly bằng phương thức get của tài nguyên customers.quarantinedMessages trong Mail Admin Quarantine API. Hãy sử dụng công cụ này để kiểm tra tiêu đề, tiêu đề, nội dung và tệp đính kèm của thư trước khi bạn quyết định phát hành hoặc từ chối thư.
Điều kiện tiên quyết
- Bạn đã hoàn tất các bước trong phần Thiết lập API.
- Mã truy cập mạo danh quản trị viên có đặc quyền cách ly của quản trị viên và bao gồm phạm vi
https://www.googleapis.com/auth/gmail.admin.quarantinehoặchttps://www.googleapis.com/auth/gmail.admin.quarantine.readonly. Xem bài viết Uỷ quyền bằng tính năng uỷ quyền trên toàn miền. - Tên tài nguyên của thư bị cách ly mà bạn nhận được từ phần Liệt kê và tìm kiếm thư bị cách ly.
Nhận thư bị cách ly
Để nhận thư bị cách ly, hãy gửi yêu cầu GET đến phương thức get trên tên tài nguyên của thư và chọn lượng nội dung cần trả về bằng tham số truy vấn view:
GET https://mailadminquarantine.googleapis.com/v1/customers/CUSTOMER_ID/quarantinedMessages/MESSAGE_OWNER:MESSAGE_ID?view=MESSAGE_VIEW_DETAILS
Authorization: Bearer ACCESS_TOKEN
Thay thế nội dung sau:
- CUSTOMER_ID: mã khách hàng của bạn.
- MESSAGE_OWNER: địa chỉ email của chủ sở hữu hộp thư, như được trả về trong trường
messageOwner. - MESSAGE_ID: mã nhận dạng thư Gmail, được trả về trong trường
messageId.
Để tìm các giá trị này, hãy gọi phương thức list hoặc search của tài nguyên customers.quarantinedMessages. Bạn có thể truyền trực tiếp trường name từ phản hồi list hoặc search dưới dạng đường dẫn yêu cầu, ví dụ: https://mailadminquarantine.googleapis.com/v1/customers/01abc23de/quarantinedMessages/user@example.com:18d3ef45a8b2c1d0.
Lượt xem tin nhắn
Tham số truy vấn view xác định những trường mà phản hồi bao gồm:
| Xem | Các trường được trả về |
|---|---|
MESSAGE_VIEW_BASIC (mặc định) |
Chỉ siêu dữ liệu cách ly: name, messageId, messageOwner, quarantines, receiveTime, direction, state, retentionExpireTime và triggeredRules. |
MESSAGE_VIEW_DETAILS |
name, messageId, messageOwner và đối tượng content được phân tích cú pháp bằng subject, body, headers, attachments, labels và classificationLabelValues. |
MESSAGE_VIEW_RAW |
name, messageId, messageOwner và rawMessage, toàn bộ thư ở định dạng RFC 2822 dưới dạng chuỗi được mã hoá base64url. |
Nếu bạn bỏ qua view, API sẽ trả về chế độ xem cơ bản. Giá trị chế độ xem không nhận dạng được sẽ trả về lỗi 400 INVALID_ARGUMENT.
Ví dụ về phản hồi
Câu trả lời sau đây sử dụng 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"]
}
}
Bảng sau đây trình bày các trường nội dung của một phản hồi:
| Trường | Mô tả |
|---|---|
content.subject |
Tiêu đề của thư. |
content.body |
Nội dung văn bản thuần tuý hoặc đoạn trích của thư. |
content.headers[] |
Tiêu đề thư, có giá trị được giải mã MIME. |
content.attachments[] |
Tên tệp, loại MIME, kích thước tính bằng byte và mã nhận dạng của từng tệp đính kèm. |
content.labels[] |
Nhãn Gmail tiêu chuẩn được áp dụng cho thư. |
content.classificationLabelValues[] |
Nhãn phân loại được áp dụng cho thư (nếu có). |
Giải mã thư thô
Với view=MESSAGE_VIEW_RAW, trường rawMessage chứa toàn bộ thư ở định dạng RFC 2822, được mã hoá dưới dạng chuỗi base64url. Giải mã để phân tích thư bằng công cụ email chuẩn, ví dụ:
import base64
import email
raw_message = response.json()['rawMessage']
mime_message = email.message_from_bytes(base64.urlsafe_b64decode(raw_message))
print(mime_message['Subject'])