# Library Agent API . shelves . books

## Instance Methods

Borrow a book from the library. Returns the book if it is borrowed successfully. Returns NOT_FOUND if the book does not exist in the library. Returns quota exceeded error if the amount of books borrowed exceeds allocation quota in any dimensions.

Close httplib2 connections.

Gets a book. Returns NOT_FOUND if the book does not exist.

Lists books in a shelf. The order is unspecified but deterministic. Newly created books will not necessarily be added to the end of this list. Returns NOT_FOUND if the shelf does not exist.

Retrieves the next page of results.

Return a book to the library. Returns the book if it is returned to the library successfully. Returns error if the book does not belong to the library or the users didn't borrow before.

### Method Details

`borrow(name, x__xgafv=None)`

    Borrow a book from the library. Returns the book if it is borrowed successfully. Returns NOT_FOUND if the book does not exist in the library. Returns quota exceeded error if the amount of books borrowed exceeds allocation quota in any dimensions.

    Args:
      name: string, Required. The name of the book to borrow. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A single book in the library.
      "author": "A String", # The name of the book author.
      "name": "A String", # The resource name of the book. Book names have the form `shelves/{shelf_id}/books/{book_id}`. The name is ignored when creating a book.
      "read": True or False, # Value indicating whether the book has been read.
      "title": "A String", # The title of the book.
    }

`close()`

    Close httplib2 connections.

`get(name, x__xgafv=None)`

    Gets a book. Returns NOT_FOUND if the book does not exist.

    Args:
      name: string, Required. The name of the book to retrieve. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A single book in the library.
      "author": "A String", # The name of the book author.
      "name": "A String", # The resource name of the book. Book names have the form `shelves/{shelf_id}/books/{book_id}`. The name is ignored when creating a book.
      "read": True or False, # Value indicating whether the book has been read.
      "title": "A String", # The title of the book.
    }

`list(parent, pageSize=None, pageToken=None, x__xgafv=None)`

    Lists books in a shelf. The order is unspecified but deterministic. Newly created books will not necessarily be added to the end of this list. Returns NOT_FOUND if the shelf does not exist.

    Args:
      parent: string, Required. The name of the shelf whose books we'd like to list. (required)
      pageSize: integer, Requested page size. Server may return fewer books than requested. If unspecified, server will pick an appropriate default.
      pageToken: string, A token identifying a page of results the server should return. Typically, this is the value of ListBooksResponse.next_page_token. returned from the previous call to `ListBooks` method.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response message for LibraryAgent.ListBooks.
      "books": [ # The list of books.
        { # A single book in the library.
          "author": "A String", # The name of the book author.
          "name": "A String", # The resource name of the book. Book names have the form `shelves/{shelf_id}/books/{book_id}`. The name is ignored when creating a book.
          "read": True or False, # Value indicating whether the book has been read.
          "title": "A String", # The title of the book.
        },
      ],
      "nextPageToken": "A String", # A token to retrieve next page of results. Pass this value in the ListBooksRequest.page_token field in the subsequent call to `ListBooks` method to retrieve the next page of results.
    }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`return_(name, x__xgafv=None)`

    Return a book to the library. Returns the book if it is returned to the library successfully. Returns error if the book does not belong to the library or the users didn't borrow before.

    Args:
      name: string, Required. The name of the book to return. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A single book in the library.
      "author": "A String", # The name of the book author.
      "name": "A String", # The resource name of the book. Book names have the form `shelves/{shelf_id}/books/{book_id}`. The name is ignored when creating a book.
      "read": True or False, # Value indicating whether the book has been read.
      "title": "A String", # The title of the book.
    }