Questa pagina spiega come recuperare i dettagli di un singolo messaggio in quarantena con il metodo get della risorsa customers.quarantinedMessages nell'API Mail Admin Quarantine. Utilizzala per esaminare le intestazioni, l'oggetto, il corpo e gli allegati di un messaggio prima di decidere se sbloccarlo o rifiutarlo.
Prerequisiti
- Hai completato i passaggi descritti in Configura l'API.
- Un token di accesso che impersona un amministratore con un privilegio di quarantena amministrativa e include l'ambito
https://www.googleapis.com/auth/gmail.admin.quarantineohttps://www.googleapis.com/auth/gmail.admin.quarantine.readonly. Vedi Autorizza con la delega a livello di dominio. - Il nome della risorsa di un messaggio in quarantena, che ottieni da Elenca e cerca i messaggi in quarantena.
Recuperare un messaggio in quarantena
Per recuperare un messaggio in quarantena, invia una richiesta GET al metodo get sul nome della risorsa del messaggio e scegli la quantità di contenuti da restituire con il parametro di query view:
GET https://mailadminquarantine.googleapis.com/v1/customers/CUSTOMER_ID/quarantinedMessages/MESSAGE_OWNER:MESSAGE_ID?view=MESSAGE_VIEW_DETAILS
Authorization: Bearer ACCESS_TOKEN
Sostituisci quanto segue:
- CUSTOMER_ID: il tuo ID cliente.
- MESSAGE_OWNER: l'indirizzo email del proprietario della casella di posta, come restituito nel campo
messageOwner. - MESSAGE_ID: l'ID messaggio Gmail, come restituito nel campo
messageId.
Per trovare questi valori, chiama il metodo
list
o
search
della risorsa customers.quarantinedMessages. Puoi passare il campo name
da una risposta list o search direttamente come percorso della richiesta, ad esempio
https://mailadminquarantine.googleapis.com/v1/customers/01abc23de/quarantinedMessages/user@example.com:18d3ef45a8b2c1d0.
Visualizzazioni del messaggio
Il parametro di query view determina i campi inclusi nella risposta:
| Visualizza | Campi restituiti |
|---|---|
MESSAGE_VIEW_BASIC (valore predefinito) |
Solo metadati di quarantena: name, messageId, messageOwner, quarantines, receiveTime, direction, state, retentionExpireTime e triggeredRules. |
MESSAGE_VIEW_DETAILS |
name, messageId, messageOwner e l'oggetto content analizzato con subject, body, headers, attachments, labels e classificationLabelValues. |
MESSAGE_VIEW_RAW |
name, messageId, messageOwner e rawMessage, l'intero messaggio in formato RFC 2822 come stringa con codifica base64url. |
Se ometti view, l'API restituisce la visualizzazione di base. Un valore di visualizzazione non riconosciuto restituisce un errore 400 INVALID_ARGUMENT.
Esempio di risposta
La seguente risposta utilizza 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"]
}
}
La tabella seguente mostra i campi dei contenuti di una risposta:
| Campo | Descrizione |
|---|---|
content.subject |
L'oggetto del messaggio. |
content.body |
Il corpo o lo snippet in testo normale del messaggio. |
content.headers[] |
Le intestazioni del messaggio, con valori decodificati MIME. |
content.attachments[] |
Il nome file, il tipo MIME, le dimensioni in byte e l'ID di ogni allegato. |
content.labels[] |
Etichette standard di Gmail applicate al messaggio. |
content.classificationLabelValues[] |
Etichette di classificazione applicate al messaggio, se presenti. |
Decodifica un messaggio non elaborato
Con view=MESSAGE_VIEW_RAW, il campo rawMessage contiene il messaggio completo nel formato RFC 2822, codificato come stringa base64url. Decodificalo per analizzare il messaggio con gli strumenti standard per le email, ad esempio:
import base64
import email
raw_message = response.json()['rawMessage']
mime_message = email.message_from_bytes(base64.urlsafe_b64decode(raw_message))
print(mime_message['Subject'])