Wyświetlanie szczegółów wiadomości

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

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'])

Dalsze kroki