توضّح هذه الصفحة كيفية استرداد تفاصيل رسالة واحدة معزولة باستخدام طريقة get للمورد customers.quarantinedMessages في Mail Admin Quarantine 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، ستعرض واجهة برمجة التطبيقات العرض الأساسي. وتؤدي قيمة العرض غير المعروفة إلى ظهور الخطأ 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'])