Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ega4432/kindle-booklog-sync
automatically uploads books purchased on Kindle to Booklog.
https://github.com/ega4432/kindle-booklog-sync
booklog clasp github-actions google-apps-script kindle typescript
Last synced: 4 months ago
JSON representation
automatically uploads books purchased on Kindle to Booklog.
- Host: GitHub
- URL: https://github.com/ega4432/kindle-booklog-sync
- Owner: ega4432
- License: mit
- Created: 2021-07-04T02:54:38.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-12-04T08:32:26.000Z (about 1 year ago)
- Last Synced: 2024-04-22T05:08:15.470Z (10 months ago)
- Topics: booklog, clasp, github-actions, google-apps-script, kindle, typescript
- Language: TypeScript
- Homepage:
- Size: 182 KB
- Stars: 6
- Watchers: 2
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.ja.md
- License: LICENSE
Awesome Lists containing this project
README
# Kindle Booklog Sync
> [!CAUTION]
> 書籍購入時にamazon から送られてくるメールの仕様が変更となったため、正しく動作しません。[![clasp](https://img.shields.io/badge/built%20with-clasp-4285f4.svg)](https://github.com/google/clasp)
[![Node version](https://img.shields.io/badge/node-v14.16.1-blue)](https://github.com/ysmtegsr/kindle-booklog-sync)
![GitHub release (latest by date)](https://img.shields.io/github/v/release/ysmtegsr/kindle-booklog-sync)
![GitHub](https://img.shields.io/github/license/ysmtegsr/kindle-booklog-sync)
[![Lint](https://github.com/ysmtegsr/kindle-booklog-sync/actions/workflows/lint.yml/badge.svg)](https://github.com/ysmtegsr/kindle-booklog-sync/actions/workflows/lint.yml)
[![Deployment](https://github.com/ysmtegsr/kindle-booklog-sync/actions/workflows/deploy.yml/badge.svg)](https://github.com/ysmtegsr/kindle-booklog-sync/actions/workflows/deploy.yml)| [英語](https://github.com/ysmtegsr/kindle-booklog-sync) | 日本語 |
| --- | --- |[Kindle](https://www.amazon.co.jp/ranking?type=top-sellers&ref_=nav_cs_bestsellers_1837a9214239486ba2b00680c5ef8837) で購入した書籍を [ブクログ](https://booklog.jp) へ自動で登録するスクリプトです。
![image](https://user-images.githubusercontent.com/38056766/124377095-2fa69580-dce5-11eb-9d14-e14891e6f168.png)
## 機能
- ブクログへの認証
- Gmail インボックスを検索
- メール本文から asin を取得
- 取得した asin を元にブクログにアップロード
- ログをスプレッドシートに残す
- メールをアーカイブ
## 環境```sh
$ node --version
v14.16.1$ yarn --version
1.22.10$ clasp --version
2.3.1
```## セットアップ
### インストール
```sh
# clasp CLI を導入していない場合は実行
$ npm install -g @google/clasp$ git clone [email protected]:ysmtegsr/kindle-booklog-sync.git
$ yarn
```### 事前に準備するもの
- Google Account
- Apps Script
- Gmail
- Spreadsheet
- Booklog Account## 開発手順
```sh
# clasp 認証
$ clasp login# プロジェクトを作成
$ clasp create --title "kindle-booklog-sync" \
--type sheets \
--rootDir ./src# デプロイ
$ yarn push
```### Tips
```sh
# コードチェック
$ yarn lint# 変更を監視
$ yarn watch
```## デプロイメント
デプロイメントの前に準備が必要です。ご自身のリポジトリの secret に下記を登録してください。
コマンドラインを使って認証済みであれば( `clasp login` を実行済みであれば)、`~/.clasprc.json` というファイルが生成されているはずです。それを参照して登録を完了してください。
```sh
$ cat ~/.clasprc.json | jq .
{
"token": {
"access_token": "XXXXXXXXXXXXXXXXXXX",
"scope": "https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/script.webapp.deploy openid https://www.googleapis.com/auth/script.projects https://www.googleapis.com/auth/drive.file https://www.googleapis.com/auth/service.management https://www.googleapis.com/auth/logging.read https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/script.deployments https://www.googleapis.com/auth/drive.metadata.readonly",
"token_type": "Bearer",
"id_token": "XXXXXXXXXXXXXXXX",
"expiry_date": 1234567890,
"refresh_token": "AAAAAAAAAAAAABBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDEEEEEEEEEEEEEFFFFFFFFFFFFFGGGGGGGGGGGGGGGHHHHHHHHHH"
},
"oauth2ClientSettings": {
"clientId": "1111111111-abcdefghijklmn22222222222.apps.googleusercontent.com",
"clientSecret": "abcdefghijklmn",
"redirectUri": "http://localhost"
},
"isLocalCreds": false
}
```リポジトリの secrets を登録します。
`リポジトリの TOP` > `Settings` > `Secrets` で登録画面に行くことができます。最終的には以下の添付画像のようになります。
![](https://user-images.githubusercontent.com/38056766/124621061-ee64e000-deb4-11eb-80bf-9bd9ffed7cdc.png)
デプロイメントは、タグをトリガーに GitHub Actions で行われます。詳細は [deploy.yml](https://github.com/ysmtegsr/kindle-booklog-sync/blob/main/.github/workflows/deploy.yml) をご覧ください。プレフィックス "v" から始まるタグを打つようにしてください。