以 JSON 格式输出文档内容

您可以使用以下示例将文档内容转储为格式化的 JSON。

生成的转储可帮助您从总体上了解 Google 文档文件的结构,或帮助您排查有关特定文档的结构和内容的问题。

源代码

Java

import com.google.api.client.auth.oauth2.Credential;
import com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp;
import com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver;
import com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow;
import com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.client.util.store.FileDataStoreFactory;
import com.google.api.services.docs.v1.Docs;
import com.google.api.services.docs.v1.DocsScopes;
import com.google.api.services.docs.v1.model.Document;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.security.GeneralSecurityException;
import java.util.Collections;
import java.util.List;

public class OutputJSON {
  private static final String APPLICATION_NAME = "Google Docs API Document Contents";
  private static final JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();
  private static final String TOKENS_DIRECTORY_PATH = "tokens";
  private static final String DOCUMENT_ID = "YOUR_DOCUMENT_ID";

  /**
   * Global instance of the scopes required by this sample. If modifying these scopes, delete
   * your previously saved tokens/ folder.
   */
  private static final List<String> SCOPES =
      Collections.singletonList(DocsScopes.DOCUMENTS_READONLY);

  private static final String CREDENTIALS_FILE_PATH = "/credentials.json";

  /**
   * Creates an authorized Credential object.
   *
   * @param HTTP_TRANSPORT The network HTTP Transport.
   * @return An authorized Credential object.
   * @throws IOException If the credentials.json file cannot be found.
   */
  private static Credential getCredentials(final NetHttpTransport HTTP_TRANSPORT)
      throws IOException {
    // Load client secrets.
    InputStream in = OutputJSON.class.getResourceAsStream(CREDENTIALS_FILE_PATH);
    GoogleClientSecrets credentials =
        GoogleClientSecrets.load(JSON_FACTORY, new InputStreamReader(in));

    // Build flow and trigger user authorization request.
    GoogleAuthorizationCodeFlow flow =
        new GoogleAuthorizationCodeFlow.Builder(HTTP_TRANSPORT, JSON_FACTORY, credentials, SCOPES)
            .setDataStoreFactory(new FileDataStoreFactory(new java.io.File(TOKENS_DIRECTORY_PATH)))
            .setAccessType("offline")
            .build();
    LocalServerReceiver receiver = new LocalServerReceiver.Builder().setPort(8888).build();
    return new AuthorizationCodeInstalledApp(flow, receiver).authorize("user");
  }

  public static void main(String... args) throws IOException, GeneralSecurityException {
    // Build a new authorized API client service.
    final NetHttpTransport HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();
    Docs docsService =
        new Docs.Builder(HTTP_TRANSPORT, JSON_FACTORY, getCredentials(HTTP_TRANSPORT))
            .setApplicationName(APPLICATION_NAME)
            .build();

    Document response = docsService.documents().get(DOCUMENT_ID).execute();
    Gson gson = new GsonBuilder().setPrettyPrinting().create();
    System.out.println(gson.toJson(response));
  }
}

JavaScript

<!DOCTYPE html>
<html>
  <head>
    <title>
      Docs API Extract Body
    </title>
    <meta charset="utf-8"/>
  </head>
  <body>
    <p>
      Docs API Extract Body
    </p>
    <!--Add buttons to initiate auth sequence and sign out-->
    <button id="authorize-button" style="display: none;">Authorize</button>
    <button id="signout-button" style="display: none;">Sign Out</button>
    <pre id="content"></pre>

    <script type="text/javascript">
      // Client ID and API key from the Developer Console
      var CLIENT_ID = '<YOUR_CLIENT_ID>'
      var API_KEY = '<YOUR_API_KEY>';

      // Array of API discovery doc URLs for APIs used by the sample
      var DISCOVERY_DOCS = [
        'https://docs.googleapis.com/$discovery/rest?version=v1'];

      // Authorization scopes required by the API; multiple scopes can be
      // included, separated by spaces.
      var SCOPES = "https://www.googleapis.com/auth/documents.readonly";

      var authorizeButton = document.getElementById('authorize-button');
      var signoutButton = document.getElementById('signout-button');

      /**
       *  On load, called to load the auth2 library and API client library.
       */
      function handleClientLoad() {
        gapi.load('client:auth2', initClient);
      }

      /**
       *  Initializes the API client library and sets up sign-in state
       *  listeners.
       */
      function initClient() {
        gapi.client.init({
        apiKey: API_KEY,
        clientId: CLIENT_ID,
        discoveryDocs: DISCOVERY_DOCS,
        scope: SCOPES
      }).then(function () {
        // Listen for sign-in state changes.
        gapi.auth2.getAuthInstance().isSignedIn.listen(updateSigninStatus);

      // Handle the initial sign-in state.
        updateSigninStatus(gapi.auth2.getAuthInstance().isSignedIn.get());
        authorizeButton.onclick = handleAuthClick;
        signoutButton.onclick = handleSignoutClick;
        });
      }

      /**
       *  Called when the signed in status changes, to update the UI
       *  appropriately. After a sign-in, the API is called.
       */
      function updateSigninStatus(isSignedIn) {
        if (isSignedIn) {
        authorizeButton.style.display = 'none';
        signoutButton.style.display = 'block';
        printDocBody();
        } else {
        authorizeButton.style.display = 'block';
        signoutButton.style.display = 'none';
        }
      }

      /**
       *  Sign in the user upon button click.
       */
      function handleAuthClick(event) {
        gapi.auth2.getAuthInstance().signIn();
      }

      /**
       *  Sign out the user upon button click.
       */
      function handleSignoutClick(event) {
        gapi.auth2.getAuthInstance().signOut();
      }

      /**
       * Append a pre element to the body containing the given message
       * as its text node. Used to display the results of the API call.
       *
       * @param {string} message Text to be placed in pre element.
       */
      function appendPre(message) {
        var pre = document.getElementById('content');
        var textContent = document.createTextNode(message + '\n');
        pre.appendChild(textContent);
      }

      /**
       * Prints the JSON body of a document.
       */
      function printDocBody() {
        gapi.client.docs.documents.get({
        documentId: 'DOCUMENT_ID'
      }).then(function(response) {
        var doc = response.result;
        appendPre(JSON.stringify(doc.body, null, 4));
      },function(response) {
        appendPre('Error: ' + response.result.error.message);
        });
      }
    </script>
    <script async="" defer="" onload="this.onload=function(){};handleClientLoad()" onreadystatechange="if (this.readyState === 'complete') this.onload()" src="https://apis.google.com/js/api.js"></script>
  </body>
