<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="books_v1.html">Books API</a> . <a href="books_v1.layers.html">layers</a> . <a href="books_v1.layers.volumeAnnotations.html">volumeAnnotations</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#get">get(volumeId, layerId, annotationId, source=None, locale=None)</a></code></p>
<p class="firstline">Gets the volume annotation.</p>
<p class="toc_element">
  <code><a href="#list">list(volumeId, layerId, contentVersion, endPosition=None, locale=None, startOffset=None, volumeAnnotationsVersion=None, pageToken=None, updatedMin=None, endOffset=None, showDeleted=None, updatedMax=None, maxResults=None, startPosition=None, source=None)</a></code></p>
<p class="firstline">Gets the volume annotations for a volume and layer.</p>
<p class="toc_element">
  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="get">get(volumeId, layerId, annotationId, source=None, locale=None)</code>
  <pre>Gets the volume annotation.

Args:
  volumeId: string, The volume to retrieve annotations for. (required)
  layerId: string, The ID for the layer to get the annotations. (required)
  annotationId: string, The ID of the volume annotation to retrieve. (required)
  source: string, String to identify the originator of this request.
  locale: string, The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.

Returns:
  An object of the form:

    {
    "annotationType": "A String", # The type of annotation this is.
    "kind": "books#volumeannotation", # Resource Type
    "updated": "A String", # Timestamp for the last time this anntoation was updated. (RFC 3339 UTC date-time format).
    "deleted": True or False, # Indicates that this annotation is deleted.
    "contentRanges": { # The content ranges to identify the selected text.
      "contentVersion": "A String", # Content version applicable to ranges below.
      "gbTextRange": { # Range in GB text format for this annotation for version above.
        "startPosition": "A String", # The starting position for the range.
        "endPosition": "A String", # The ending position for the range.
        "startOffset": "A String", # The offset from the starting position.
        "endOffset": "A String", # The offset from the ending position.
      },
      "cfiRange": { # Range in CFI format for this annotation for version above.
        "startPosition": "A String", # The starting position for the range.
        "endPosition": "A String", # The ending position for the range.
        "startOffset": "A String", # The offset from the starting position.
        "endOffset": "A String", # The offset from the ending position.
      },
      "gbImageRange": { # Range in GB image format for this annotation for version above.
        "startPosition": "A String", # The starting position for the range.
        "endPosition": "A String", # The ending position for the range.
        "startOffset": "A String", # The offset from the starting position.
        "endOffset": "A String", # The offset from the ending position.
      },
    },
    "selectedText": "A String", # Excerpt from the volume.
    "volumeId": "A String", # The Volume this annotation is for.
    "annotationDataId": "A String", # The annotation data id for this volume annotation.
    "annotationDataLink": "A String", # Link to get data for this annotation.
    "pageIds": [ # Pages the annotation spans.
      "A String",
    ],
    "layerId": "A String", # The Layer this annotation is for.
    "data": "A String", # Data for this annotation.
    "id": "A String", # Unique id of this volume annotation.
    "selfLink": "A String", # URL to this resource.
  }</pre>
</div>

<div class="method">
    <code class="details" id="list">list(volumeId, layerId, contentVersion, endPosition=None, locale=None, startOffset=None, volumeAnnotationsVersion=None, pageToken=None, updatedMin=None, endOffset=None, showDeleted=None, updatedMax=None, maxResults=None, startPosition=None, source=None)</code>
  <pre>Gets the volume annotations for a volume and layer.

Args:
  volumeId: string, The volume to retrieve annotations for. (required)
  layerId: string, The ID for the layer to get the annotations. (required)
  contentVersion: string, The content version for the requested volume. (required)
  endPosition: string, The end position to end retrieving data from.
  locale: string, The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.
  startOffset: string, The start offset to start retrieving data from.
  volumeAnnotationsVersion: string, The version of the volume annotations that you are requesting.
  pageToken: string, The value of the nextToken from the previous page.
  updatedMin: string, RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).
  endOffset: string, The end offset to end retrieving data from.
  showDeleted: boolean, Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false.
  updatedMax: string, RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).
  maxResults: integer, Maximum number of results to return
  startPosition: string, The start position to start retrieving data from.
  source: string, String to identify the originator of this request.

Returns:
  An object of the form:

    {
    "nextPageToken": "A String", # Token to pass in for pagination for the next page. This will not be present if this request does not have more results.
    "items": [ # A list of volume annotations.
      {
        "annotationType": "A String", # The type of annotation this is.
        "kind": "books#volumeannotation", # Resource Type
        "updated": "A String", # Timestamp for the last time this anntoation was updated. (RFC 3339 UTC date-time format).
        "deleted": True or False, # Indicates that this annotation is deleted.
        "contentRanges": { # The content ranges to identify the selected text.
          "contentVersion": "A String", # Content version applicable to ranges below.
          "gbTextRange": { # Range in GB text format for this annotation for version above.
            "startPosition": "A String", # The starting position for the range.
            "endPosition": "A String", # The ending position for the range.
            "startOffset": "A String", # The offset from the starting position.
            "endOffset": "A String", # The offset from the ending position.
          },
          "cfiRange": { # Range in CFI format for this annotation for version above.
            "startPosition": "A String", # The starting position for the range.
            "endPosition": "A String", # The ending position for the range.
            "startOffset": "A String", # The offset from the starting position.
            "endOffset": "A String", # The offset from the ending position.
          },
          "gbImageRange": { # Range in GB image format for this annotation for version above.
            "startPosition": "A String", # The starting position for the range.
            "endPosition": "A String", # The ending position for the range.
            "startOffset": "A String", # The offset from the starting position.
            "endOffset": "A String", # The offset from the ending position.
          },
        },
        "selectedText": "A String", # Excerpt from the volume.
        "volumeId": "A String", # The Volume this annotation is for.
        "annotationDataId": "A String", # The annotation data id for this volume annotation.
        "annotationDataLink": "A String", # Link to get data for this annotation.
        "pageIds": [ # Pages the annotation spans.
          "A String",
        ],
        "layerId": "A String", # The Layer this annotation is for.
        "data": "A String", # Data for this annotation.
        "id": "A String", # Unique id of this volume annotation.
        "selfLink": "A String", # URL to this resource.
      },
    ],
    "kind": "books#volumeannotations", # Resource type
    "version": "A String", # The version string for all of the volume annotations in this layer (not just the ones in this response). Note: the version string doesn't apply to the annotation data, just the information in this response (e.g. the location of annotations in the book).
    "totalItems": 42, # The total number of volume annotations found.
  }</pre>
</div>

<div class="method">
    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
  <pre>Retrieves the next page of results.

Args:
  previous_request: The request for the previous page. (required)
  previous_response: The response from the request for the previous page. (required)

Returns:
  A request object that you can call 'execute()' on to request the next
  page. Returns None if there are no more items in the collection.
    </pre>
</div>

</body></html>