<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.volumes.html">volumes</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="books_v1.volumes.associated.html">associated()</a></code>
</p>
<p class="firstline">Returns the associated Resource.</p>

<p class="toc_element">
  <code><a href="books_v1.volumes.mybooks.html">mybooks()</a></code>
</p>
<p class="firstline">Returns the mybooks Resource.</p>

<p class="toc_element">
  <code><a href="books_v1.volumes.recommended.html">recommended()</a></code>
</p>
<p class="firstline">Returns the recommended Resource.</p>

<p class="toc_element">
  <code><a href="books_v1.volumes.useruploaded.html">useruploaded()</a></code>
</p>
<p class="firstline">Returns the useruploaded Resource.</p>

<p class="toc_element">
  <code><a href="#get">get(volumeId, user_library_consistent_read=None, projection=None, source=None, country=None, includeNonComicsSeries=None, partner=None)</a></code></p>
<p class="firstline">Gets volume information for a single volume.</p>
<p class="toc_element">
  <code><a href="#list">list(q, orderBy=None, projection=None, showPreorders=None, download=None, startIndex=None, partner=None, source=None, maxResults=None, libraryRestrict=None, langRestrict=None, printType=None, filter=None)</a></code></p>
<p class="firstline">Performs a book search.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="get">get(volumeId, user_library_consistent_read=None, projection=None, source=None, country=None, includeNonComicsSeries=None, partner=None)</code>
  <pre>Gets volume information for a single volume.

Args:
  volumeId: string, ID of volume to retrieve. (required)
  user_library_consistent_read: boolean, A parameter
  projection: string, Restrict information returned to a set of selected fields.
    Allowed values
      full - Includes all volume data.
      lite - Includes a subset of fields in volumeInfo and accessInfo.
  source: string, String to identify the originator of this request.
  country: string, ISO-3166-1 code to override the IP-based location.
  includeNonComicsSeries: boolean, Set to true to include non-comics series. Defaults to false.
  partner: string, Brand results for partner ID.

