Önerilerle çalışma

Google Dokümanlar, ortak çalışanların onay bekleyen etkili şekilde ertelenmiş düzenlemeler içeren öneriler yapmasına olanak tanır.

Doküman içeriğini getirmek için documents.get yöntemini kullandığınızda, içerikte çözülmemiş öneriler bulunabilir. documents.get öğesinin önerileri nasıl temsil ettiğini kontrol etmek için isteğe bağlı SuggestionsViewMode parametresini kullanın. Bu parametreyle aşağıdaki filtre koşulları kullanılabilir:

  • SUGGESTIONS_INLINE ile içerik alın. Böylece, dokümanda silinmeyi veya eklemeyi bekleyen metinler görünür.
  • İçeriği önizleme olarak alın ve tüm önerileri kabul edin.
  • İçeriği, önerileri olmadan ve tüm önerileri reddederek önizleme olarak alın.

SuggestionsViewMode özelliğini sağlamazsanız Google Docs API, geçerli kullanıcının ayrıcalıklarına uygun bir varsayılan ayar kullanır.

Öneriler ve dizinler

SuggestionsViewMode özelliğinin önemli olmasının nedenlerinden biri, yanıttaki dizinlerin aşağıda gösterildiği gibi öneri olup olmadığına bağlı olarak değişebilmesidir.

Öneri içeren içerik Öneri içermeyen içerik
{
 "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"
  }
 }
},

Yukarıdaki yanıtta, "Öneriyi izleyen metin" satırını içeren paragraf, SuggestionsViewMode kullanılırken ortaya çıkan farkı gösterir. Değer SUGGESTIONS_INLINE olarak ayarlandığında ParagraphElement öğesinin startIndex değeri 51'den başlar ve endIndex 81'de durur. Öneri olmadan startIndex ve endIndex değerleri 32-62 arasında değişir.

Önerileri olmadan içerik alma

Aşağıdaki kısmi kod örneğinde, SuggestionsViewMode parametresi PREVIEW_WITHOUT_SUGGESTIONS olarak ayarlanarak tüm önerilerin reddedildiği (varsa) bir dokümanın önizleme olarak nasıl alınacağı gösterilmektedir.

Java

son dize SUGGEST_MODE = "PREVIEW_WITHOUT_SUGGESTIONS"; Doküman dokümanı = service.documents().get(DOCUMENT_ID).setSuggestionsViewMode(SUGGEST_MODE).execute();

Python

SUGGEST_MODE="PREVIEW_WITHOUT_SUGGESTIONS" sonuç = service.documents().get(documentId=DOCUMENT_ID, suggestionsViewMode=SUGGEST_MODE).execute()

SuggestionsViewMode parametresini atlamak, parametre değeri olarak DEFAULT_FOR_CURRENT_ACCESS değerini sağlamakla eşdeğerdir.

Stil önerileri

Dokümanlarda stil önerileri de bulunabilir. Bunlar içerikte değişiklikler yerine, biçimlendirme ve sunum için önerilen değişikliklerdir.

Metin ekleme veya silme işlemlerinden farklı olarak bunlar, bir TextRun öğesini daha küçük parçalara ayırabilse de dizinleri dengelemez ancak yalnızca önerilen stil değişikliğiyle ilgili ek açıklamalar ekler.

Bu tür bir ek açıklama, 2 bölümden oluşan bir SuggestedTextStyle'tir:

  • Önerilen değişiklikten sonra metnin stilinin nasıl değiştirildiğini açıklayan textStyle, ancak nelerin değiştiğini belirtmez.

  • Önerinin textStyle alanlarını nasıl değiştirdiğini gösteren textStyleSuggestionState.

Bunu, önerilen bir stil değişikliği içeren aşağıdaki belge ayıklamasında görebilirsiniz:

[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] }

Yukarıdaki örnekte paragraf 6, 14 ve 50. satırlardan başlayarak 3 metinden oluşur. Ortadaki metni inceleyin:

  • 16. Satır: suggestedTextStyleChanges nesnesi var.
  • 18. satır: textStyle çeşitli biçimlendirmeler belirtir.
  • 36. satır: textStyleSuggestionState, bu spesifikasyonun yalnızca kalın harflerle yazılmış kısmının öneri olduğunu belirtir.
  • 42. satır: Çalıştırılan bu metnin italik stili, geçerli dokümanın bir parçasıdır (ve öneriden etkilenmez).

Yalnızca textStyleSuggestionState öğesinde true olarak ayarlanmış stil özellikleri önerinin bir parçasıdır.