يتيح "مستندات Google" للمتعاونين تقديم اقتراحات تؤدي بشكل فعّال إلى تأجيل التعديلات التي تنتظر الموافقة.
عند استخدام طريقة documents.get
لجلب محتوى المستند، قد يتضمّن المحتوى اقتراحات لم يتم حلها. للتحكّم في كيفية تمثيل documents.get
للاقتراحات، استخدِم المَعلمة
الاختيارية
SuggestionsViewMode
. تتوفّر شروط الفلتر التالية مع هذه المَعلمة:
- يمكنك الحصول على المحتوى باستخدام
SUGGESTIONS_INLINE
، لكي يظهر النص في انتظار الحذف أو الإدراج في المستند. - يمكنك الحصول على المحتوى كمعاينة مع قبول جميع الاقتراحات.
- يمكنك الحصول على المحتوى كمعاينة، بدون اقتراحات، مع رفض كل الاقتراحات.
في حال عدم تقديم SuggestionsViewMode
، تستخدم واجهة برمجة تطبيقات "مستندات Google" إعدادًا تلقائيًا
يتناسب مع امتيازات المستخدم الحالي.
الاقتراحات والفهارس
من بين أسباب أهمية SuggestionsViewMode
هو أنّ الفهارس في الاستجابة قد تختلف حسب ما إذا كانت هناك اقتراحات، كما هو موضّح أدناه.
محتوى يتضمن اقتراحات | محتوى بدون اقتراحات |
---|---|
{ "startIndex": 1, "endIndex": 31, "paragraph": { "elements": [ { "startIndex": 1, "endIndex": 31, "textRun": { "content": "Text preceding the suggestion\n", "textStyle": { } } } ], "paragraphStyle": { "namedStyleType": "NORMAL_TEXT", "direction": "LEFT_TO_RIGHT" } } }, { "startIndex": 31, "endIndex": 51, "paragraph": { "elements": [ { "startIndex": 31, "endIndex": 50, "textRun": { "content": "Suggested insertion", "suggestedInsertionIds": [ "suggest.vcti8ewm4mww" ], "textStyle": { } } }, { "startIndex": 50, "endIndex": 51, "textRun": { "content": "\n", "textStyle": { } } } ], "paragraphStyle": { "namedStyleType": "NORMAL_TEXT", "direction": "LEFT_TO_RIGHT" } } }, { "startIndex": 51, "endIndex": 81, "paragraph": { "elements": [ { "startIndex": 51, "endIndex": 81, "textRun": { "content": "Text following the suggestion\n", "textStyle": { } } } ], "paragraphStyle": { "namedStyleType": "NORMAL_TEXT", "direction": "LEFT_TO_RIGHT" } } }, |
{ "startIndex": 1, "endIndex": 31, "paragraph": { "elements": [ { "startIndex": 1, "endIndex": 31, "textRun": { "content": "Text preceding the suggestion\n", "textStyle": { } } } ], "paragraphStyle": { "namedStyleType": "NORMAL_TEXT", "direction": "LEFT_TO_RIGHT" } } }, { "startIndex": 31, "endIndex": 32, "paragraph": { "elements": [ { "startIndex": 31, "endIndex": 32, "textRun": { "content": "\n", "textStyle": { } } } ], "paragraphStyle": { "namedStyleType": "NORMAL_TEXT", "direction": "LEFT_TO_RIGHT" } } }, { "startIndex": 32, "endIndex": 62, "paragraph": { "elements": [ { "startIndex": 32, "endIndex": 62, "textRun": { "content": "Text following the suggestion\n", "textStyle": { } } } ], "paragraphStyle": { "namedStyleType": "NORMAL_TEXT", "direction": "LEFT_TO_RIGHT" } } }, |
في الرد أعلاه، تُظهر الفقرة التي تحتوي على السطر "النص الذي يلي
الاقتراح" الفرق عند استخدام SuggestionsViewMode
. عند ضبط القيمة على SUGGESTIONS_INLINE
، يبدأ startIndex
في ParagraphElement
عند 51 وendIndex
عند 81. بدون اقتراحات، تتراوح
قيم startIndex
وendIndex
بين 32 و62.
الحصول على محتوى بدون اقتراحات
يوضّح نموذج الرمز الجزئي التالي كيفية عرض مستند كمعاينة مع
رفض جميع الاقتراحات (في حال توفُّرها) من خلال ضبط المَعلمة SuggestionsViewMode
على PREVIEW_WITHOUT_SUGGESTIONS
.
لغة Java
السلسلة النهائية SUGGEST_mode = "PREVIEW_WITHOUT_توصيات"; مستند المستند = service.documents().get(DOCUMENT_ID).setSuggestionsViewMode(SUGGEST_Mode).execute();
لغة Python
SUGGEST_mode="PREVIEW_WITHOUT_توصيات" النتيجة = service.documents().get(documentId=DOCUMENT_ID, suggestionsViewMode=SUGGEST_mode).execute()
يعادل حذف المعلَمة SuggestionsViewMode
تقديم DEFAULT_FOR_CURRENT_ACCESS
كقيمة للمَعلمة.
اقتراحات الأنماط
يمكن أن تحتوي المستندات أيضًا على اقتراحات نمط. هذه تغييرات مقترحة على التنسيق والعرض، بدلاً من تغييرات على المحتوى.
وعلى عكس عمليات إدراج النص أو عمليات الحذف، لا تعمل هذه العناصر على معادلة
الفهارس، مع أنّها قد تقسّم TextRun
إلى أجزاء أصغر،
ولكن تضيف فقط تعليقات توضيحية حول تغيير النمط المقترَح.
وأحد هذه التعليقات التوضيحية هو
SuggestedTextStyle
،
المؤلّف من جزأين:
textStyle
التي تصف كيفية نمط النص بعد التغيير المقترَح، ولكنها لا توضّح ما تم تغييره.textStyleSuggestionState
، التي تشير إلى كيفية تغيير الاقتراح لحقولtextStyle
.
يمكنك أن ترى ذلك في استخراج المستند التالي، والذي يتضمن تغيير النمط المقترَح:
[01] "paragraph": {
[02] "elements": [
[03] {
[04] "endIndex": 106,
[05] "startIndex": 82,
[06] "textRun": {
[07] "content": "Some text that does not ",
[08] "textStyle": {}
[09] }
[10] },
[11] {
[12] "endIndex": 115,
[13] "startIndex": 106,
[14] "textRun": {
[15] "content": "initially",
[16] "suggestedTextStyleChanges": {
[17] "suggest.xymysbs9zldp": {
[18] "textStyle": {
[19] "backgroundColor": {},
[20] "baselineOffset": "NONE",
[21] "bold": true,
[22] "fontSize": {
[23] "magnitude": 11,
[24] "unit": "PT"
[25] },
[26] "foregroundColor": {
[27] "color": {
[28] "rgbColor": {}
[29] }
[30] },
[31] "italic": false,
[32] "smallCaps": false,
[33] "strikethrough": false,
[34] "underline": false
[35] },
[36] "textStyleSuggestionState": {
[37] "boldSuggested": true,
[38] "weightedFontFamilySuggested": true
[39] }
[40] }
[41] },
[42] "textStyle": {
[43] "italic": true
[44] }
[45] }
[46] },
[47] {
[48] "endIndex": 143,
[49] "startIndex": 115,
[50] "textRun": {
[51] "content": " contain any boldface text.\n",
[52] "textStyle": {}
[53] }
[54] }
[55] ],
[56] "paragraphStyle": {
[57] "direction": "LEFT_TO_RIGHT",
[58] "namedStyleType": "NORMAL_TEXT"
[59] }
[60] }
في المثال أعلاه، تتكون الفقرة من 3 عمليات تشغيل للنص، بدءًا من الأسطر 6 و14 و50. فحص تنفيذ النص الأوسط:
- السطر 16: هناك كائن
suggestedTextStyleChanges
. - السطر 18: يحدد
textStyle
تنسيقات مختلفة. - السطر 36: يذكر
textStyleSuggestionState
أن الجزء الغامق فقط من هذه المواصفات هو الاقتراح. - السطر 42: النمط المائل لتشغيل هذا النص هو جزء من المستند الحالي (ولا يتأثر بالاقتراح).
ولا تشمل هذه الاقتراحات سوى ميزات النمط التي تم ضبطها على true
في textStyleSuggestionState
.