Returns:
  An object of the form:

    {
    "kind": "books#volume", # Resource type for a volume. (In LITE projection.)
    "accessInfo": { # Any information about a volume related to reading or obtaining that volume text. This information can depend on country (books may be public domain in one country but not in another, e.g.).
      "webReaderLink": "A String", # URL to read this volume on the Google Books site. Link will not allow users to read non-viewable volumes.
      "publicDomain": True or False, # Whether or not this book is public domain in the country listed above.
      "embeddable": True or False, # Whether this volume can be embedded in a viewport using the Embedded Viewer API.
      "downloadAccess": { # Information about a volume's download license access restrictions.
        "nonce": "A String", # Client nonce for verification. Download access and client-validation only.
        "kind": "books#downloadAccessRestriction", # Resource type.
        "justAcquired": True or False, # If deviceAllowed, whether access was just acquired with this request.
        "maxDownloadDevices": 42, # If restricted, the maximum number of content download licenses for this volume.
        "downloadsAcquired": 42, # If restricted, the number of content download licenses already acquired (including the requesting client, if licensed).
        "signature": "A String", # Response signature.
        "volumeId": "A String", # Identifies the volume for which this entry applies.
        "deviceAllowed": True or False, # If restricted, whether access is granted for this (user, device, volume).
        "source": "A String", # Client app identifier for verification. Download access and client-validation only.
        "restricted": True or False, # Whether this volume has any download access restrictions.
        "reasonCode": "A String", # Error/warning reason code. Additional codes may be added in the future. 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200 WARNING_USED_LAST_ACCESS
        "message": "A String", # Error/warning message.
      },
      "country": "A String", # The two-letter ISO_3166-1 country code for which this access information is valid. (In LITE projection.)
      "quoteSharingAllowed": True or False, # Whether quote sharing is allowed for this volume.
      "viewOrderUrl": "A String", # For ordered but not yet processed orders, we give a URL that can be used to go to the appropriate Google Wallet page.
      "textToSpeechPermission": "A String", # Whether text-to-speech is permitted for this volume. Values can be ALLOWED, ALLOWED_FOR_ACCESSIBILITY, or NOT_ALLOWED.
      "driveImportedContentLink": "A String", # URL to the Google Drive viewer if this volume is uploaded by the user by selecting the file from Google Drive.
      "pdf": { # Information about pdf content. (In LITE projection.)
        "isAvailable": True or False, # Is a scanned image pdf available either as public domain or for purchase. (In LITE projection.)
        "downloadLink": "A String", # URL to download pdf. (In LITE projection.)
        "acsTokenLink": "A String", # URL to retrieve ACS token for pdf download. (In LITE projection.)
      },
      "explicitOfflineLicenseManagement": True or False, # Whether this volume requires that the client explicitly request offline download license rather than have it done automatically when loading the content, if the client supports it.
      "viewability": "A String", # The read access of a volume. Possible values are PARTIAL, ALL_PAGES, NO_PAGES or UNKNOWN. This value depends on the country listed above. A value of PARTIAL means that the publisher has allowed some portion of the volume to be viewed publicly, without purchase. This can apply to eBooks as well as non-eBooks. Public domain books will always have a value of ALL_PAGES.
      "epub": { # Information about epub content. (In LITE projection.)
        "isAvailable": True or False, # Is a flowing text epub available either as public domain or for purchase. (In LITE projection.)
        "downloadLink": "A String", # URL to download epub. (In LITE projection.)
        "acsTokenLink": "A String", # URL to retrieve ACS token for epub download. (In LITE projection.)
      },
      "accessViewStatus": "A String", # Combines the access and viewability of this volume into a single status field for this user. Values can be FULL_PURCHASED, FULL_PUBLIC_DOMAIN, SAMPLE or NONE. (In LITE projection.)
    },
    "searchInfo": { # Search result information related to this volume.
      "textSnippet": "A String", # A text snippet containing the search query.
    },
    "saleInfo": { # Any information about a volume related to the eBookstore and/or purchaseability. This information can depend on the country where the request originates from (i.e. books may not be for sale in certain countries).
      "country": "A String", # The two-letter ISO_3166-1 country code for which this sale information is valid. (In LITE projection.)
      "retailPrice": { # The actual selling price of the book. This is the same as the suggested retail or list price unless there are offers or discounts on this volume. (In LITE projection.)
        "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
        "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
      },
      "isEbook": True or False, # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
      "offers": [ # Offers available for this volume (sales and rentals).
        {
          "rentalDuration": { # The rental duration (for rental offers only).
            "count": 3.14,
            "unit": "A String",
          },
          "retailPrice": { # Offer retail (=discounted) price in Micros
            "currencyCode": "A String",
            "amountInMicros": 3.14,
          },
          "listPrice": { # Offer list (=undiscounted) price in Micros.
            "currencyCode": "A String",
            "amountInMicros": 3.14,
          },
          "finskyOfferType": 42, # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
        },
      ],
      "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
      "buyLink": "A String", # URL to purchase this volume on the Google Books site. (In LITE projection)
      "onSaleDate": "A String", # The date on which this book is available for sale.
      "listPrice": { # Suggested retail price. (In LITE projection.)
        "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
        "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
      },
    },
    "etag": "A String", # Opaque identifier for a specific version of a volume resource. (In LITE projection)
    "selfLink": "A String", # URL to this resource. (In LITE projection.)
    "volumeInfo": { # General volume information.
      "subtitle": "A String", # Volume subtitle. (In LITE projection.)
      "pageCount": 42, # Total number of pages as per publisher metadata.
      "mainCategory": "A String", # The main category to which this volume belongs. It will be the category from the categories list returned below that has the highest weight.
      "seriesInfo": {
        "bookDisplayNumber": "A String", # The display number string. This should be used only for display purposes and the actual sequence should be inferred from the below orderNumber.
        "kind": "books#volume_series_info", # Resource type.
        "shortSeriesBookTitle": "A String", # Short book title in the context of the series.
        "volumeSeries": [
          {
            "orderNumber": 42, # The book order number in the series.
            "seriesId": "A String", # The series id.
            "issue": [ # List of issues. Applicable only for Collection Edition and Omnibus.
              {
                "issueOrderNumber": 42,
                "issueDisplayNumber": "A String",
              },
            ],
            "seriesBookType": "A String", # The book type in the context of series. Examples - Single Issue, Collection Edition, etc.
          },
        ],
      },
      "dimensions": { # Physical dimensions of this volume.
        "width": "A String", # Width of this volume (in cm).
        "thickness": "A String", # Thickness of this volume (in cm).
        "height": "A String", # Height or length of this volume (in cm).
      },
      "previewLink": "A String", # URL to preview this volume on the Google Books site.
      "contentVersion": "A String", # An identifier for the version of the volume content (text & images). (In LITE projection)
      "industryIdentifiers": [ # Industry standard identifiers for this volume.
        {
          "identifier": "A String", # Industry specific volume identifier.
          "type": "A String", # Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and OTHER.
        },
      ],
      "canonicalVolumeLink": "A String", # Canonical URL for a volume. (In LITE projection.)
      "description": "A String", # A synopsis of the volume. The text of the description is formatted in HTML and includes simple formatting elements, such as b, i, and br tags. (In LITE projection.)
      "publishedDate": "A String", # Date of publication. (In LITE projection.)
      "imageLinks": { # A list of image links for all the sizes that are available. (In LITE projection.)
        "medium": "A String", # Image link for medium size (width of ~575 pixels). (In LITE projection)
        "smallThumbnail": "A String", # Image link for small thumbnail size (width of ~80 pixels). (In LITE projection)
        "large": "A String", # Image link for large size (width of ~800 pixels). (In LITE projection)
        "extraLarge": "A String", # Image link for extra large size (width of ~1280 pixels). (In LITE projection)
        "small": "A String", # Image link for small size (width of ~300 pixels). (In LITE projection)
        "thumbnail": "A String", # Image link for thumbnail size (width of ~128 pixels). (In LITE projection)
      },
      "authors": [ # The names of the authors and/or editors for this volume. (In LITE projection)
        "A String",
      ],
      "categories": [ # A list of subject categories, such as "Fiction", "Suspense", etc.
        "A String",
      ],
      "publisher": "A String", # Publisher of this volume. (In LITE projection.)
      "language": "A String", # Best language for this volume (based on content). It is the two-letter ISO 639-1 code such as 'fr', 'en', etc.
      "readingModes": "", # The reading modes available for this volume.
      "allowAnonLogging": True or False, # Whether anonymous logging should be allowed.
      "title": "A String", # Volume title. (In LITE projection.)
      "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
      "samplePageCount": 42, # Total number of sample pages as per publisher metadata.
      "maturityRating": "A String",
      "printedPageCount": 42, # Total number of printed pages in generated pdf representation.
      "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
      "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
      "ratingsCount": 42, # The number of review ratings for this volume.
    },
    "recommendedInfo": { # Recommendation related information for this volume.
      "explanation": "A String", # A text explaining why this volume is recommended.
    },
    "id": "A String", # Unique identifier for a volume. (In LITE projection.)
    "layerInfo": { # What layers exist in this volume and high level information about them.
      "layers": [ # A layer should appear here if and only if the layer exists for this book.
        {
          "volumeAnnotationsVersion": "A String", # The current version of this layer's volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.
          "layerId": "A String", # The layer id of this layer (e.g. "geo").
        },
      ],
    },
    "userInfo": { # User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
      "isFamilySharedFromUser": True or False, # Whether or not the user shared this volume with the family.
      "isInMyBooks": True or False, # Whether or not this volume is currently in "my books."
      "acquisitionType": 42, # How this volume was acquired.
      "updated": "A String", # Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).
      "userUploadedVolumeInfo": {
        "processingState": "A String",
      },
      "rentalPeriod": { # Period during this book is/was a valid rental.
        "startUtcSec": "A String",
        "endUtcSec": "A String",
      },
      "familySharing": { # Information on the ability to share with the family.
        "isSharingDisabledByFop": True or False, # Whether or not sharing this volume is temporarily disabled due to issues with the Family Wallet.
        "familyRole": "A String", # The role of the user in the family.
        "isSharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action.
      },
      "rentalState": "A String", # Whether this book is an active or an expired rental.
      "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
      "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
        "kind": "books#readingPosition", # Resource type for a reading position.
        "gbImagePosition": "A String", # Position in a volume for image-based content.
        "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
        "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
        "volumeId": "A String", # Volume id associated with this reading position.
        "pdfPosition": "A String", # Position in a PDF file.
        "gbTextPosition": "A String", # Position in a volume for text-based content.
      },
      "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
      "isFamilySharingAllowed": True or False, # Deprecated: Replaced by familySharing.
      "review": { # This user's review of this volume, if one exists.
        "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
        "kind": "books#review", # Resource type for a review.
        "author": { # Author of this review.
          "displayName": "A String", # Name of this person.
        },
        "title": "A String", # Title for this review.
        "volumeId": "A String", # Volume that this review is for.
        "content": "A String", # Review text.
        "source": { # Information regarding the source of this review, when the review is not from a Google Books user.
          "extraDescription": "A String", # Extra text about the source of the review.
          "url": "A String", # URL of the source of the review.
          "description": "A String", # Name of the source.
        },
        "date": "A String", # Date of this review.
        "type": "A String", # Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
        "fullTextUrl": "A String", # URL for the full review text, for reviews gathered from the web.
      },
      "isFamilySharedToUser": True or False, # Whether or not the user received this volume through family sharing.
      "entitlementType": 42, # Whether this volume is purchased, sample, pd download etc.
      "copy": { # Copy/Paste accounting information.
        "limitType": "A String",
        "remainingCharacterCount": 42,
        "updated": "A String",
        "allowedCharacterCount": 42,
      },
      "isFamilySharingDisabledByFop": True or False, # Deprecated: Replaced by familySharing.
      "isUploaded": True or False, # Whether or not this volume was user uploaded.
      "acquiredTime": "A String", # Timestamp when this volume was acquired by the user. (RFC 3339 UTC date-time format) Acquiring includes purchase, user upload, receiving family sharing, etc.
    },
  }</pre>
