<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.personalizedstream.html">personalizedstream</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(locale=None, maxAllowedMaturityRating=None, source=None, x__xgafv=None)</a></code></p>
<p class="firstline">Returns a stream of personalized book clusters</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(locale=None, maxAllowedMaturityRating=None, source=None, x__xgafv=None)</code>
  <pre>Returns a stream of personalized book clusters

Args:
  locale: string, ISO-639-1 language and ISO-3166-1 country code. Ex: &#x27;en_US&#x27;. Used for generating recommendations.
  maxAllowedMaturityRating: string, The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.
    Allowed values
      MAX_ALLOWED_MATURITY_RATING_UNDEFINED - 
      MATURE - Show books which are rated mature or lower.
      not-mature - Show books which are rated not mature.
  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;, # Resorce type.
    &quot;totalClusters&quot;: 42,
    &quot;clusters&quot;: [
      {
        &quot;uid&quot;: &quot;A String&quot;,
        &quot;volumes&quot;: [
          {
            &quot;userInfo&quot;: { # User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
              &quot;userUploadedVolumeInfo&quot;: {
                &quot;processingState&quot;: &quot;A String&quot;,
              },
              &quot;readingPosition&quot;: { # The user&#x27;s current reading position in the volume, if one is available. (In LITE projection.)
                &quot;pdfPosition&quot;: &quot;A String&quot;, # Position in a PDF file.
                &quot;kind&quot;: &quot;A String&quot;, # Resource type for a reading position.
                &quot;gbTextPosition&quot;: &quot;A String&quot;, # Position in a volume for text-based content.
                &quot;updated&quot;: &quot;A String&quot;, # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
                &quot;gbImagePosition&quot;: &quot;A String&quot;, # Position in a volume for image-based content.
                &quot;volumeId&quot;: &quot;A String&quot;, # Volume id associated with this reading position.
                &quot;epubCfiPosition&quot;: &quot;A String&quot;, # Position in an EPUB as a CFI.
              },
              &quot;rentalPeriod&quot;: { # Period during this book is/was a valid rental.
                &quot;startUtcSec&quot;: &quot;A String&quot;,
                &quot;endUtcSec&quot;: &quot;A String&quot;,
              },
              &quot;isFamilySharingDisabledByFop&quot;: True or False, # Deprecated: Replaced by familySharing.
              &quot;isInMyBooks&quot;: True or False, # Whether or not this volume is currently in &quot;my books.&quot;
              &quot;entitlementType&quot;: 42, # Whether this volume is purchased, sample, pd download etc.
              &quot;isFamilySharedToUser&quot;: True or False, # Whether or not the user received this volume through family sharing.
              &quot;familySharing&quot;: { # Information on the ability to share with the family.
                &quot;isSharingAllowed&quot;: 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.
                &quot;familyRole&quot;: &quot;A String&quot;, # The role of the user in the family.
                &quot;isSharingDisabledByFop&quot;: True or False, # Whether or not sharing this volume is temporarily disabled due to issues with the Family Wallet.
              },
              &quot;acquisitionType&quot;: 42, # How this volume was acquired.
              &quot;review&quot;: { # This user&#x27;s review of this volume, if one exists.
                &quot;fullTextUrl&quot;: &quot;A String&quot;, # URL for the full review text, for reviews gathered from the web.
                &quot;content&quot;: &quot;A String&quot;, # Review text.
                &quot;title&quot;: &quot;A String&quot;, # Title for this review.
                &quot;type&quot;: &quot;A String&quot;, # Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
                &quot;source&quot;: { # Information regarding the source of this review, when the review is not from a Google Books user.
                  &quot;url&quot;: &quot;A String&quot;, # URL of the source of the review.
                  &quot;extraDescription&quot;: &quot;A String&quot;, # Extra text about the source of the review.
                  &quot;description&quot;: &quot;A String&quot;, # Name of the source.
                },
                &quot;rating&quot;: &quot;A String&quot;, # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
                &quot;kind&quot;: &quot;A String&quot;, # Resource type for a review.
                &quot;volumeId&quot;: &quot;A String&quot;, # Volume that this review is for.
                &quot;author&quot;: { # Author of this review.
                  &quot;displayName&quot;: &quot;A String&quot;, # Name of this person.
                },
                &quot;date&quot;: &quot;A String&quot;, # Date of this review.
              },
              &quot;isPreordered&quot;: True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
              &quot;isPurchased&quot;: True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
              &quot;isFamilySharingAllowed&quot;: True or False, # Deprecated: Replaced by familySharing.
              &quot;updated&quot;: &quot;A String&quot;, # 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).
              &quot;rentalState&quot;: &quot;A String&quot;, # Whether this book is an active or an expired rental.
              &quot;isUploaded&quot;: True or False, # Whether or not this volume was user uploaded.
              &quot;copy&quot;: { # Copy/Paste accounting information.
                &quot;remainingCharacterCount&quot;: 42,
                &quot;limitType&quot;: &quot;A String&quot;,
                &quot;allowedCharacterCount&quot;: 42,
                &quot;updated&quot;: &quot;A String&quot;,
              },
              &quot;acquiredTime&quot;: &quot;A String&quot;, # Timestamp when this volume was acquired by the user. (RFC 3339 UTC date-time format) Acquiring includes purchase, user upload, receiving family sharing, etc.
              &quot;isFamilySharedFromUser&quot;: True or False, # Whether or not the user shared this volume with the family.
            },
            &quot;kind&quot;: &quot;A String&quot;, # Resource type for a volume. (In LITE projection.)
            &quot;etag&quot;: &quot;A String&quot;, # Opaque identifier for a specific version of a volume resource. (In LITE projection)
            &quot;volumeInfo&quot;: { # General volume information.
              &quot;averageRating&quot;: 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
              &quot;infoLink&quot;: &quot;A String&quot;, # URL to view information about this volume on the Google Books site. (In LITE projection)
              &quot;printType&quot;: &quot;A String&quot;, # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
              &quot;categories&quot;: [ # A list of subject categories, such as &quot;Fiction&quot;, &quot;Suspense&quot;, etc.
                &quot;A String&quot;,
              ],
              &quot;title&quot;: &quot;A String&quot;, # Volume title. (In LITE projection.)
              &quot;imageLinks&quot;: { # A list of image links for all the sizes that are available. (In LITE projection.)
                &quot;smallThumbnail&quot;: &quot;A String&quot;, # Image link for small thumbnail size (width of ~80 pixels). (In LITE projection)
                &quot;thumbnail&quot;: &quot;A String&quot;, # Image link for thumbnail size (width of ~128 pixels). (In LITE projection)
                &quot;small&quot;: &quot;A String&quot;, # Image link for small size (width of ~300 pixels). (In LITE projection)
                &quot;extraLarge&quot;: &quot;A String&quot;, # Image link for extra large size (width of ~1280 pixels). (In LITE projection)
                &quot;medium&quot;: &quot;A String&quot;, # Image link for medium size (width of ~575 pixels). (In LITE projection)
                &quot;large&quot;: &quot;A String&quot;, # Image link for large size (width of ~800 pixels). (In LITE projection)
              },
              &quot;contentVersion&quot;: &quot;A String&quot;, # An identifier for the version of the volume content (text &amp; images). (In LITE projection)
              &quot;previewLink&quot;: &quot;A String&quot;, # URL to preview this volume on the Google Books site.
              &quot;panelizationSummary&quot;: { # A top-level summary of the panelization info in this volume.
                &quot;epubBubbleVersion&quot;: &quot;A String&quot;,
                &quot;containsImageBubbles&quot;: True or False,
                &quot;containsEpubBubbles&quot;: True or False,
                &quot;imageBubbleVersion&quot;: &quot;A String&quot;,
              },
              &quot;maturityRating&quot;: &quot;A String&quot;,
              &quot;seriesInfo&quot;: {
                &quot;shortSeriesBookTitle&quot;: &quot;A String&quot;, # Short book title in the context of the series.
                &quot;volumeSeries&quot;: [
                  {
                    &quot;orderNumber&quot;: 42, # The book order number in the series.
                    &quot;seriesBookType&quot;: &quot;A String&quot;, # The book type in the context of series. Examples - Single Issue, Collection Edition, etc.
                    &quot;seriesId&quot;: &quot;A String&quot;, # The series id.
                    &quot;issue&quot;: [ # List of issues. Applicable only for Collection Edition and Omnibus.
                      {
                        &quot;issueOrderNumber&quot;: 42,
                        &quot;issueDisplayNumber&quot;: &quot;A String&quot;,
                      },
                    ],
                  },
                ],
                &quot;bookDisplayNumber&quot;: &quot;A String&quot;, # The display number string. This should be used only for display purposes and the actual sequence should be inferred from the below orderNumber.
                &quot;kind&quot;: &quot;A String&quot;, # Resource type.
              },
              &quot;readingModes&quot;: { # The reading modes available for this volume.
                &quot;text&quot;: True or False,
                &quot;image&quot;: True or False,
              },
              &quot;dimensions&quot;: { # Physical dimensions of this volume.
                &quot;height&quot;: &quot;A String&quot;, # Height or length of this volume (in cm).
                &quot;thickness&quot;: &quot;A String&quot;, # Thickness of this volume (in cm).
                &quot;width&quot;: &quot;A String&quot;, # Width of this volume (in cm).
              },
              &quot;comicsContent&quot;: True or False, # Whether the volume has comics content.
              &quot;allowAnonLogging&quot;: True or False, # Whether anonymous logging should be allowed.
              &quot;industryIdentifiers&quot;: [ # Industry standard identifiers for this volume.
                {
                  &quot;type&quot;: &quot;A String&quot;, # Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and OTHER.
                  &quot;identifier&quot;: &quot;A String&quot;, # Industry specific volume identifier.
                },
              ],
              &quot;ratingsCount&quot;: 42, # The number of review ratings for this volume.
              &quot;language&quot;: &quot;A String&quot;, # Best language for this volume (based on content). It is the two-letter ISO 639-1 code such as &#x27;fr&#x27;, &#x27;en&#x27;, etc.
              &quot;publishedDate&quot;: &quot;A String&quot;, # Date of publication. (In LITE projection.)
              &quot;samplePageCount&quot;: 42, # Total number of sample pages as per publisher metadata.
              &quot;canonicalVolumeLink&quot;: &quot;A String&quot;, # Canonical URL for a volume. (In LITE projection.)
              &quot;publisher&quot;: &quot;A String&quot;, # Publisher of this volume. (In LITE projection.)
              &quot;authors&quot;: [ # The names of the authors and/or editors for this volume. (In LITE projection)
                &quot;A String&quot;,
              ],
              &quot;subtitle&quot;: &quot;A String&quot;, # Volume subtitle. (In LITE projection.)
              &quot;description&quot;: &quot;A String&quot;, # 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.)
              &quot;printedPageCount&quot;: 42, # Total number of printed pages in generated pdf representation.
              &quot;pageCount&quot;: 42, # Total number of pages as per publisher metadata.
              &quot;mainCategory&quot;: &quot;A String&quot;, # The main category to which this volume belongs. It will be the category from the categories list returned below that has the highest weight.
            },
            &quot;id&quot;: &quot;A String&quot;, # Unique identifier for a volume. (In LITE projection.)
            &quot;recommendedInfo&quot;: { # Recommendation related information for this volume.
              &quot;explanation&quot;: &quot;A String&quot;, # A text explaining why this volume is recommended.
            },
            &quot;searchInfo&quot;: { # Search result information related to this volume.
              &quot;textSnippet&quot;: &quot;A String&quot;, # A text snippet containing the search query.
            },
            &quot;layerInfo&quot;: { # What layers exist in this volume and high level information about them.
              &quot;layers&quot;: [ # A layer should appear here if and only if the layer exists for this book.
                {
                  &quot;layerId&quot;: &quot;A String&quot;, # The layer id of this layer (e.g. &quot;geo&quot;).
                  &quot;volumeAnnotationsVersion&quot;: &quot;A String&quot;, # The current version of this layer&#x27;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.
                },
              ],
            },
            &quot;saleInfo&quot;: { # 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).
              &quot;country&quot;: &quot;A String&quot;, # The two-letter ISO_3166-1 country code for which this sale information is valid. (In LITE projection.)
              &quot;retailPrice&quot;: { # 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.)
                &quot;currencyCode&quot;: &quot;A String&quot;, # An ISO 4217, three-letter currency code. (In LITE projection.)
                &quot;amount&quot;: 3.14, # Amount in the currency listed below. (In LITE projection.)
              },
              &quot;isEbook&quot;: True or False, # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
              &quot;onSaleDate&quot;: &quot;A String&quot;, # The date on which this book is available for sale.
              &quot;offers&quot;: [ # Offers available for this volume (sales and rentals).
                {
                  &quot;giftable&quot;: True or False, # Indicates whether the offer is giftable.
                  &quot;rentalDuration&quot;: { # The rental duration (for rental offers only).
                    &quot;count&quot;: 3.14,
                    &quot;unit&quot;: &quot;A String&quot;,
                  },
                  &quot;finskyOfferType&quot;: 42, # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
                  &quot;listPrice&quot;: { # Offer list (=undiscounted) price in Micros.
                    &quot;amountInMicros&quot;: 3.14,
                    &quot;currencyCode&quot;: &quot;A String&quot;,
                  },
                  &quot;retailPrice&quot;: { # Offer retail (=discounted) price in Micros
                    &quot;currencyCode&quot;: &quot;A String&quot;,
                    &quot;amountInMicros&quot;: 3.14,
                  },
                },
              ],
              &quot;listPrice&quot;: { # Suggested retail price. (In LITE projection.)
                &quot;amount&quot;: 3.14, # Amount in the currency listed below. (In LITE projection.)
                &quot;currencyCode&quot;: &quot;A String&quot;, # An ISO 4217, three-letter currency code. (In LITE projection.)
              },
              &quot;buyLink&quot;: &quot;A String&quot;, # URL to purchase this volume on the Google Books site. (In LITE projection)
              &quot;saleability&quot;: &quot;A String&quot;, # 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.
            },
            &quot;accessInfo&quot;: { # 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.).
              &quot;country&quot;: &quot;A String&quot;, # The two-letter ISO_3166-1 country code for which this access information is valid. (In LITE projection.)
              &quot;viewability&quot;: &quot;A String&quot;, # 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.
              &quot;textToSpeechPermission&quot;: &quot;A String&quot;, # Whether text-to-speech is permitted for this volume. Values can be ALLOWED, ALLOWED_FOR_ACCESSIBILITY, or NOT_ALLOWED.
              &quot;downloadAccess&quot;: { # Information about a volume&#x27;s download license access restrictions.
                &quot;signature&quot;: &quot;A String&quot;, # Response signature.
                &quot;maxDownloadDevices&quot;: 42, # If restricted, the maximum number of content download licenses for this volume.
                &quot;deviceAllowed&quot;: True or False, # If restricted, whether access is granted for this (user, device, volume).
                &quot;reasonCode&quot;: &quot;A String&quot;, # 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
                &quot;volumeId&quot;: &quot;A String&quot;, # Identifies the volume for which this entry applies.
                &quot;downloadsAcquired&quot;: 42, # If restricted, the number of content download licenses already acquired (including the requesting client, if licensed).
                &quot;restricted&quot;: True or False, # Whether this volume has any download access restrictions.
                &quot;source&quot;: &quot;A String&quot;, # Client app identifier for verification. Download access and client-validation only.
                &quot;message&quot;: &quot;A String&quot;, # Error/warning message.
                &quot;kind&quot;: &quot;A String&quot;, # Resource type.
                &quot;nonce&quot;: &quot;A String&quot;, # Client nonce for verification. Download access and client-validation only.
                &quot;justAcquired&quot;: True or False, # If deviceAllowed, whether access was just acquired with this request.
              },
              &quot;viewOrderUrl&quot;: &quot;A String&quot;, # For ordered but not yet processed orders, we give a URL that can be used to go to the appropriate Google Wallet page.
              &quot;webReaderLink&quot;: &quot;A String&quot;, # URL to read this volume on the Google Books site. Link will not allow users to read non-viewable volumes.
              &quot;epub&quot;: { # Information about epub content. (In LITE projection.)
                &quot;downloadLink&quot;: &quot;A String&quot;, # URL to download epub. (In LITE projection.)
                &quot;acsTokenLink&quot;: &quot;A String&quot;, # URL to retrieve ACS token for epub download. (In LITE projection.)
                &quot;isAvailable&quot;: True or False, # Is a flowing text epub available either as public domain or for purchase. (In LITE projection.)
              },
              &quot;publicDomain&quot;: True or False, # Whether or not this book is public domain in the country listed above.
              &quot;pdf&quot;: { # Information about pdf content. (In LITE projection.)
                &quot;isAvailable&quot;: True or False, # Is a scanned image pdf available either as public domain or for purchase. (In LITE projection.)
                &quot;downloadLink&quot;: &quot;A String&quot;, # URL to download pdf. (In LITE projection.)
                &quot;acsTokenLink&quot;: &quot;A String&quot;, # URL to retrieve ACS token for pdf download. (In LITE projection.)
              },
              &quot;explicitOfflineLicenseManagement&quot;: 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.
              &quot;embeddable&quot;: True or False, # Whether this volume can be embedded in a viewport using the Embedded Viewer API.
              &quot;quoteSharingAllowed&quot;: True or False, # Whether quote sharing is allowed for this volume.
              &quot;accessViewStatus&quot;: &quot;A String&quot;, # 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.)
              &quot;driveImportedContentLink&quot;: &quot;A String&quot;, # URL to the Google Drive viewer if this volume is uploaded by the user by selecting the file from Google Drive.
            },
            &quot;selfLink&quot;: &quot;A String&quot;, # URL to this resource. (In LITE projection.)
          },
        ],
        &quot;title&quot;: &quot;A String&quot;,
        &quot;banner_with_content_container&quot;: {
          &quot;textColorArgb&quot;: &quot;A String&quot;,
          &quot;maskColorArgb&quot;: &quot;A String&quot;,
          &quot;imageUrl&quot;: &quot;A String&quot;,
          &quot;moreButtonUrl&quot;: &quot;A String&quot;,
          &quot;fillColorArgb&quot;: &quot;A String&quot;,
          &quot;moreButtonText&quot;: &quot;A String&quot;,
        },
        &quot;totalVolumes&quot;: 42,
        &quot;subTitle&quot;: &quot;A String&quot;,
      },
    ],
  }</pre>
</div>

</body></html>