In Google Docs können Mitbearbeiter Vorschläge machen, die effektiv verzögerte Änderungen sind, die noch genehmigt werden müssen.
Wenn Sie den Dokumentinhalt mit der Methode documents.get
abrufen, enthält dieser möglicherweise noch nicht aufgelöste Vorschläge. Mit dem optionalen Parameter SuggestionsViewMode
können Sie steuern, wie documents.get
Vorschläge darstellt. Für diesen Parameter sind folgende Filterbedingungen verfügbar:
- Ruft Inhalte mit
SUGGESTIONS_INLINE
ab, sodass Text, der entweder gelöscht oder eingefügt werden soll, im Dokument erscheint. - Rufen Sie den Inhalt als Vorschau ab, wobei alle Vorschläge angenommen wurden.
- Rufen Sie den Inhalt als Vorschau ohne Vorschläge ab, wobei alle Vorschläge abgelehnt werden.
Wenn Sie SuggestionsViewMode
nicht angeben, verwendet die Google Docs API eine Standardeinstellung, die den Berechtigungen des aktuellen Nutzers entspricht.
Vorschläge und Indexe
Ein Grund dafür, dass SuggestionsViewMode
wichtig ist, ist, dass die Indexe in der Antwort abhängig davon variieren können, ob Vorschläge vorhanden sind (siehe unten).
Inhalte mit Vorschlägen | Inhalte ohne Vorschläge |
---|---|
{ "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" } } }, |
In der Antwort oben zeigt der Absatz mit der Zeile „Text nach dem Vorschlag“ den Unterschied bei der Verwendung von SuggestionsViewMode
. Wenn der Wert auf SUGGESTIONS_INLINE
gesetzt ist, beginnt der startIndex
des ParagraphElement
bei 51 und der endIndex
bei 81. Ohne Vorschläge liegen startIndex
und endIndex
zwischen 32 und 62.
Inhalte ohne Vorschläge abrufen
Das folgende unvollständige Codebeispiel zeigt, wie Sie ein Dokument als Vorschau abrufen, in dem alle Vorschläge abgelehnt werden (falls vorhanden). Dazu setzen Sie den Parameter SuggestionsViewMode
auf PREVIEW_WITHOUT_SUGGESTIONS
.
Java
final string SUGGEST_MODE = "PREVIEW_WITHOUT_SUGGESTIONS"; Document doc = service.documents().get(DOCUMENT_ID).setSuggestionsViewMode(SUGGEST_MODE).execute()
Python
SUGGEST_MODE="PREVIEW_WITHOUT_SUGGESTIONS" result = service.documents().get(documentId=DOCUMENT_ID, suggestionsViewMode=SUGGEST_MODE).execute()
Wenn Sie den Parameter SuggestionsViewMode
weglassen, entspricht dies der Angabe von DEFAULT_FOR_CURRENT_ACCESS
als Parameterwert.
Stilvorschläge
Dokumente können auch Stilvorschläge enthalten. Dabei handelt es sich um Änderungsvorschläge für Formatierung und Präsentation, nicht um Änderungen am Inhalt.
Im Gegensatz zu Texteinfügungen oder -löschungen verschieben diese die Indexe nicht, obwohl sie ein TextRun
in kleinere Blöcke aufteilen können. Es werden lediglich Anmerkungen zur vorgeschlagenen Stiländerung hinzugefügt.
Eine solche Annotation ist eine SuggestedTextStyle
, die aus zwei Teilen besteht:
Die
textStyle
, die beschreibt, wie der Text nach der vorgeschlagenen Änderung formatiert wird, sagt jedoch nicht, was sich geändert hat.Der
textStyleSuggestionState
, der angibt, wie der Vorschlag die Felder vontextStyle
ändert.
Sie können dies im folgenden Dokumentauszug sehen, der eine vorgeschlagene Stiländerung enthält:
[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] }
Im obigen Beispiel besteht der Absatz aus drei Textausführungen, beginnend mit den Zeilen 6, 14 und 50. Sehen Sie sich die Ausführung des mittleren Texts an:
- Zeile 16: Es gibt ein
suggestedTextStyleChanges
-Objekt. - Zeile 18: Mit
textStyle
werden verschiedene Formatierungen festgelegt. - Zeile 36:
textStyleSuggestionState
gibt an, dass nur der fett gedruckte Teil dieser Spezifikation der Vorschlag war. - Zeile 42: Der Kursivformatierung dieser Textausführung ist Teil des aktuellen Dokuments und nicht vom Vorschlag betroffen.
Nur die Stilelemente, die in textStyleSuggestionState
auf true
festgelegt sind, sind Teil des Vorschlags.