jay1803 / ibook-server

Get your annotations in your Apple Books with a REST API.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About ibook-server

If you like me, love reading books with Apple Books (former iBooks), you may also want to easy access your annotations. Fortunately, all the annotations are stored in your local database, with this nodejs project, you can turn your annotations into a REST API. I'm using this with my another project ibook-web which is a reactjs project, can list all your books and annotations in your browser.

Endpoints

Update the ./controllers/bookController.js, update the DB_NOTE and DB_BOOK, replace the ~ with your absolute User folder path.

Get all books

This will return all your books in Apple Book.

/v1/books

[
  {
    "id": "881256329",
    "title": "The Swift Programming Language (Swift 5.2)",
    "author": "Apple Inc.",
    "coverURL": "https://is1-ssl.mzstatic.com/image/thumb/Publication113/v4/2c/25/05/2c25051d-2699-8c1c-04e1-988b02990141/cover.jpg/1400x2100w.jpg",
    "progress": 0,
    "path": "/Users/username/Library/Containers/com.apple.BKAgentService/Data/Documents/iBooks/Books/881256329.epub",
    "lastOpenDate": 558633681,
    "modificationDate": 558633738.01113,
    "finishedDate": null
  },
  {...}]

Get a book by id

This will return a single book info.

/v1/books/:bookId

{
    "id": "881256329",
    "title": "The Swift Programming Language (Swift 5.2)",
    "author": "Apple Inc.",
    "coverURL": "https://is1-ssl.mzstatic.com/image/thumb/Publication113/v4/2c/25/05/2c25051d-2699-8c1c-04e1-988b02990141/cover.jpg/1400x2100w.jpg",
    "progress": 0,
    "path": "/Users/username/Library/Containers/com.apple.BKAgentService/Data/Documents/iBooks/Books/881256329.epub",
    "lastOpenDate": 558633681,
    "modificationDate": 558633738.01113,
    "finishedDate": null
  }

Get annotations chapters by book id

/v1/books/:bookId/chapters

Will return the chapters which contains annotations

[
  {
    "id":10,
    "title":"Chapter One: The Alaska Interior"
  },
  {...}
]

Get annotations by chapter id

Will return annotations of specific chapter

/v1/books/:bookId/chapters/:chapterId/annotations

[
  {
    "id": "46373B79-E2BA-40D7-B41D-C6C62884EA9A",
    "createdDate": "611492468.634970",
    "presentText": "A rifle protruded from the young man’s backpack, but he looked friendly enough; a hitchhiker with a Remington semiautomatic isn’t the sort of thing that gives motorists pause in the forty-ninth state.",
    "selectedText": "rifle",
    "style": 3,
    "comment": "My comments"
  },
  {...}
]

About

Get your annotations in your Apple Books with a REST API.


Languages

Language:JavaScript 94.5%Language:Pug 4.5%Language:CSS 1.0%