</html>

Python

docs/output-json/output-json.py
import json

from apiclient import discovery
from httplib2 import Http
from oauth2client import client, file, tools

# Set doc ID, as found at `https://docs.google.com/document/d/YOUR_DOC_ID/edit`
DOCUMENT_ID = "YOUR_DOC_ID"

# Set the scopes and discovery info
SCOPES = "https://www.googleapis.com/auth/documents.readonly"
DISCOVERY_DOC = "https://docs.googleapis.com/$discovery/rest?version=v1"

# Initialize credentials and instantiate Docs API service
store = file.Storage("token.json")
creds = store.get()
if not creds or creds.invalid:
  flow = client.flow_from_clientsecrets("credentials.json", SCOPES)
  creds = tools.run_flow(flow, store)
service = discovery.build(
    "docs",
    "v1",
    http=creds.authorize(Http()),
    discoveryServiceUrl=DISCOVERY_DOC,
)

# Do a document "get" request and print the results as formatted JSON
result = service.documents().get(documentId=DOCUMENT_ID).execute()
print(json.dumps(result, indent=4, sort_keys=True))

文档转储示例

本部分使用上述代码展示一个简单的文档及其等效的 JSON 输出。源文档如下所示:

使用本文档运行上述代码时,系统会输出类似于以下内容的 JSON:

