<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="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#get">get(volumeId, layerId, annotationId, locale=None, source=None, x__xgafv=None)</a></code></p>
<p class="firstline">Gets the volume annotation.</p>
<p class="toc_element">
  <code><a href="#list">list(volumeId, layerId, contentVersion, startOffset=None, showDeleted=None, endPosition=None, endOffset=None, source=None, pageToken=None, updatedMax=None, volumeAnnotationsVersion=None, locale=None, updatedMin=None, maxResults=None, startPosition=None, x__xgafv=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="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="get">get(volumeId, layerId, annotationId, locale=None, source=None, x__xgafv=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)
  locale: string, The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: &#x27;en_US&#x27;.
  source: string, String to identify the originator of this request.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

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

<div class="method">
    <code class="details" id="list">list(volumeId, layerId, contentVersion, startOffset=None, showDeleted=None, endPosition=None, endOffset=None, source=None, pageToken=None, updatedMax=None, volumeAnnotationsVersion=None, locale=None, updatedMin=None, maxResults=None, startPosition=None, x__xgafv=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)
  startOffset: string, The start offset to start retrieving data from.
  showDeleted: boolean, Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false.
  endPosition: string, The end position to end retrieving data from.
  endOffset: string, The end offset to end retrieving data from.
  source: string, String to identify the originator of this request.
  pageToken: string, The value of the nextToken from the previous page.
  updatedMax: string, RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).
  volumeAnnotationsVersion: string, The version of the volume annotations that you are requesting.
  locale: string, The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: &#x27;en_US&#x27;.
  updatedMin: string, RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).
  maxResults: integer, Maximum number of results to return
  startPosition: string, The start position to start retrieving data from.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

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

</body></html>