<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> . <a href="books_v1.volumes.associated.html">associated</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#list">list(volumeId, source=None, locale=None, association=None)</a></code></p>
<p class="firstline">Return a list of associated books.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="list">list(volumeId, source=None, locale=None, association=None)</code>
  <pre>Return a list of associated books.

Args:
  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.
  association: string, Association type.
    Allowed values
      end-of-sample - Recommendations for display end-of-sample.
      end-of-volume - Recommendations for display end-of-volume.

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.)
          "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.
          "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.)
          },
          "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).
          "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, 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.
          "publisher": "A String", # Publisher of this volume. (In LITE projection.)
          "subtitle": "A String", # Volume subtitle. (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.)
          "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.
          "pageCount": 42, # Total number of pages.
          "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)
          },
          "publishedDate": "A String", # Date of publication. (In LITE projection.)
          "previewLink": "A String", # URL to preview this volume on the Google Books site.
          "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
          "ratingsCount": 42, # The number of review ratings for this volume.
          "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.
          "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).
          },
          "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.
            },
          ],
          "authors": [ # The names of the authors and/or editors for this volume. (In LITE projection)
            "A String",
          ],
          "title": "A String", # Volume title. (In LITE projection.)
          "canonicalVolumeLink": "A String", # Canonical URL for a volume. (In LITE projection.)
          "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
          "categories": [ # A list of subject categories, such as "Fiction", "Suspense", etc.
            "A String",
          ],
          "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
        },
        "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)
          "isInMyBooks": True or False, # Whether or not this volume is currently in "my books."
          "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).
          "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.
          },
          "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.)
        },
      },
    ],
    "kind": "books#volumes", # Resource type.
  }</pre>
</div>

</body></html>