{
    "body": {
        "content": [
            {
                "endIndex": 1, 
                "sectionBreak": {
                    "sectionStyle": {
                        "columnSeparatorStyle": "NONE", 
                        "contentDirection": "LEFT_TO_RIGHT"
                    }
                }
            }, 
            {
                "endIndex": 75, 
                "paragraph": {
                    "elements": [
                        {
                            "endIndex": 75, 
                            "startIndex": 1, 
                            "textRun": {
                                "content": "This is an ordinary paragraph. It is the first paragraph of the document.\n", 
                                "textStyle": {}
                            }
                        }
                    ], 
                    "paragraphStyle": {
                        "direction": "LEFT_TO_RIGHT", 
                        "namedStyleType": "NORMAL_TEXT"
                    }
                }, 
                "startIndex": 1
            }, 
            {
                "endIndex": 102, 
                "paragraph": {
                    "elements": [
                        {
                            "endIndex": 102, 
                            "startIndex": 75, 
                            "textRun": {
                                "content": "Here\u2019s a level one heading\n", 
                                "textStyle": {}
                            }
                        }
                    ], 
                    "paragraphStyle": {
                        "direction": "LEFT_TO_RIGHT", 
                        "headingId": "h.o1fkftgl5zwf", 
                        "namedStyleType": "HEADING_1"
                    }
                }, 
                "startIndex": 75
            }, 
            {
                "endIndex": 219, 
                "paragraph": {
                    "elements": [
                        {
                            "endIndex": 171, 
                            "startIndex": 102, 
                            "textRun": {
                                "content": "This is another paragraph. Formatting within this paragraph includes ", 
                                "textStyle": {}
                            }
                        }, 
                        {
                            "endIndex": 190, 
                            "startIndex": 171, 
                            "textRun": {
                                "content": "these words in bold", 
                                "textStyle": {
                                    "bold": true
                                }
                            }
                        }, 
                        {
                            "endIndex": 195, 
                            "startIndex": 190, 
                            "textRun": {
                                "content": " and ", 
                                "textStyle": {}
                            }
                        }, 
                        {
                            "endIndex": 217, 
                            "startIndex": 195, 
                            "textRun": {
                                "content": "these words in italics", 
                                "textStyle": {
                                    "italic": true
                                }
                            }
                        }, 
                        {
                            "endIndex": 219, 
                            "startIndex": 217, 
                            "textRun": {
                                "content": ".\n", 
                                "textStyle": {}
                            }
                        }
                    ], 
                    "paragraphStyle": {
                        "direction": "LEFT_TO_RIGHT", 
                        "namedStyleType": "NORMAL_TEXT"
                    }
                }, 
                "startIndex": 102
            }, 
            {
                "endIndex": 248, 
                "paragraph": {
                    "bullet": {
                        "listId": "kix.717rkbf3o6mp", 
                        "textStyle": {
                            "underline": false
                        }
                    }, 
                    "elements": [
                        {
                            "endIndex": 248, 
                            "startIndex": 219, 
                            "textRun": {
                                "content": "This is a bulleted list item\n", 
                                "textStyle": {}
                            }
                        }
                    ], 
                    "paragraphStyle": {
                        "direction": "LEFT_TO_RIGHT", 
                        "indentFirstLine": {
                            "magnitude": 18, 
                            "unit": "PT"
                        }, 
                        "indentStart": {
                            "magnitude": 36, 
                            "unit": "PT"
                        }, 
                        "namedStyleType": "NORMAL_TEXT"
                    }
                }, 
                "startIndex": 219
            }, 
            {
                "endIndex": 308, 
                "paragraph": {
                    "bullet": {
                        "listId": "kix.717rkbf3o6mp", 
                        "textStyle": {
                            "underline": false
                        }
                    }, 
                    "elements": [
                        {
                            "endIndex": 308, 
                            "startIndex": 248, 
                            "textRun": {
                                "content": "And this is another one, which has a numbered list under it\n", 
                                "textStyle": {}
                            }
                        }
                    ], 
                    "paragraphStyle": {
                        "direction": "LEFT_TO_RIGHT", 
                        "indentFirstLine": {
                            "magnitude": 18, 
                            "unit": "PT"
                        }, 
                        "indentStart": {
                            "magnitude": 36, 
                            "unit": "PT"
                        }, 
                        "namedStyleType": "NORMAL_TEXT"
                    }
                }, 
                "startIndex": 248
            }, 
            {
                "endIndex": 346, 
                "paragraph": {
                    "bullet": {
                        "listId": "kix.717rkbf3o6mp", 
                        "nestingLevel": 1, 
                        "textStyle": {
                            "underline": false
                        }
                    }, 
                    "elements": [
                        {
                            "endIndex": 346, 
                            "startIndex": 308, 
                            "textRun": {
                                "content": "This is the first numbered list item.\n", 
                                "textStyle": {}
                            }
                        }
                    ], 
                    "paragraphStyle": {
                        "direction": "LEFT_TO_RIGHT", 
                        "indentFirstLine": {
                            "magnitude": 54, 
                            "unit": "PT"
                        }, 
                        "indentStart": {
                            "magnitude": 72, 
                            "unit": "PT"
                        }, 
                        "namedStyleType": "NORMAL_TEXT"
                    }
                }, 
                "startIndex": 308
            }, 
            {
                "endIndex": 385, 
                "paragraph": {
                    "bullet": {
                        "listId": "kix.717rkbf3o6mp", 
                        "nestingLevel": 1, 
                        "textStyle": {
                            "underline": false
                        }
                    }, 
                    "elements": [
                        {
                            "endIndex": 385, 
                            "startIndex": 346, 
                            "textRun": {
                                "content": "This is the second numbered list item.\n", 
                                "textStyle": {}
                            }
                        }
                    ], 
                    "paragraphStyle": {
                        "direction": "LEFT_TO_RIGHT", 
                        "indentFirstLine": {
                            "magnitude": 54, 
                            "unit": "PT"
                        }, 
                        "indentStart": {
                            "magnitude": 72, 
                            "unit": "PT"
                        }, 
                        "namedStyleType": "NORMAL_TEXT"
                    }
                }, 
                "startIndex": 346
            }, 
            {
                "endIndex": 460, 
                "paragraph": {
                    "bullet": {
                        "listId": "kix.717rkbf3o6mp", 
                        "nestingLevel": 1, 
                        "textStyle": {
                            "underline": false
                        }
                    }, 
                    "elements": [
                        {
                            "endIndex": 433, 
                            "startIndex": 385, 
                            "textRun": {
                                "content": "This is the third numbered list item, which has ", 
                                "textStyle": {}
                            }
                        }, 
                        {
                            "endIndex": 450, 
                            "startIndex": 433, 
                            "textRun": {
                                "content": "these three words", 
                                "textStyle": {
                                    "bold": true
                                }
                            }
                        }, 
                        {
                            "endIndex": 460, 
                            "startIndex": 450, 
                            "textRun": {
                                "content": " in bold.\n", 
                                "textStyle": {}
                            }
                        }
                    ], 
                    "paragraphStyle": {
                        "direction": "LEFT_TO_RIGHT", 
                        "indentFirstLine": {
                            "magnitude": 54, 
                            "unit": "PT"
                        }, 
                        "indentStart": {
                            "magnitude": 72, 
                            "unit": "PT"
                        }, 
                        "namedStyleType": "NORMAL_TEXT"
                    }
                }, 
                "startIndex": 385
            }, 
            {
                "endIndex": 496, 
                "paragraph": {
                    "bullet": {
                        "listId": "kix.717rkbf3o6mp", 
                        "textStyle": {
                            "underline": false
                        }
                    }, 
                    "elements": [
                        {
                            "endIndex": 496, 
                            "startIndex": 460, 
                            "textRun": {
                                "content": "And a final list item with a bullet\n", 
                                "textStyle": {}
                            }
                        }
                    ], 
                    "paragraphStyle": {
                        "direction": "LEFT_TO_RIGHT", 
                        "indentFirstLine": {
                            "magnitude": 18, 
                            "unit": "PT"
                        }, 
                        "indentStart": {
                            "magnitude": 36, 
                            "unit": "PT"
                        }, 
                        "namedStyleType": "NORMAL_TEXT"
                    }
                }, 
                "startIndex": 460
            }, 
            {
                "endIndex": 497, 
                "paragraph": {
                    "elements": [
                        {
                            "endIndex": 497, 
                            "startIndex": 496, 
                            "textRun": {
                                "content": "\n", 
                                "textStyle": {}
                            }
                        }
                    ], 
                    "paragraphStyle": {
                        "direction": "LEFT_TO_RIGHT", 
                        "namedStyleType": "NORMAL_TEXT"
                    }
                }, 
                "startIndex": 496
            }, 
            {
                "endIndex": 565, 
                "startIndex": 497, 
                "table": {
                    "columns": 2, 
                    "rows": 2, 
                    "tableRows": [
                        {
                            "endIndex": 531, 
                            "startIndex": 498, 
                            "tableCells": [
                                {
                                    "content": [
                                        {
                                            "endIndex": 515, 
                                            "paragraph": {
                                                "elements": [
                                                    {
                                                        "endIndex": 515, 
                                                        "startIndex": 500, 
                                                        "textRun": {
                                                            "content": "Northwest cell\n", 
                                                            "textStyle": {}
                                                        }
                                                    }
                                                ], 
                                                "paragraphStyle": {
                                                    "alignment": "START", 
                                                    "avoidWidowAndOrphan": false, 
                                                    "borderBetween": {
                                                        "color": {}, 
                                                        "dashStyle": "SOLID", 
                                                        "lineStyle": "SOLID", 
                                                        "padding": {
                                                            "unit": "PT"
                                                        }, 
                                                        "width": {
                                                            "unit": "PT"
                                                        }
                                                    }, 
                                                    "borderBottom": {
                                                        "color": {}, 
                                                        "dashStyle": "SOLID", 
                                                        "lineStyle": "SOLID", 
                                                        "padding": {
                                                            "unit": "PT"
                                                        }, 
                                                        "width": {
                                                            "unit": "PT"
                                                        }
                                                    }, 
                                                    "borderLeft": {
                                                        "color": {}, 
                                                        "dashStyle": "SOLID", 
                                                        "lineStyle": "SOLID", 
                                                        "padding": {
                                                            "unit": "PT"
                                                        }, 
                                                        "width": {
                                                            "unit": "PT"
                                                        }
                                                    }, 
                                                    "borderRight": {
                                                        "color": {}, 
                                                        "dashStyle": "SOLID", 
                                                        "lineStyle": "SOLID", 
                                                        "padding": {
                                                            "unit": "PT"
                                                        }, 
                                                        "width": {
                                                            "unit": "PT"
                                                        }
                                                    }, 
                                                    "borderTop": {
                                                        "color": {}, 
                                                        "dashStyle": "SOLID", 
                                                        "lineStyle": "SOLID", 
                                                        "padding": {
                                                            "unit": "PT"
                                                        }, 
                                                        "width": {
                                                            "unit": "PT"
                                                        }
                                                    }, 
                                                    "direction": "LEFT_TO_RIGHT", 
                                                    "indentEnd": {
                                                        "unit": "PT"
                                                    }, 
                                                    "indentFirstLine": {
                                                        "unit": "PT"
                                                    }, 
                                                    "indentStart": {
                                                        "unit": "PT"
                                                    }, 
                                                    "keepLinesTogether": false, 
                                                    "keepWithNext": false, 
                                                    "lineSpacing": 100, 
                                                    "namedStyleType": "NORMAL_TEXT", 
                                                    "shading": {
                                                        "backgroundColor": {}
                                                    }, 
                                                    "spaceAbove": {
                                                        "unit": "PT"
                                                    }, 
                                                    "spaceBelow": {
                                                        "unit": "PT"
                                                    }, 
                                                    "spacingMode": "COLLAPSE_LISTS"
                                                }
                                            }, 
                                            "startIndex": 500
                                        }
                                    ], 
                                    "endIndex": 515, 
                                    "startIndex": 499, 
                                    "tableCellStyle": {
                                        "backgroundColor": {}, 
                                        "columnSpan": 1, 
                                        "contentAlignment": "TOP", 
                                        "paddingBottom": {
                                            "magnitude": 5, 
                                            "unit": "PT"
                                        }, 
                                        "paddingLeft": {
                                            "magnitude": 5, 
                                            "unit": "PT"
                                        }, 
                                        "paddingRight": {
                                            "magnitude": 5, 
                                            "unit": "PT"
                                        }, 
                                        "paddingTop": {
                                            "magnitude": 5, 
                                            "unit": "PT"
                                        }, 
                                        "rowSpan": 1
                                    }
                                }, 
                                {
                                    "content": [
                                        {
                                            "endIndex": 531, 
                                            "paragraph": {
                                                "elements": [
                                                    {
                                                        "endIndex": 531, 
                                                        "startIndex": 516, 
                                                        "textRun": {
                                                            "content": "Northeast cell\n", 
                                                            "textStyle": {}
                                                        }
                                                    }
                                                ], 
                                                "paragraphStyle": {
                                                    "alignment": "START", 
                                                    "avoidWidowAndOrphan": false, 
                                                    "borderBetween": {
                                                        "color": {}, 
                                                        "dashStyle": "SOLID", 
                                                        "lineStyle": "SOLID", 
                                                        "padding": {
                                                            "unit": "PT"
                                                        }, 
                                                        "width": {
                                                            "unit": "PT"
                                                        }
                                                    }, 
                                                    "borderBottom": {
                                                        "color": {}, 
                                                        "dashStyle": "SOLID", 
                                                        "lineStyle": "SOLID", 
                                                        "padding": {
                                                            "unit": "PT"
                                                        }, 
                                                        "width": {
                                                            "unit": "PT"
                                                        }
                                                    }, 
                                                    "borderLeft": {
                                                        "color": {}, 
                                                        "dashStyle": "SOLID", 
                                                        "lineStyle": "SOLID", 
                                                        "padding": {
                                                            "unit": "PT"
                                                        }, 
                                                        "width": {
                                                            "unit": "PT"
                                                        }
                                                    }, 
                                                    "borderRight": {
                                                        "color": {}, 
                                                        "dashStyle": "SOLID", 
                                                        "lineStyle": "SOLID", 
                                                        "padding": {
                                                            "unit": "PT"
                                                        }, 
                                                        "width": {
                                                            "unit": "PT"
                                                        }
                                                    }, 
                                                    "borderTop": {
                                                        "color": {}, 
                                                        "dashStyle": "SOLID", 
                                                        "lineStyle": "SOLID", 
                                                        "padding": {
                                                            "unit": "PT"
                                                        }, 
                                                        "width": {
                                                            "unit": "PT"
                                                        }
                                                    }, 
                                                    "direction": "LEFT_TO_RIGHT", 
                                                    "indentEnd": {
                                                        "unit": "PT"
                                                    }, 
                                                    "indentFirstLine": {
                                                        "unit": "PT"
                                                    }, 
                                                    "indentStart": {
                                                        "unit": "PT"
                                                    }, 
                                                    "keepLinesTogether": false, 
                                                    "keepWithNext": false, 
                                                    "lineSpacing": 100, 
                                                    "namedStyleType": "NORMAL_TEXT", 
                                                    "shading": {
                                                        "backgroundColor": {}
                                                    }, 
                                                    "spaceAbove": {
                                                        "unit": "PT"
                                                    }, 
                                                    "spaceBelow": {
                                                        "unit": "PT"
                                                    }, 
                                                    "spacingMode": "COLLAPSE_LISTS"
                                                }
                                            }, 
                                            "startIndex": 516
                                        }
                                    ], 
                                    "endIndex": 531, 
                                    "startIndex": 515, 
                                    "tableCellStyle": {
                                        "backgroundColor": {}, 
                                        "columnSpan": 1, 
                                        "contentAlignment": "TOP", 
                                        "paddingBottom": {
                                            "magnitude": 5, 
                                            "unit": "PT"
                                        }, 
                                        "paddingLeft": {
                                            "magnitude": 5, 
                                            "unit": "PT"
                                        }, 
                                        "paddingRight": {
                                            "magnitude": 5, 
                                            "unit": "PT"
                                        }, 
                                        "paddingTop": {
                                            "magnitude": 5, 
                                            "unit": "PT"
                                        }, 
                                        "rowSpan": 1
                                    }
                                }
                            ], 
                            "tableRowStyle": {
                                "minRowHeight": {
                                    "unit": "PT"
                                }
                            }
                        }, 
                        {
                            "endIndex": 564, 
                            "startIndex": 531, 
                            "tableCells": [
                                {
                                    "content": [
                                        {
                                            "endIndex": 548, 
                                            "paragraph": {
                                                "elements": [
                                                    {
                                                        "endIndex": 548, 
                                                        "startIndex": 533, 
                                                        "textRun": {
                                                            "content": "Southwest cell\n", 
                                                            "textStyle": {}
                                                        }
                                                    }
                                                ], 
                                                "paragraphStyle": {
                                                    "alignment": "START", 
                                                    "avoidWidowAndOrphan": false, 
                                                    "borderBetween": {
                                                        "color": {}, 
                                                        "dashStyle": "SOLID", 
                                                        "lineStyle": "SOLID", 
                                                        "padding": {
                                                            "unit": "PT"
                                                        }, 
                                                        "width": {
                                                            "unit": "PT"
                                                        }
                                                    }, 
                                                    "borderBottom": {
                                                        "color": {}, 
                                                        "dashStyle": "SOLID", 
                                                        "lineStyle": "SOLID", 
                                                        "padding": {
                                                            "unit": "PT"
                                                        }, 
                                                        "width": {
                                                            "unit": "PT"
                                                        }
                                                    }, 
                                                    "borderLeft": {
                                                        "color": {}, 
                                                        "dashStyle": "SOLID", 
                                                        "lineStyle": "SOLID", 
                                                        "padding": {
                                                            "unit": "PT"
                                                        }, 
                                                        "width": {
                                                            "unit": "PT"
                                                        }
                                                    }, 
                                                    "borderRight": {
                                                        "color": {}, 
                                                        "dashStyle": "SOLID", 
                                                        "lineStyle": "SOLID", 
                                                        "padding": {
                                                            "unit": "PT"
                                                        }, 
                                                        "width": {
                                                            "unit": "PT"
                                                        }
                                                    }, 
                                                    "borderTop": {
                                                        "color": {}, 
                                                        "dashStyle": "SOLID", 
                                                        "lineStyle": "SOLID", 
                                                        "padding": {
                                                            "unit": "PT"
                                                        }, 
                                                        "width": {
                                                            "unit": "PT"
                                                        }
                                                    }, 
                                                    "direction": "LEFT_TO_RIGHT", 
                                                    "indentEnd": {
                                                        "unit": "PT"
                                                    }, 
                                                    "indentFirstLine": {
                                                        "unit": "PT"
                                                    }, 
                                                    "indentStart": {
                                                        "unit": "PT"
                                                    }, 
                                                    "keepLinesTogether": false, 
                                                    "keepWithNext": false, 
                                                    "lineSpacing": 100, 
                                                    "namedStyleType": "NORMAL_TEXT", 
                                                    "shading": {
                                                        "backgroundColor": {}
                                                    }, 
                                                    "spaceAbove": {
                                                        "unit": "PT"
                                                    }, 
                                                    "spaceBelow": {
                                                        "unit": "PT"
                                                    }, 
                                                    "spacingMode": "COLLAPSE_LISTS"
                                                }
                                            }, 
                                            "startIndex": 533
                                        }
                                    ], 
                                    "endIndex": 548, 
                                    "startIndex": 532, 
                                    "tableCellStyle": {
                                        "backgroundColor": {}, 
                                        "columnSpan": 1, 
                                        "contentAlignment": "TOP", 
                                        "paddingBottom": {
                                            "magnitude": 5, 
                                            "unit": "PT"
                                        }, 
                                        "paddingLeft": {
                                            "magnitude": 5, 
                                            "unit": "PT"
                                        }, 
                                        "paddingRight": {
                                            "magnitude": 5, 
                                            "unit": "PT"
                                        }, 
                                        "paddingTop": {
                                            "magnitude": 5, 
                                            "unit": "PT"
                                        }, 
                                        "rowSpan": 1
                                    }
                                }, 
                                {
                                    "content": [
                                        {
                                            "endIndex": 564, 
                                            "paragraph": {
                                                "elements": [
                                                    {
                                                        "endIndex": 564, 
                                                        "startIndex": 549, 
                                                        "textRun": {
                                                            "content": "Southeast cell\n", 
                                                            "textStyle": {}
                                                        }
                                                    }
                                                ], 
                                                "paragraphStyle": {
                                                    "alignment": "START", 
                                                    "avoidWidowAndOrphan": false, 
                                                    "borderBetween": {
                                                        "color": {}, 
                                                        "dashStyle": "SOLID", 
                                                        "lineStyle": "SOLID", 
                                                        "padding": {
                                                            "unit": "PT"
                                                        }, 
                                                        "width": {
                                                            "unit": "PT"
                                                        }
                                                    }, 
                                                    "borderBottom": {
                                                        "color": {}, 
                                                        "dashStyle": "SOLID", 
                                                        "lineStyle": "SOLID", 
                                                        "padding": {
                                                            "unit": "PT"
                                                        }, 
                                                        "width": {
                                                            "unit": "PT"
                                                        }
                                                    }, 
                                                    "borderLeft": {
                                                        "color": {}, 
                                                        "dashStyle": "SOLID", 
                                                        "lineStyle": "SOLID", 
                                                        "padding": {
                                                            "unit": "PT"
                                                        }, 
                                                        "width": {
                                                            "unit": "PT"
                                                        }
                                                    }, 
                                                    "borderRight": {
                                                        "color": {}, 
                                                        "dashStyle": "SOLID", 
                                                        "lineStyle": "SOLID", 
                                                        "padding": {
                                                            "unit": "PT"
                                                        }, 
                                                        "width": {
                                                            "unit": "PT"
                                                        }
                                                    }, 
                                                    "borderTop": {
                                                        "color": {}, 
                                                        "dashStyle": "SOLID", 
                                                        "lineStyle": "SOLID", 
                                                        "padding": {
                                                            "unit": "PT"
                                                        }, 
                                                        "width": {
                                                            "unit": "PT"
                                                        }
                                                    }, 
                                                    "direction": "LEFT_TO_RIGHT", 
                                                    "indentEnd": {
                                                        "unit": "PT"
                                                    }, 
                                                    "indentFirstLine": {
                                                        "unit": "PT"
                                                    }, 
                                                    "indentStart": {
                                                        "unit": "PT"
                                                    }, 
                                                    "keepLinesTogether": false, 
                                                    "keepWithNext": false, 
                                                    "lineSpacing": 100, 
                                                    "namedStyleType": "NORMAL_TEXT", 
                                                    "shading": {
                                                        "backgroundColor": {}
                                                    }, 
                                                    "spaceAbove": {
                                                        "unit": "PT"
                                                    }, 
                                                    "spaceBelow": {
                                                        "unit": "PT"
                                                    }, 
                                                    "spacingMode": "COLLAPSE_LISTS"
                                                }
                                            }, 
                                            "startIndex": 549
                                        }
                                    ], 
                                    "endIndex": 564, 
                                    "startIndex": 548, 
                                    "tableCellStyle": {
                                        "backgroundColor": {}, 
                                        "columnSpan": 1, 
                                        "contentAlignment": "TOP", 
                                        "paddingBottom": {
                                            "magnitude": 5, 
                                            "unit": "PT"
                                        }, 
                                        "paddingLeft": {
                                            "magnitude": 5, 
                                            "unit": "PT"
                                        }, 
                                        "paddingRight": {
                                            "magnitude": 5, 
                                            "unit": "PT"
                                        }, 
                                        "paddingTop": {
                                            "magnitude": 5, 
                                            "unit": "PT"
                                        }, 
                                        "rowSpan": 1
                                    }
                                }
                            ], 
                            "tableRowStyle": {
                                "minRowHeight": {
                                    "unit": "PT"
                                }
                            }
                        }
                    ]
                }
            }, 
            {
                "endIndex": 566, 
                "paragraph": {
                    "elements": [
                        {
                            "endIndex": 566, 
                            "startIndex": 565, 
                            "textRun": {
                                "content": "\n", 
                                "textStyle": {}
                            }
                        }
                    ], 
                    "paragraphStyle": {
                        "direction": "LEFT_TO_RIGHT", 
                        "namedStyleType": "NORMAL_TEXT"
                    }
                }, 
                "startIndex": 565
            }, 
            {
                "endIndex": 590, 
                "paragraph": {
                    "elements": [
                        {
                            "endIndex": 590, 
                            "startIndex": 566, 
                            "textRun": {
                                "content": "And a level two heading\n", 
                                "textStyle": {}
                            }
                        }
                    ], 
                    "paragraphStyle": {
                        "direction": "LEFT_TO_RIGHT", 
                        "headingId": "h.aq14w5o48s82", 
                        "namedStyleType": "HEADING_2"
                    }
                }, 
                "startIndex": 566
            }, 
            {
                "endIndex": 650, 
                "paragraph": {
                    "elements": [
                        {
                            "endIndex": 650, 
                            "startIndex": 590, 
                            "textRun": {
                                "content": "And this is a paragraph that follows the level two heading.\n", 
                                "textStyle": {}
                            }
                        }
                    ], 
                    "paragraphStyle": {
                        "direction": "LEFT_TO_RIGHT", 
                        "namedStyleType": "NORMAL_TEXT"
                    }
                }, 
                "startIndex": 590
            }
        ]
    }, 
    "documentId": "18AI89WMd4eI6TFI4VrbmD_srVWJYH2avsXpC_amtLZs", 
    "documentStyle": {
        "background": {
            "color": {}
        }, 
        "marginBottom": {
            "magnitude": 72, 
            "unit": "PT"
        }, 
        "marginLeft": {
            "magnitude": 72, 
            "unit": "PT"
        }, 
        "marginRight": {
            "magnitude": 72, 
            "unit": "PT"
        }, 
        "marginTop": {
            "magnitude": 72, 
            "unit": "PT"
        }, 
        "pageNumberStart": 1, 
        "pageSize": {
            "height": {
                "magnitude": 792, 
                "unit": "PT"
            }, 
            "width": {
                "magnitude": 612, 
                "unit": "PT"
            }
        }
    }, 
    "lists": {
        "kix.717rkbf3o6mp": {
            "listProperties": {
                "nestingLevels": [
                    {
                        "bulletAlignment": "START", 
                        "glyphFormat": "%0", 
                        "glyphSymbol": "\u25cf", 
                        "indentFirstLine": {
                            "magnitude": 18, 
                            "unit": "PT"
                        }, 
                        "indentStart": {
                            "magnitude": 36, 
                            "unit": "PT"
                        }, 
                        "startNumber": 1, 
                        "textStyle": {
                            "underline": false
                        }
                    }, 
                    {
                        "bulletAlignment": "START", 
                        "glyphFormat": "%1.", 
                        "glyphType": "ALPHA", 
                        "indentFirstLine": {
                            "magnitude": 54, 
                            "unit": "PT"
                        }, 
                        "indentStart": {
                            "magnitude": 72, 
                            "unit": "PT"
                        }, 
                        "startNumber": 1, 
                        "textStyle": {
                            "underline": false
                        }
                    }, 
                    {
                        "bulletAlignment": "START", 
                        "glyphFormat": "%2", 
                        "glyphSymbol": "\u25a0", 
                        "indentFirstLine": {
                            "magnitude": 90, 
                            "unit": "PT"
                        }, 
                        "indentStart": {
                            "magnitude": 108, 
                            "unit": "PT"
                        }, 
                        "startNumber": 1, 
                        "textStyle": {
                            "underline": false
                        }
                    }, 
                    {
                        "bulletAlignment": "START", 
                        "glyphFormat": "%3", 
                        "glyphSymbol": "\u25cf", 
                        "indentFirstLine": {
                            "magnitude": 126, 
                            "unit": "PT"
                        }, 
                        "indentStart": {
                            "magnitude": 144, 
                            "unit": "PT"
                        }, 
                        "startNumber": 1, 
                        "textStyle": {
                            "underline": false
                        }
                    }, 
                    {
                        "bulletAlignment": "START", 
                        "glyphFormat": "%4", 
                        "glyphSymbol": "\u25cb", 
                        "indentFirstLine": {
                            "magnitude": 162, 
                            "unit": "PT"
                        }, 
                        "indentStart": {
                            "magnitude": 180, 
                            "unit": "PT"
                        }, 
                        "startNumber": 1, 
                        "textStyle": {
                            "underline": false
                        }
                    }, 
                    {
                        "bulletAlignment": "START", 
                        "glyphFormat": "%5", 
                        "glyphSymbol": "\u25a0", 
                        "indentFirstLine": {
                            "magnitude": 198, 
                            "unit": "PT"
                        }, 
                        "indentStart": {
                            "magnitude": 216, 
                            "unit": "PT"
                        }, 
                        "startNumber": 1, 
                        "textStyle": {
                            "underline": false
                        }
                    }, 
                    {
                        "bulletAlignment": "START", 
                        "glyphFormat": "%6", 
                        "glyphSymbol": "\u25cf", 
                        "indentFirstLine": {
                            "magnitude": 234, 
                            "unit": "PT"
                        }, 
                        "indentStart": {
                            "magnitude": 252, 
                            "unit": "PT"
                        }, 
                        "startNumber": 1, 
                        "textStyle": {
                            "underline": false
                        }
                    }, 
                    {
                        "bulletAlignment": "START", 
                        "glyphFormat": "%7", 
                        "glyphSymbol": "\u25cb", 
                        "indentFirstLine": {
                            "magnitude": 270, 
                            "unit": "PT"
                        }, 
                        "indentStart": {
                            "magnitude": 288, 
                            "unit": "PT"
                        }, 
                        "startNumber": 1, 
                        "textStyle": {
                            "underline": false
                        }
                    }, 
                    {
                        "bulletAlignment": "START", 
                        "glyphFormat": "%8", 
                        "glyphSymbol": "\u25a0", 
                        "indentFirstLine": {
                            "magnitude": 306, 
                            "unit": "PT"
                        }, 
                        "indentStart": {
                            "magnitude": 324, 
                            "unit": "PT"
                        }, 
                        "startNumber": 1, 
                        "textStyle": {
                            "underline": false
                        }
                    }
                ]
            }
        }
    }, 
    "namedStyles": {
        "styles": [
            {
                "namedStyleType": "NORMAL_TEXT", 
                "paragraphStyle": {
                    "alignment": "START", 
                    "avoidWidowAndOrphan": true, 
                    "borderBetween": {
                        "color": {}, 
                        "dashStyle": "SOLID", 
                        "lineStyle": "SOLID", 
                        "padding": {
                            "unit": "PT"
                        }, 
                        "width": {
                            "unit": "PT"
                        }
                    }, 
                    "borderBottom": {
                        "color": {}, 
                        "dashStyle": "SOLID", 
                        "lineStyle": "SOLID", 
                        "padding": {
                            "unit": "PT"
                        }, 
                        "width": {
                            "unit": "PT"
                        }
                    }, 
                    "borderLeft": {
                        "color": {}, 
                        "dashStyle": "SOLID", 
                        "lineStyle": "SOLID", 
                        "padding": {
                            "unit": "PT"
                        }, 
                        "width": {
                            "unit": "PT"
                        }
                    }, 
                    "borderRight": {
                        "color": {}, 
                        "dashStyle": "SOLID", 
                        "lineStyle": "SOLID", 
                        "padding": {
                            "unit": "PT"
                        }, 
                        "width": {
                            "unit": "PT"
                        }
                    }, 
                    "borderTop": {
                        "color": {}, 
                        "dashStyle": "SOLID", 
                        "lineStyle": "SOLID", 
                        "padding": {
                            "unit": "PT"
                        }, 
                        "width": {
                            "unit": "PT"
                        }
                    }, 
                    "direction": "LEFT_TO_RIGHT", 
                    "indentEnd": {
                        "unit": "PT"
                    }, 
                    "indentFirstLine": {
                        "unit": "PT"
                    }, 
                    "indentStart": {
                        "unit": "PT"
                    }, 
                    "keepLinesTogether": false, 
                    "keepWithNext": false, 
                    "lineSpacing": 115, 
                    "namedStyleType": "NORMAL_TEXT", 
                    "shading": {
                        "backgroundColor": {}
                    }, 
                    "spaceAbove": {
                        "unit": "PT"
                    }, 
                    "spaceBelow": {
                        "unit": "PT"
                    }, 
                    "spacingMode": "COLLAPSE_LISTS"
                }, 
                "textStyle": {
                    "backgroundColor": {}, 
                    "baselineOffset": "NONE", 
                    "bold": false, 
                    "fontSize": {
                        "magnitude": 11, 
                        "unit": "PT"
                    }, 
                    "foregroundColor": {
                        "color": {
                            "rgbColor": {}
                        }
                    }, 
                    "italic": false, 
                    "smallCaps": false, 
                    "strikethrough": false, 
                    "underline": false, 
                    "weightedFontFamily": {
                        "fontFamily": "Arial", 
                        "weight": 400
                    }
                }
            }, 
            {
                "namedStyleType": "HEADING_1", 
                "paragraphStyle": {
                    "direction": "LEFT_TO_RIGHT", 
                    "keepLinesTogether": true, 
                    "keepWithNext": true, 
                    "namedStyleType": "NORMAL_TEXT", 
                    "spaceAbove": {
                        "magnitude": 20, 
                        "unit": "PT"
                    }, 
                    "spaceBelow": {
                        "magnitude": 6, 
                        "unit": "PT"
                    }
                }, 
                "textStyle": {
                    "fontSize": {
                        "magnitude": 20, 
                        "unit": "PT"
                    }
                }
            }, 
            {
                "namedStyleType": "HEADING_2", 
                "paragraphStyle": {
                    "direction": "LEFT_TO_RIGHT", 
                    "keepLinesTogether": true, 
                    "keepWithNext": true, 
                    "namedStyleType": "NORMAL_TEXT", 
                    "spaceAbove": {
                        "magnitude": 18, 
                        "unit": "PT"
                    }, 
                    "spaceBelow": {
                        "magnitude": 6, 
                        "unit": "PT"
                    }
                }, 
                "textStyle": {
                    "bold": false, 
                    "fontSize": {
                        "magnitude": 16, 
                        "unit": "PT"
                    }
                }
            }, 
            {
                "namedStyleType": "HEADING_3", 
                "paragraphStyle": {
                    "direction": "LEFT_TO_RIGHT", 
                    "keepLinesTogether": true, 
                    "keepWithNext": true, 
                    "namedStyleType": "NORMAL_TEXT", 
                    "spaceAbove": {
                        "magnitude": 16, 
                        "unit": "PT"
                    }, 
                    "spaceBelow": {
                        "magnitude": 4, 
                        "unit": "PT"
                    }
                }, 
                "textStyle": {
                    "bold": false, 
                    "fontSize": {
                        "magnitude": 14, 
                        "unit": "PT"
                    }, 
                    "foregroundColor": {
                        "color": {
                            "rgbColor": {
                                "blue": 0.2627451, 
                                "green": 0.2627451, 
                                "red": 0.2627451
                            }
                        }
                    }
                }
            }, 
            {
                "namedStyleType": "HEADING_4", 
                "paragraphStyle": {
                    "direction": "LEFT_TO_RIGHT", 
                    "keepLinesTogether": true, 
                    "keepWithNext": true, 
                    "namedStyleType": "NORMAL_TEXT", 
                    "spaceAbove": {
                        "magnitude": 14, 
                        "unit": "PT"
                    }, 
                    "spaceBelow": {
                        "magnitude": 4, 
                        "unit": "PT"
                    }
                }, 
                "textStyle": {
                    "fontSize": {
                        "magnitude": 12, 
                        "unit": "PT"
                    }, 
                    "foregroundColor": {
                        "color": {
                            "rgbColor": {
                                "blue": 0.4, 
                                "green": 0.4, 
                                "red": 0.4
                            }
                        }
                    }
                }
            }, 
            {
                "namedStyleType": "HEADING_5", 
                "paragraphStyle": {
                    "direction": "LEFT_TO_RIGHT", 
                    "keepLinesTogether": true, 
                    "keepWithNext": true, 
                    "namedStyleType": "NORMAL_TEXT", 
                    "spaceAbove": {
                        "magnitude": 12, 
                        "unit": "PT"
                    }, 
                    "spaceBelow": {
                        "magnitude": 4, 
                        "unit": "PT"
                    }
                }, 
                "textStyle": {
                    "fontSize": {
                        "magnitude": 11, 
                        "unit": "PT"
                    }, 
                    "foregroundColor": {
                        "color": {
                            "rgbColor": {
                                "blue": 0.4, 
                                "green": 0.4, 
                                "red": 0.4
                            }
                        }
                    }
                }
            }, 
            {
                "namedStyleType": "HEADING_6", 
                "paragraphStyle": {
                    "direction": "LEFT_TO_RIGHT", 
                    "keepLinesTogether": true, 
                    "keepWithNext": true, 
                    "namedStyleType": "NORMAL_TEXT", 
                    "spaceAbove": {
                        "magnitude": 12, 
                        "unit": "PT"
                    }, 
                    "spaceBelow": {
                        "magnitude": 4, 
                        "unit": "PT"
                    }
                }, 
                "textStyle": {
                    "fontSize": {
                        "magnitude": 11, 
                        "unit": "PT"
                    }, 
                    "foregroundColor": {
                        "color": {
                            "rgbColor": {
                                "blue": 0.4, 
                                "green": 0.4, 
                                "red": 0.4
                            }
                        }
                    }, 
                    "italic": true
                }
            }, 
            {
                "namedStyleType": "TITLE", 
                "paragraphStyle": {
                    "direction": "LEFT_TO_RIGHT", 
                    "keepLinesTogether": true, 
                    "keepWithNext": true, 
                    "namedStyleType": "NORMAL_TEXT", 
                    "spaceAbove": {
                        "unit": "PT"
                    }, 
                    "spaceBelow": {
                        "magnitude": 3, 
                        "unit": "PT"
                    }
                }, 
                "textStyle": {
                    "fontSize": {
                        "magnitude": 26, 
                        "unit": "PT"
                    }
                }
            }, 
            {
                "namedStyleType": "SUBTITLE", 
                "paragraphStyle": {
                    "direction": "LEFT_TO_RIGHT", 
                    "keepLinesTogether": true, 
                    "keepWithNext": true, 
                    "namedStyleType": "NORMAL_TEXT", 
                    "spaceAbove": {
                        "unit": "PT"
                    }, 
                    "spaceBelow": {
                        "magnitude": 16, 
                        "unit": "PT"
                    }
                }, 
                "textStyle": {
                    "fontSize": {
                        "magnitude": 15, 
                        "unit": "PT"
                    }, 
                    "foregroundColor": {
                        "color": {
                            "rgbColor": {
                                "blue": 0.4, 
                                "green": 0.4, 
                                "red": 0.4
                            }
                        }
                    }, 
                    "italic": false, 
                    "weightedFontFamily": {
                        "fontFamily": "Arial", 
                        "weight": 400
                    }
                }
            }
        ]
    }, 
    "revisionId": "np_INheZiecEMA", 
    "suggestionsViewMode": "SUGGESTIONS_INLINE", 
    "title": "Test mule"
}