</div>

<div class="method">
    <code class="details" id="list">list(q, orderBy=None, projection=None, showPreorders=None, download=None, startIndex=None, partner=None, source=None, maxResults=None, libraryRestrict=None, langRestrict=None, printType=None, filter=None)</code>
  <pre>Performs a book search.

Args:
  q: string, Full-text search query string. (required)
  orderBy: string, Sort search results.
    Allowed values
      newest - Most recently published.
      relevance - Relevance to search terms.
  projection: string, Restrict information returned to a set of selected fields.
    Allowed values
      full - Includes all volume data.
      lite - Includes a subset of fields in volumeInfo and accessInfo.
  showPreorders: boolean, Set to true to show books available for preorder. Defaults to false.
  download: string, Restrict to volumes by download availability.
    Allowed values
      epub - All volumes with epub.
  startIndex: integer, Index of the first result to return (starts at 0)
  partner: string, Restrict and brand results for partner ID.
  source: string, String to identify the originator of this request.
  maxResults: integer, Maximum number of results to return.
  libraryRestrict: string, Restrict search to this user's library.
    Allowed values
      my-library - Restrict to the user's library, any shelf.
      no-restrict - Do not restrict based on user's library.
  langRestrict: string, Restrict results to books with this language code.
  printType: string, Restrict to books or magazines.
    Allowed values
      all - All volume content types.
      books - Just books.
      magazines - Just magazines.
  filter: string, Filter search results.
    Allowed values
      ebooks - All Google eBooks.
      free-ebooks - Google eBook with full volume text viewability.
      full - Public can view entire volume text.
      paid-ebooks - Google eBook with a price.
      partial - Public able to see parts of text.

