Dokumenty Google umożliwiają współpracownikom tworzenie sugestie, które są odroczenie zmian w oczekiwaniu na zatwierdzenie.
Gdy korzystasz z narzędzia documents.get
pobierania treści dokumentu, treść może zawierać nierozwiązane
sugestie. Aby określić, jak documents.get
ma wyświetlać sugestie, użyj funkcji
opcjonalnie
SuggestionsViewMode
.
. W przypadku tego parametru dostępne są te warunki filtra:
- Pobieraj treści za pomocą funkcji
SUGGESTIONS_INLINE
, więc tekst oczekuje na usunięcie lub . - Pobierz treść w formie podglądu z zaakceptowanymi wszystkimi sugestiami.
- Wyświetlaj treści w formie podglądu bez sugestii ze wszystkimi sugestiami odrzucono.
Jeśli nie podasz SuggestionsViewMode
, interfejs API Dokumentów Google użyje wartości domyślnej
odpowiednie do uprawnień bieżącego użytkownika.
Sugestie i Indeksy
Jednym z powodów, dla których SuggestionsViewMode
jest ważny, jest to, że indeksy w tabeli
odpowiedź może się różnić w zależności od tego, czy są dostępne sugestie, jak pokazano poniżej.
Treści z sugestiami | Treści bez sugestii |
---|---|
{ "tabs": [ { "documentTab": { "body": { "content": [ { "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" } } } ] } } } ] }, |
{ "tabs": [ { "documentTab": { "body": { "content": [ { "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" } } } ] } } } ] }, |
W powyższej odpowiedzi akapit zawierający wiersz „Tekst następujący po fragmencie
sugestia pokazuje różnicę w przypadku użycia funkcji SuggestionsViewMode
. Za pomocą
ustawiona na SUGGESTIONS_INLINE
, startIndex
funkcji
ParagraphElement
.
zaczyna się na 51, a endIndex
kończy na 81. Bez sugestii
startIndex
i endIndex
mieszczą się w przedziale od 32 do 62.
Otrzymywanie treści bez sugestii
Poniższy przykładowy częściowy kod pokazuje, jak wyświetlić dokument jako podgląd
wszystkie sugestie (jeśli takie są) zostały odrzucone przez ustawienie SuggestionsViewMode
na PREVIEW_WITHOUT_SUGGESTIONS
.
Java
final string SUGGEST_MODE = "PREVIEW_WITHOUT_SUGGESTIONS"; Document doc = service .documents() .get(DOCUMENT_ID) .setIncludeTabsContent(true) .setSuggestionsViewMode(SUGGEST_MODE) .execute();
Python
SUGGEST_MODE = "PREVIEW_WITHOUT_SUGGESTIONS" result = ( service.documents() .get( documentId=DOCUMENT_ID, includeTabsContent=True, suggestionsViewMode=SUGGEST_MODE, ) .execute() )
Pominięcie parametru SuggestionsViewMode
oznacza podanie
DEFAULT_FOR_CURRENT_ACCESS
jako wartość parametru.
Sugestie dotyczące stylu
Dokumenty mogą też zawierać sugestie dotyczące stylu. To są sugerowane zmiany w: formatowania i prezentacji, a nie zmian treści.
W przeciwieństwie do operacji wstawiania lub usuwania tekstu
indeksów – choć mogą one rozdzielać
TextRun
na mniejszy
fragmenty – ale wystarczy dodać adnotacje o sugerowanej zmianie stylu.
Jedną z takich adnotacji jest
SuggestedTextStyle
,
która składa się z 2 części:
Pole
textStyle
, które określa styl tekstu na podstawie sugerowanego tekstu zmiany, ale nie informuje o tym, co się zmieniło.textStyleSuggestionState
, który wskazuje, jak zmienia się sugestia póltextStyle
.
Możesz to zobaczyć w poniższym fragmencie karty dokumentu, który zawiera sugerowana zmiana stylu:
[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] }
W przykładzie powyżej akapit składa się z 3 uruchomień tekstu, zaczynając od wiersza 6 14 i 50. Sprawdź drugie uruchomienie tekstu:
- Wiersz 16: występuje obiekt
suggestedTextStyleChanges
. - Wiersz 18: element
textStyle
określa różne formatowanie. - Wiersz 36:
textStyleSuggestionState
informuje, że tylko pogrubiona część że ta specyfikacja była sugestią. - Wiersz 42: styl kursywy w tym uruchomieniu tekstu jest częścią bieżącego dokumentu (i sugestia nie powinna ich dotyczyć).
Uwzględniane są tylko funkcje stylu ustawione na true
w textStyleSuggestionState
z sugestii.