# Books API . volumes . recommended

## Instance Methods

Return a list of recommended books for the current user.

Rate a recommended book for the current user.

### Method Details

`list(source=None, locale=None, maxAllowedMaturityRating=None)`

    Return a list of recommended books for the current user.

    Args:
      source: string, String to identify the originator of this request.
      locale: string, ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. 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
          mature - Show books which are rated mature or lower.
          not-mature - Show books which are rated not mature.

    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,
                  },
                  "giftable": True or False, # Indicates whether the offer is giftable.
                  "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",
              ],
              "panelizationSummary": { # A top-level summary of the panelization info in this volume.
                "containsEpubBubbles": True or False,
                "epubBubbleVersion": "A String",
                "imageBubbleVersion": "A String",
                "containsImageBubbles": True or False,
              },
              "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.
              "maturityRating": "A String",
              "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.
              "readingModes": "", # The reading modes available for this volume.
              "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.
      }

`rate(rating, volumeId, source=None, locale=None)`

    Rate a recommended book for the current user.

    Args:
      rating: string, Rating to be given to the volume. (required)
        Allowed values
          HAVE_IT - Rating indicating a dismissal due to ownership.
          NOT_INTERESTED - Rating indicating a negative dismissal of a volume.
      volumeId: string, ID of the source volume. (required)
      source: string, String to identify the originator of this request.
      locale: string, ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.

    Returns:
      An object of the form:

        {
        "consistency_token": "A String",
      }