Na tej stronie dowiesz się, jak pobrać szczegóły pojedynczej wiadomości poddanej kwarantannie za pomocą metody get zasobu customers.quarantinedMessages w interfejsie Mail Admin Quarantine API. Możesz go użyć do sprawdzenia nagłówków, tematu, treści i załączników wiadomości, zanim zdecydujesz, czy ją dostarczyć, czy odrzucić.
Wymagania wstępne
- Wykonano czynności opisane w artykule Konfigurowanie interfejsu API.
- Token dostępu, który podszywa się pod administratora z uprawnieniami do kwarantanny administracyjnej i obejmuje zakres
https://www.googleapis.com/auth/gmail.admin.quarantinelubhttps://www.googleapis.com/auth/gmail.admin.quarantine.readonly. Zobacz Autoryzacja przy użyciu przekazywania dostępu w całej domenie. - Nazwa zasobu wiadomości poddanej kwarantannie, którą uzyskasz, korzystając z funkcji Wyświetlanie i wyszukiwanie wiadomości poddanych kwarantannie.
Pobieranie wiadomości poddanej kwarantannie
Aby pobrać wiadomość umieszczoną w kwarantannie, wyślij żądanie GET do metody get, podając nazwę zasobu wiadomości, i wybierz, ile treści ma zostać zwróconych, za pomocą parametru zapytania view:
GET https://mailadminquarantine.googleapis.com/v1/customers/CUSTOMER_ID/quarantinedMessages/MESSAGE_OWNER:MESSAGE_ID?view=MESSAGE_VIEW_DETAILS
Authorization: Bearer ACCESS_TOKEN
Zastąp te elementy:
- CUSTOMER_ID: Twój identyfikator klienta.
- MESSAGE_OWNER: adres e-mail właściciela skrzynki pocztowej zwrócony w polu
messageOwner. - MESSAGE_ID: identyfikator wiadomości w Gmailu zwracany w polu
messageId.
Aby znaleźć te wartości, wywołaj metodę list lub search zasobu customers.quarantinedMessages. Możesz przekazać pole name z odpowiedzi list lub search bezpośrednio jako ścieżkę żądania, na przykład https://mailadminquarantine.googleapis.com/v1/customers/01abc23de/quarantinedMessages/user@example.com:18d3ef45a8b2c1d0.
Wyświetlenia wiadomości
Parametr zapytania view określa, które pola zawiera odpowiedź:
| Wyświetl | Zwrócone pola |
|---|---|
MESSAGE_VIEW_BASIC (domyślnie) |
Tylko metadane kwarantanny: name, messageId, messageOwner, quarantines, receiveTime, direction, state, retentionExpireTime i triggeredRules. |
MESSAGE_VIEW_DETAILS |
name, messageId, messageOwner i przeanalizowany obiekt content z subject, body, headers, attachments, labels i classificationLabelValues. |
MESSAGE_VIEW_RAW |
name, messageId, messageOwner i rawMessage, cała wiadomość w formacie RFC 2822 jako ciąg znaków zakodowany w base64url. |
Jeśli pominiesz parametr view, interfejs API zwróci widok podstawowy. Nierozpoznana wartość widoku zwraca błąd 400 INVALID_ARGUMENT.
Przykładowa odpowiedź
Ta odpowiedź używa 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"]
}
}
W tabeli poniżej znajdziesz pola zawartości odpowiedzi:
| Pole | Opis |
|---|---|
content.subject |
Temat wiadomości. |
content.body |
Treść wiadomości w formacie zwykłego tekstu lub jej fragment. |
content.headers[] |
Nagłówki wiadomości z wartościami zdekodowanymi przez MIME. |
content.attachments[] |
nazwę pliku, typ MIME, rozmiar w bajtach i identyfikator każdego załącznika; |
content.labels[] |
Standardowe etykiety Gmaila zastosowane do wiadomości. |
content.classificationLabelValues[] |
Etykiety klasyfikacji zastosowane do wiadomości (jeśli są). |
Dekodowanie nieprzetworzonej wiadomości
W przypadku view=MESSAGE_VIEW_RAW pole rawMessage zawiera całą wiadomość w formacie RFC 2822 zakodowaną jako ciąg base64url. Zdekoduj go, aby przeanalizować wiadomość za pomocą standardowych narzędzi do obsługi poczty e-mail, na przykład:
import base64
import email
raw_message = response.json()['rawMessage']
mime_message = email.message_from_bytes(base64.urlsafe_b64decode(raw_message))
print(mime_message['Subject'])