REST Resource: spaces.messages

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

المورد: الرسالة

رسالة في Google Chat.

تمثيل JSON
{
  "name": string,
  "sender": {
    object (User)
  },
  "createTime": string,
  "lastUpdateTime": string,
  "deleteTime": string,
  "text": string,
  "cards": [
    {
      object (Card)
    }
  ],
  "cardsV2": [
    {
      object (CardWithId)
    }
  ],
  "annotations": [
    {
      object (Annotation)
    }
  ],
  "thread": {
    object (Thread)
  },
  "space": {
    object (Space)
  },
  "fallbackText": string,
  "actionResponse": {
    object (ActionResponse)
  },
  "argumentText": string,
  "slashCommand": {
    object (SlashCommand)
  },
  "attachment": [
    {
      object (Attachment)
    }
  ],
  "matchedUrl": {
    object (MatchedUrl)
  },
  "threadReply": boolean,
  "clientAssignedMessageId": string,
  "emojiReactionSummaries": [
    {
      object (EmojiReactionSummary)
    }
  ],
  "deletionMetadata": {
    object (DeletionMetadata)
  }
}
الحقول
name

string

اسم المورد في النموذج spaces/*/messages/*.

مثال: spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB

sender

object (User)

الناتج فقط. المستخدم الذي أنشأ الرسالة.

createTime

string (Timestamp format)

الناتج فقط. وقت إنشاء الرسالة في خادم Google Chat.

lastUpdateTime

string (Timestamp format)

الناتج فقط. الوقت الذي تم فيه إجراء آخر تعديل على الرسالة بواسطة أحد المستخدمين. إذا لم يتم تعديل الرسالة مطلقًا، سيكون هذا الحقل فارغًا.

deleteTime

string (Timestamp format)

الناتج فقط. وقت حذف الرسالة في خادم Google Chat. إذا لم يتم حذف الرسالة مطلقًا، سيكون هذا الحقل فارغًا.

text

string

نص نص عادي للرسالة. يؤدي الرابط الأول إلى صورة أو فيديو أو صفحة ويب أو أي عنصر آخر قابل للمعاينة إلى إنشاء شريحة معاينة.

cards[]
(deprecated)

object (Card)

متوقّف نهائيًا: استخدِم cardsV2 بدلاً من ذلك.

بطاقات منسّقة ومنسّقة تفاعلية يمكن استخدامها لعرض عناصر واجهة المستخدم، مثل: النصوص المنسَّقة والأزرار والصور القابلة للنقر. وعادةً ما يتم عرض البطاقات أسفل نص النص العادي للرسالة.

cardsV2[]

object (CardWithId)

بطاقات تفاعلية منسّقة تعرض عناصر في واجهة المستخدم وأدوات قابلة للتعديل، مثل:

  • تنسيق النص
  • الأزرار
  • صور قابلة للنقر
  • مربعات اختيار
  • أزرار الاختيار
  • أدوات الإدخال.

وعادةً ما يتم عرض البطاقات أسفل نص رسالة Chat، ولكن يمكن أن تظهر في مواضع أخرى، مثل مربعات الحوار.

cardId هو معرّف فريد بين البطاقات في الرسالة نفسها ولتحديد قيم إدخال المستخدم.

تشمل الأدوات المتوافقة حاليًا ما يلي:

  • TextParagraph
  • DecoratedText
  • Image
  • ButtonList
  • Divider
annotations[]

object (Annotation)

الناتج فقط. التعليقات التوضيحية المرتبطة بالنص في هذه الرسالة.

thread

object (Thread)

سلسلة المحادثات التي تنتمي إليها الرسالة. مثلاً، يمكنك الاطّلاع على بدء سلسلة محادثات أو الرد عليها.

space

object (Space)

المساحة التي تنتمي إليها الرسالة. عند الوصول إليها باستخدام مصادقة المستخدم، تتم تعبئة اسم المساحة فقط.

fallbackText

string

وصف بنص عادي لبطاقات الرسائل يُستخدم عندما يتعذّر عرض البطاقات الفعلية (مثل الإشعارات على الأجهزة الجوّالة).

actionResponse

object (ActionResponse)

الإدخال فقط. المعلّمات التي يمكن لتطبيق Chat استخدامها لضبط كيفية نشر استجابته.

argumentText

string

النص المُبسَّط للرسالة الذي يضمّ جميع الإشارات إلى تطبيق Chat.

slashCommand

object (SlashCommand)

الناتج فقط. معلومات الأوامر التي تبدأ بشرطة مائلة، إن وجدت.

attachment[]

object (Attachment)

تم تحميل مرفق من قِبل المستخدم.

matchedUrl

object (MatchedUrl)

الناتج فقط. عنوان URL في spaces.messages.text يتطابق مع نمط معاينة رابط. لمزيد من المعلومات، يمكنك الرجوع إلى معاينة الروابط.

threadReply

boolean

الناتج فقط. عندما true، تكون الرسالة ردًا في سلسلة محادثات. عندما false، تظهر الرسالة في محادثة المستوى الأعلى في مساحة العمل باعتبارها الرسالة الأولى من سلسلة محادثات أو رسالة لا تتضمن ردودًا ضمن سلاسل محادثات.

إذا كانت مساحة العمل لا تتيح الرد في سلاسل المحادثات، يكون هذا الحقل دائمًا false.

clientAssignedMessageId

string

اسم مخصَّص لرسالة Chat تم إسنادها عند الإنشاء. يجب أن يبدأ بـ client- وأن يحتوي على أحرف صغيرة وأرقام وواصلات لا يزيد طولها عن 63 حرفًا. حدِّد هذا الحقل للحصول على الرسالة ذات القيمة المحددة أو تحديثها أو حذفها. على سبيل المثال، يمكنك الاطّلاع على تسمية رسالة تم إنشاؤها.

emojiReactionSummaries[]

object (EmojiReactionSummary)

الناتج فقط. قائمة ملخّصات تفاعلات الرموز التعبيرية على الرسالة

deletionMetadata

object (DeletionMetadata)

الناتج فقط. معلومات عن رسالة محذوفة. يتم حذف رسالة عند ضبط deleteTime.

بطاقة مع رقم تعريف

أدوات لتطبيق Chat لتحديدها

تمثيل JSON
{
  "cardId": string,
  "card": {
    object (Card)
  }
}
الحقول
cardId

string

مطلوبة لرسالتين (cardsV2). هذا هو معرّف تطبيق Chat لهذه الأداة. تم تحديد نطاقها ضمن رسالة.

card

object (Card)

Proto Card الذي يتيح لتطبيقات Chat تحديد عناصر واجهة المستخدم وأدوات قابلة للتعديل.

التعليق التوضيحي

التعليقات التوضيحية المرتبطة بنص النص العادي للرسالة.

مثال على نص رسالة عادية:

Hello @FooBot how are you!"

البيانات الوصفية للتعليقات التوضيحية المقابلة:

"annotations":[{
  "type":"USER_MENTION",
  "startIndex":6,
  "length":7,
  "userMention": {
    "user": {
      "name":"users/107946847022116401880",
      "displayName":"FooBot",
      "avatarUrl":"https://goo.gl/aeDtrS",
      "type":"BOT"
    },
    "type":"MENTION"
   }
}]
تمثيل JSON
{
  "type": enum (AnnotationType),
  "startIndex": integer,
  "length": integer,

  // Union field metadata can be only one of the following:
  "userMention": {
    object (UserMentionMetadata)
  },
  "slashCommand": {
    object (SlashCommandMetadata)
  }
  // End of list of possible types for union field metadata.
}
الحقول
type

enum (AnnotationType)

نوع هذا التعليق التوضيحي.

startIndex

integer

فهرس البدء (مستند إلى القيمة 0 وشامل) في نص الرسالة العادية الذي يتطابق معه هذا التعليق التوضيحي.

length

integer

طول السلسلة الفرعية في نص الرسالة العادية التي يتطابق معها هذا التعليق التوضيحي.

حقل الاتحاد metadata. بيانات وصفية إضافية عن التعليق التوضيحي يمكن أن يكون metadata واحدًا فقط مما يلي:
userMention

object (UserMentionMetadata)

البيانات الوصفية للإشارة إلى المستخدم

slashCommand

object (SlashCommandMetadata)

البيانات الوصفية لأحد الأوامر التي تبدأ بشرطة مائلة.

نوع التعليق التوضيحي

نوع التعليق التوضيحي.

عمليات التعداد
ANNOTATION_TYPE_UNSPECIFIED القيمة التلقائية للتعداد. يُرجى عدم استخدامها.
USER_MENTION تمت الإشارة إلى مستخدم.
SLASH_COMMAND يتم استدعاء أمر يبدأ بشرطة مائلة.

الإشارة إلى البيانات الوصفية للمستخدم

البيانات الوصفية للتعليق التوضيحي لإشارات المستخدمين (@).

تمثيل JSON
{
  "user": {
    object (User)
  },
  "type": enum (Type)
}
الحقول
user

object (User)

ذكر المستخدم.

type

enum (Type)

نوع الإشارة إلى مستخدم.

النوع

عمليات التعداد
TYPE_UNSPECIFIED القيمة التلقائية للتعداد. يُرجى عدم استخدامها.
ADD إضافة مستخدم إلى مساحة العمل.
MENTION الإشارة إلى المستخدم في مساحة العمل.

SlashCommandMetadata

البيانات الوصفية للأوامر المائلة (/).

تمثيل JSON
{
  "bot": {
    object (User)
  },
  "type": enum (Type),
  "commandName": string,
  "commandId": string,
  "triggersDialog": boolean
}
الحقول
bot

object (User)

تطبيق Chat الذي تم استدعاء أمره.

type

enum (Type)

نوع الأمر الذي يبدأ بالشرطة المائلة.

commandName

string

اسم الأمر بشرطة مائلة.

commandId

string (int64 format)

معرّف الأمر الخاص بشرطة مائلة التي تم استدعاءها.

triggersDialog

boolean

الإشارة إلى ما إذا كان الأمر يبدأ بشرطة مائلة لمربّع حوار.

النوع

عمليات التعداد
TYPE_UNSPECIFIED القيمة التلقائية للتعداد. يُرجى عدم استخدامها.
ADD إضافة تطبيق Chat إلى مساحة العمل.
INVOKE استدعاء أمر يبدأ بشرطة مائلة في مساحة العمل.

Thread

سلسلة محادثات في Google Chat

تمثيل JSON
{
  "name": string,
  "threadKey": string
}
الحقول
name

string

اسم المورد لسلسلة المحادثات.

مثال: المساحات/{space}/threads/{thread}

threadKey

string

اختيارية: معرِّف سلسلة المحادثات غير شفاف. لبدء سلسلة محادثات أو إضافتها، أنشِئ رسالة وحدِّد threadKey أو thread.name. مثلاً، يمكنك الاطّلاع على بدء سلسلة محادثات أو الرد عليها.

وبالنسبة إلى الطلبات الأخرى، يكون هذا الحقل إخراجًا فقط.

استجابة الإجراء

المعلّمات التي يمكن لتطبيق Chat استخدامها لضبط كيفية نشر استجابته.

تمثيل JSON
{
  "type": enum (ResponseType),
  "url": string,
  "dialogAction": {
    object (DialogAction)
  }
}
الحقول
type

enum (ResponseType)

الإدخال فقط. نوع استجابة تطبيق Chat.

url

string

الإدخال فقط. عنوان URL للمستخدمين للمصادقة أو الضبط. (لأنواع استجابة REQUEST_CONFIG فقط.)

dialogAction

object (DialogAction)

الإدخال فقط. رد على حدث مرتبط بمربّع حوار يجب أن تكون مصحوبة بـ ResponseType.Dialog.

نوع الرد

نوع استجابة تطبيق Chat.

عمليات التعداد
TYPE_UNSPECIFIED النوع التلقائي، ستتم معالجته على أنه NEW_MESSAGE.
NEW_MESSAGE نشر رسالة جديدة في الموضوع
UPDATE_MESSAGE عدِّل رسالة تطبيق Chat. لا يُسمح بهذا الإجراء إلا في حدث CARD_CLICKED حيث يكون نوع مُرسِل الرسالة من نوع BOT.
UPDATE_USER_MESSAGE_CARDS تعديل البطاقات في رسالة المستخدم لا يُسمح بذلك إلا كاستجابة لحدث MESSAGE بعنوان URL مطابق، أو حدث CARD_CLICKED حيث يكون نوع مرسل الرسالة هو HUMAN. وسيتم تجاهل النص.
REQUEST_CONFIG اطلب من المستخدم بشكل إضافي الحصول على مصادقة أو ضبط إضافي.
DIALOG ويعرض مربّع حوار.

اتّخاذ إجراء

تحتوي على مربّع حوار ورمز حالة الطلب.

تمثيل JSON
{
  "actionStatus": {
    object (ActionStatus)
  },
  "dialog": {
    object (Dialog)
  }
}
الحقول
actionStatus

object (ActionStatus)

الإدخال فقط. حالة طلب لاستدعاء مربع حوار أو إرساله. يعرض الحالة والرسالة للمستخدمين، إذا لزم الأمر. على سبيل المثال، في حال حدوث خطأ أو نجاح.

dialog

object (Dialog)

الإدخال فقط. مربع الحوار الخاص بالطلب.

Dialog

التفاف حول نص البطاقة في مربّع الحوار

تمثيل JSON
{
  "body": {
    object (Card)
  }
}
الحقول
body

object (Card)

الإدخال فقط. نص مربع الحوار، الذي يتم عرضه في شكل مشروط. لا يتوافق تطبيق Google Chat مع كيان البطاقة التالي: DateTimePicker وOnChangeAction.

حالة الإجراء

تُمثِّل هذه القيمة طلبًا لاستدعاء مربّع حوار أو إرساله.

تمثيل JSON
{
  "statusCode": enum (Code),
  "userFacingMessage": string
}
الحقول
statusCode

enum (Code)

رمز الحالة.

userFacingMessage

string

الرسالة المُرسَلة إلى المستخدمين بشأن حالة طلبهم وفي حال ترك هذه السياسة بدون ضبط، يتم إرسال رسالة عامة استنادًا إلى statusCode.

الرمز

رموز الخطأ الأساسية لواجهات برمجة تطبيقات gRPC.

وقد تسري أحيانًا رموز خطأ متعددة. ويجب أن تعرض الخدمات رمز الخطأ الأكثر تحديدًا الذي ينطبق. على سبيل المثال، تفضيل OUT_OF_RANGE على FAILED_PRECONDITION إذا كان كلا الرمزين ينطبق عليهم. أفضّل NOT_FOUND أو ALREADY_EXISTS على FAILED_PRECONDITION.

عمليات التعداد
OK

حدث خطأ، ولم يتم إرجاعها بنجاح.

تعيين HTTP: 200 حسنًا

CANCELLED

تم إلغاء العملية، عادةً من قِبل المتصل.

ربط HTTP: 499 طلب العميل مغلق

UNKNOWN

حدث خطأ غير معروف. على سبيل المثال، قد يتم عرض هذا الخطأ عندما تنتمي قيمة Status تم تلقيها من مساحة عنوان أخرى إلى مساحة خطأ غير معروفة في مساحة العنوان هذه. ويمكن أيضًا تحويل الأخطاء التي أدت إليها واجهات برمجة التطبيقات التي لا تعرض معلومات خطأ كافية إلى هذا الخطأ.

تعيين HTTP: خطأ 500 في الخادم الداخلي

INVALID_ARGUMENT

حدّد العميل وسيطة غير صالحة. لاحظ أن هذا يختلف عن FAILED_PRECONDITION. تشير علامة INVALID_ARGUMENT إلى وسيطات بها مشاكل بغض النظر عن حالة النظام (مثل، اسم ملف مكتوب بشكل غير صحيح).

تعيين HTTP: طلب غير صحيح 400

DEADLINE_EXCEEDED

انتهت صلاحية الموعد النهائي قبل اكتمال العملية. بالنسبة إلى العمليات التي تغيّر حالة النظام، قد يتم عرض هذا الخطأ حتى إذا اكتملت العملية بنجاح. على سبيل المثال، يمكن أن يتأخر الرد الناجح من الخادم لفترة كافية حتى تنتهي الموعد النهائي.

تعيين HTTP: انتهاء مهلة مدخل 504

NOT_FOUND

لم يتم العثور على بعض الكيانات المطلوبة (مثلاً ملف أو دليل).

ملاحظة لمطوّري البرامج: في حال رفض طلب لفئة كاملة من المستخدمين، مثل الطرح التدريجي للميزات أو القائمة المسموح بها غير الموثَّقة، يمكن استخدام NOT_FOUND. إذا تم رفض طلب لبعض المستخدمين ضمن فئة من المستخدمين، مثل التحكُّم في الوصول المستند إلى المستخدم، يجب استخدام PERMISSION_DENIED.

تعيين HTTP: 404 لم يتم العثور على الصفحة

ALREADY_EXISTS

الكيان الذي حاول العميل إنشاؤه (مثل ملف أو دليل) موجود من قبل.

ربط HTTP: تعارض 409

PERMISSION_DENIED

المتصل ليس لديه إذن لتنفيذ العملية المحددة. يجب عدم استخدام PERMISSION_DENIED لحالات الرفض الناتجة عن استنفاد بعض الموارد (استخدِم RESOURCE_EXHAUSTED بدلاً من هذه الأخطاء). يجب عدم استخدام PERMISSION_DENIED إذا تعذّر تحديد المتصل (يمكنك استخدام UNAUTHENTICATED بدلاً من ذلك مع هذه الأخطاء). لا يشير رمز الخطأ هذا إلى أنّ الطلب صالح أو أنّ الكيان المطلوب موجود أو يستوفي شروطًا مسبقة أخرى.

تعيين HTTP: 403 محظور

UNAUTHENTICATED

لا يحتوي الطلب على بيانات اعتماد مصادقة صالحة للعملية.

تعيين HTTP: 401 غير مصرح به

RESOURCE_EXHAUSTED

تم استنفاد بعض الموارد، أو قد تكون الحصة لكل مستخدم، أو نظام التشغيل غير متوفّر.

ربط HTTP: 429 عدد كبير جدًا من الطلبات

FAILED_PRECONDITION

تم رفض العملية لأن النظام ليس في حالة مطلوبة للتنفيذ. مثلاً، الدليل الذي يتم حذفه غير فارغ، ويتم تطبيق عملية rmdir على دليل غير الدليل، وما إلى ذلك.

يمكن لمنفِّذي الخدمة استخدام الإرشادات التالية لتحديد ما بين FAILED_PRECONDITION وABORTED وUNAVAILABLE: (أ) استخدم UNAVAILABLE إذا كان بإمكان العميل إعادة محاولة الفشل في الطلب فقط. (ب) استخدِم ABORTED إذا كان على العميل إعادة المحاولة على مستوى أعلى. على سبيل المثال، عند تعذّر الاختبار والضبط الذي حدّده العميل، يشير ذلك إلى أنه على العميل إعادة تشغيل تسلسل Read-mod-write. (ج) استخدِم FAILED_PRECONDITION إذا لم يجب إعادة المحاولة حتى يتم إصلاح حالة النظام بشكلٍ صريح. مثلاً، إذا تعذّر تنفيذ الأمر "rmdir" لأنّ الدليل غير فارغ، يجب عرض FAILED_PRECONDITION بسبب عدم إعادة العميل المحاولة ما لم يتم حذف الملفات من الدليل.

تعيين HTTP: طلب غير صحيح 400

ABORTED

تم إلغاء العملية، عادةً بسبب مشكلة في المزامنة، مثل تعذّر التحقّق من التسلسل أو إلغاء العملية.

يمكنك الاطّلاع على الإرشادات أعلاه لتحديد ما بين FAILED_PRECONDITION وABORTED وUNAVAILABLE.

ربط HTTP: تعارض 409

OUT_OF_RANGE

تمت محاولة العملية بعد النطاق الصحيح. على سبيل المثال، ترجيع الكتاب أو قراءته قبل نهاية الملف.

وعلى عكس INVALID_ARGUMENT، يشير هذا الخطأ إلى مشكلة قد يتم حلها إذا تغيّرت حالة النظام. على سبيل المثال، سيُنشئ نظام ملفات 32 بت INVALID_ARGUMENT إذا طُلب منه القراءة وفق إزاحة لا تقع ضمن النطاق [0,2^32-1]، ولكن سيتم إنشاء OUT_OF_RANGE إذا طُلب منه القراءة من إزاحة تتجاوز حجم الملف الحالي.

هناك بعض التداخل بين FAILED_PRECONDITION وOUT_OF_RANGE. ننصح باستخدام OUT_OF_RANGE (الخطأ الأكثر تحديدًا) عند تطبيقه، حتى يتمكّن المتصلون الذين يكرّرون مساحة العمل من البحث بسهولة عن خطأ OUT_OF_RANGE لرصد وقت انتهائهم.

تعيين HTTP: طلب غير صحيح 400

UNIMPLEMENTED

العملية غير تنفيذية أو غير متاحة/مفعَّلة في هذه الخدمة.

تعيين HTTP: لم يتم تنفيذ 501

INTERNAL

الأخطاء الداخلية وهذا يعني أن بعض الثوابت التي يتوقعها النظام الأساسي قد تعطّلت. رمز الخطأ هذا محجوز للأخطاء الجسيمة.

تعيين HTTP: خطأ 500 في الخادم الداخلي

UNAVAILABLE

هذه الخدمة غير متاحة حاليًا. هذه الحالة على الأرجح عابرة، ويمكن تصحيحها من خلال إعادة المحاولة باستخدام تراجع. ويُرجى العِلم أنّه من غير الآمن دائمًا إعادة محاولة إجراء عمليات غير سلِسة.

يمكنك الاطّلاع على الإرشادات أعلاه لتحديد ما بين FAILED_PRECONDITION وABORTED وUNAVAILABLE.

تعيين HTTP: خدمة 503 غير متاحة

DATA_LOSS

فقدان البيانات أو تلفها غير قابل للاسترداد.

تعيين HTTP: خطأ 500 في الخادم الداخلي

الشرطة المائلة

أمر شرطة مائلة في Google Chat.

تمثيل JSON
{
  "commandId": string
}
الحقول
commandId

string (int64 format)

استدعاء أمر الشرطة المائلة

عنوان URL المطابق

عنوان URL مطابق في رسالة Google Chat. يمكن لتطبيقات Chat معاينة عناوين URL المطابقة. لمزيد من المعلومات، يُرجى الرجوع إلى معاينة الروابط.

تمثيل JSON
{
  "url": string
}
الحقول
url

string

الناتج فقط. عنوان URL الذي تمت مطابقته.

ملخّص الرموز التعبيرية

عدد المستخدمين الذين تفاعلوا مع رسالة باستخدام رمز تعبيري محدّد.

تمثيل JSON
{
  "emoji": {
    object (Emoji)
  },
  "reactionCount": integer
}
الحقول
emoji

object (Emoji)

الرمز التعبيري المرتبط بالتفاعلات.

reactionCount

integer

إجمالي عدد التفاعلات باستخدام الرموز التعبيرية المرتبطة.

حذف البيانات الوصفية

معلومات عن رسالة محذوفة. يتم حذف رسالة عند ضبط deleteTime.

تمثيل JSON
{
  "deletionType": enum (DeletionType)
}
الحقول
deletionType

enum (DeletionType)

يشير إلى المستخدم الذي حذف الرسالة.

نوع الحذف

المستخدم الذي حذف الرسالة وكيفية حذفها

عمليات التعداد
DELETION_TYPE_UNSPECIFIED هذه القيمة غير مستخدَمة.
CREATOR حذف المستخدم رسالته الخاصة.
SPACE_OWNER حذف مالك مساحة العمل الرسالة.
ADMIN حذف مشرف Google Workspace الرسالة.
APP_MESSAGE_EXPIRY حذف تطبيق Chat رسالته الخاصة عند انتهاء صلاحيتها.
CREATOR_VIA_APP حذف تطبيق Chat الرسالة نيابةً عن المستخدم.
SPACE_OWNER_VIA_APP حذف تطبيق Chat الرسالة نيابةً عن مالك مساحة العمل.

الطُرق

create

إنشاء رسالة

delete

حذف رسالة

get

عرض رسالة

list

يعرض رسالة في مساحة عمل المتصل بها، بما في ذلك الرسائل من الأعضاء المحظورين والمساحات.

update

يتم تعديل رسالة.