Returns:
  An object of the form:

    {
    "totalItems": 42, # Total number of volumes found. This might be greater than the number of volumes returned in this response if results have been paginated.
    "items": [ # A list of volumes.
      {
        "kind": "books#volume", # Resource type for a volume. (In LITE projection.)
        "accessInfo": { # Any information about a volume related to reading or obtaining that volume text. This information can depend on country (books may be public domain in one country but not in another, e.g.).
          "webReaderLink": "A String", # URL to read this volume on the Google Books site. Link will not allow users to read non-viewable volumes.
          "publicDomain": True or False, # Whether or not this book is public domain in the country listed above.
          "embeddable": True or False, # Whether this volume can be embedded in a viewport using the Embedded Viewer API.
          "downloadAccess": { # Information about a volume's download license access restrictions.
            "nonce": "A String", # Client nonce for verification. Download access and client-validation only.
            "kind": "books#downloadAccessRestriction", # Resource type.
            "justAcquired": True or False, # If deviceAllowed, whether access was just acquired with this request.
            "maxDownloadDevices": 42, # If restricted, the maximum number of content download licenses for this volume.
            "downloadsAcquired": 42, # If restricted, the number of content download licenses already acquired (including the requesting client, if licensed).
            "signature": "A String", # Response signature.
            "volumeId": "A String", # Identifies the volume for which this entry applies.
            "deviceAllowed": True or False, # If restricted, whether access is granted for this (user, device, volume).
            "source": "A String", # Client app identifier for verification. Download access and client-validation only.
            "restricted": True or False, # Whether this volume has any download access restrictions.
            "reasonCode": "A String", # Error/warning reason code. Additional codes may be added in the future. 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200 WARNING_USED_LAST_ACCESS
            "message": "A String", # Error/warning message.
          },
          "country": "A String", # The two-letter ISO_3166-1 country code for which this access information is valid. (In LITE projection.)
          "quoteSharingAllowed": True or False, # Whether quote sharing is allowed for this volume.
          "viewOrderUrl": "A String", # For ordered but not yet processed orders, we give a URL that can be used to go to the appropriate Google Wallet page.
          "textToSpeechPermission": "A String", # Whether text-to-speech is permitted for this volume. Values can be ALLOWED, ALLOWED_FOR_ACCESSIBILITY, or NOT_ALLOWED.
          "driveImportedContentLink": "A String", # URL to the Google Drive viewer if this volume is uploaded by the user by selecting the file from Google Drive.
          "pdf": { # Information about pdf content. (In LITE projection.)
            "isAvailable": True or False, # Is a scanned image pdf available either as public domain or for purchase. (In LITE projection.)
            "downloadLink": "A String", # URL to download pdf. (In LITE projection.)
            "acsTokenLink": "A String", # URL to retrieve ACS token for pdf download. (In LITE projection.)
          },
          "explicitOfflineLicenseManagement": True or False, # Whether this volume requires that the client explicitly request offline download license rather than have it done automatically when loading the content, if the client supports it.
          "viewability": "A String", # The read access of a volume. Possible values are PARTIAL, ALL_PAGES, NO_PAGES or UNKNOWN. This value depends on the country listed above. A value of PARTIAL means that the publisher has allowed some portion of the volume to be viewed publicly, without purchase. This can apply to eBooks as well as non-eBooks. Public domain books will always have a value of ALL_PAGES.
          "epub": { # Information about epub content. (In LITE projection.)
            "isAvailable": True or False, # Is a flowing text epub available either as public domain or for purchase. (In LITE projection.)
            "downloadLink": "A String", # URL to download epub. (In LITE projection.)
            "acsTokenLink": "A String", # URL to retrieve ACS token for epub download. (In LITE projection.)
          },
          "accessViewStatus": "A String", # Combines the access and viewability of this volume into a single status field for this user. Values can be FULL_PURCHASED, FULL_PUBLIC_DOMAIN, SAMPLE or NONE. (In LITE projection.)
        },
        "searchInfo": { # Search result information related to this volume.
          "textSnippet": "A String", # A text snippet containing the search query.
        },
        "saleInfo": { # Any information about a volume related to the eBookstore and/or purchaseability. This information can depend on the country where the request originates from (i.e. books may not be for sale in certain countries).
          "country": "A String", # The two-letter ISO_3166-1 country code for which this sale information is valid. (In LITE projection.)
          "retailPrice": { # The actual selling price of the book. This is the same as the suggested retail or list price unless there are offers or discounts on this volume. (In LITE projection.)
            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
          },
          "isEbook": True or False, # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
          "offers": [ # Offers available for this volume (sales and rentals).
            {
              "rentalDuration": { # The rental duration (for rental offers only).
                "count": 3.14,
                "unit": "A String",
              },
              "retailPrice": { # Offer retail (=discounted) price in Micros
                "currencyCode": "A String",
                "amountInMicros": 3.14,
              },
              "listPrice": { # Offer list (=undiscounted) price in Micros.
                "currencyCode": "A String",
                "amountInMicros": 3.14,
              },
              "finskyOfferType": 42, # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
            },
          ],
          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
          "buyLink": "A String", # URL to purchase this volume on the Google Books site. (In LITE projection)
          "onSaleDate": "A String", # The date on which this book is available for sale.
          "listPrice": { # Suggested retail price. (In LITE projection.)
            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
          },
        },
        "etag": "A String", # Opaque identifier for a specific version of a volume resource. (In LITE projection)
        "selfLink": "A String", # URL to this resource. (In LITE projection.)
        "volumeInfo": { # General volume information.
          "subtitle": "A String", # Volume subtitle. (In LITE projection.)
          "pageCount": 42, # Total number of pages as per publisher metadata.
          "mainCategory": "A String", # The main category to which this volume belongs. It will be the category from the categories list returned below that has the highest weight.
          "seriesInfo": {
            "bookDisplayNumber": "A String", # The display number string. This should be used only for display purposes and the actual sequence should be inferred from the below orderNumber.
            "kind": "books#volume_series_info", # Resource type.
            "shortSeriesBookTitle": "A String", # Short book title in the context of the series.
            "volumeSeries": [
              {
                "orderNumber": 42, # The book order number in the series.
                "seriesId": "A String", # The series id.
                "issue": [ # List of issues. Applicable only for Collection Edition and Omnibus.
                  {
                    "issueOrderNumber": 42,
                    "issueDisplayNumber": "A String",
                  },
                ],
                "seriesBookType": "A String", # The book type in the context of series. Examples - Single Issue, Collection Edition, etc.
              },
            ],
          },
          "dimensions": { # Physical dimensions of this volume.
            "width": "A String", # Width of this volume (in cm).
            "thickness": "A String", # Thickness of this volume (in cm).
            "height": "A String", # Height or length of this volume (in cm).
          },
          "previewLink": "A String", # URL to preview this volume on the Google Books site.
          "contentVersion": "A String", # An identifier for the version of the volume content (text & images). (In LITE projection)
          "industryIdentifiers": [ # Industry standard identifiers for this volume.
            {
              "identifier": "A String", # Industry specific volume identifier.
              "type": "A String", # Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and OTHER.
            },
          ],
          "canonicalVolumeLink": "A String", # Canonical URL for a volume. (In LITE projection.)
          "description": "A String", # A synopsis of the volume. The text of the description is formatted in HTML and includes simple formatting elements, such as b, i, and br tags. (In LITE projection.)
          "publishedDate": "A String", # Date of publication. (In LITE projection.)
          "imageLinks": { # A list of image links for all the sizes that are available. (In LITE projection.)
            "medium": "A String", # Image link for medium size (width of ~575 pixels). (In LITE projection)
            "smallThumbnail": "A String", # Image link for small thumbnail size (width of ~80 pixels). (In LITE projection)
            "large": "A String", # Image link for large size (width of ~800 pixels). (In LITE projection)
            "extraLarge": "A String", # Image link for extra large size (width of ~1280 pixels). (In LITE projection)
            "small": "A String", # Image link for small size (width of ~300 pixels). (In LITE projection)
            "thumbnail": "A String", # Image link for thumbnail size (width of ~128 pixels). (In LITE projection)
          },
          "authors": [ # The names of the authors and/or editors for this volume. (In LITE projection)
            "A String",
          ],
          "categories": [ # A list of subject categories, such as "Fiction", "Suspense", etc.
            "A String",
          ],
          "publisher": "A String", # Publisher of this volume. (In LITE projection.)
          "language": "A String", # Best language for this volume (based on content). It is the two-letter ISO 639-1 code such as 'fr', 'en', etc.
          "readingModes": "", # The reading modes available for this volume.
          "allowAnonLogging": True or False, # Whether anonymous logging should be allowed.
          "title": "A String", # Volume title. (In LITE projection.)
          "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
          "samplePageCount": 42, # Total number of sample pages as per publisher metadata.
          "maturityRating": "A String",
          "printedPageCount": 42, # Total number of printed pages in generated pdf representation.
          "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
          "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
          "ratingsCount": 42, # The number of review ratings for this volume.
        },
        "recommendedInfo": { # Recommendation related information for this volume.
          "explanation": "A String", # A text explaining why this volume is recommended.
        },
        "id": "A String", # Unique identifier for a volume. (In LITE projection.)
        "layerInfo": { # What layers exist in this volume and high level information about them.
          "layers": [ # A layer should appear here if and only if the layer exists for this book.
            {
              "volumeAnnotationsVersion": "A String", # The current version of this layer's volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.
              "layerId": "A String", # The layer id of this layer (e.g. "geo").
            },
          ],
        },
        "userInfo": { # User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
          "isFamilySharedFromUser": True or False, # Whether or not the user shared this volume with the family.
          "isInMyBooks": True or False, # Whether or not this volume is currently in "my books."
          "acquisitionType": 42, # How this volume was acquired.
          "updated": "A String", # Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).
          "userUploadedVolumeInfo": {
            "processingState": "A String",
          },
          "rentalPeriod": { # Period during this book is/was a valid rental.
            "startUtcSec": "A String",
            "endUtcSec": "A String",
          },
          "familySharing": { # Information on the ability to share with the family.
            "isSharingDisabledByFop": True or False, # Whether or not sharing this volume is temporarily disabled due to issues with the Family Wallet.
            "familyRole": "A String", # The role of the user in the family.
            "isSharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action.
          },
          "rentalState": "A String", # Whether this book is an active or an expired rental.
          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
            "kind": "books#readingPosition", # Resource type for a reading position.
            "gbImagePosition": "A String", # Position in a volume for image-based content.
            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
            "volumeId": "A String", # Volume id associated with this reading position.
            "pdfPosition": "A String", # Position in a PDF file.
            "gbTextPosition": "A String", # Position in a volume for text-based content.
          },
          "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
          "isFamilySharingAllowed": True or False, # Deprecated: Replaced by familySharing.
          "review": { # This user's review of this volume, if one exists.
            "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
            "kind": "books#review", # Resource type for a review.
            "author": { # Author of this review.
              "displayName": "A String", # Name of this person.
            },
            "title": "A String", # Title for this review.
            "volumeId": "A String", # Volume that this review is for.
            "content": "A String", # Review text.
            "source": { # Information regarding the source of this review, when the review is not from a Google Books user.
              "extraDescription": "A String", # Extra text about the source of the review.
              "url": "A String", # URL of the source of the review.
              "description": "A String", # Name of the source.
            },
            "date": "A String", # Date of this review.
            "type": "A String", # Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
            "fullTextUrl": "A String", # URL for the full review text, for reviews gathered from the web.
          },
          "isFamilySharedToUser": True or False, # Whether or not the user received this volume through family sharing.
          "entitlementType": 42, # Whether this volume is purchased, sample, pd download etc.
          "copy": { # Copy/Paste accounting information.
            "limitType": "A String",
            "remainingCharacterCount": 42,
            "updated": "A String",
            "allowedCharacterCount": 42,
          },
          "isFamilySharingDisabledByFop": True or False, # Deprecated: Replaced by familySharing.
          "isUploaded": True or False, # Whether or not this volume was user uploaded.
          "acquiredTime": "A String", # Timestamp when this volume was acquired by the user. (RFC 3339 UTC date-time format) Acquiring includes purchase, user upload, receiving family sharing, etc.
        },
      },
    ],
    "kind": "books#volumes", # Resource type.
  }</pre>
</div>

</body></html>