10分で完成！GoogleAppsScriptとGoogleBooksAPIを使った本検索サービスの作り方

## 本記事の目次 

1. 記事の経緯
1. 記事の概要
1. 想定レベル
1. 想定読者
1. 完成品の紹介
1. Googleフォーム
    1. 本の検索条件入力フォーム作成（ISBNを条件）
    1. 検索履歴のスプレッドシート作成
1. Gooogleスプレッドシート
    1. 検索結果の列追加
1. Google Apps Script
    2. スプレッドシートに"Google Apps Script"の追加
    1. サンプルのGithubのコードをコピペ
    1. トリガー設定
1. 動作確認
2. まとめ

**利用技術**

- Googleフォーム
- Googleスプレッドシート
- Gmail
- Google Apps Script
- Google Books API


## 記事の経緯

海外の技術記事を読んでいたところ"[Create a book tracker using Apps Script and the Google Books API in 10 minutes](https://www.techupover.com/create-a-simple-book-tracker-using-apps-script-and-the-google-books-api/)"という記事が紹介されいました。

「10分でできるならやってみよう」ってことでやってみたところ、10分でできたので感動。

著者の方にTwitterで連絡を取ったところOKをいただいたのでQiitaにしてみました。

https://twitter.com/ffggss/status/1453454523515555840


## 記事の概要

- [Create a book tracker using Apps Script and the Google Books API in 10 minutes](https://www.techupover.com/create-a-simple-book-tracker-using-apps-script-and-the-google-books-api/)の検証
- 上記に加えて、「**検索した本の結果をGmailに連携して送信する**」もオリジナル機能として追加してみました。

## 記事で何を学べるか？

- Google Books APIの基本操作
- Google Apps Scriptの活用事例
- Google Books APIとGoogle Apps Scriptsの連携方法

## 想定レベル

- Google Apps Scriptの基本を習得できていること
    - まだ、Google Apps Script基本を習得してない方は、以下、Udemy3つがオススメ！！
        1. [5つの活用事例から40のスキルが身につく、Google Apps Script 開発入門【ES2015対応】](https://www.udemy.com/course/wywy-google-apps-script-forty-skills/?referralCode=7F71969F9DD9849220B4)
        2. [【Google Apps Script 超入門講座】2時間で知識ゼロから基礎をマスター｜様々なアプリと連携して業務効率化](https://www.udemy.com/course/googleappsscript/)
        3. [ビジネスパーソンに贈る業務効率化大全 〜Google Apps Scriptによる業務の自動化〜](https://www.udemy.com/course/gas_for_operational_efficiency/)

## 想定読者

- Google Apps Scriptの基本は習得できてので次の一歩を探している
    - この記事では基本はできていることを前提として、コードの詳細は解説しません。以下、Githubのコードを自分で参考にして理解することを想定してます。
- Googleフォームとスプレッドシートと、外部API（Google Books API）の連携方法が知りたい

Githubはこちら

https://github.com/YukiFujisawa/appscript-book-tracker/blob/main/Code.gs

## 完成品の紹介

**Book tracker（Googleフォーム）**
https://forms.gle/QWLUhAN7zSnWZvkj9

**本の検索条件入力フォーム**
ISBN：`4900963364`　と入力
![スクリーンショット 2021-10-29 6.42.04.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112294/0a5f0167-bcad-8c05-d1f4-3c9db6c47042.jpeg)

**検索結果（メール）**
![スクリーンショット 2021-10-29 6.45.55.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112294/0f512c98-8bf8-4b96-c405-ef63c457167c.jpeg)


**検索履歴（スプレッドシート）**
![スクリーンショット 2021-10-29 6.47.21.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112294/cd39a748-bfb2-71b6-498a-f4a0c367158a.jpeg)



## Googleフォーム

### 本の検索条件入力フォーム作成（ISBNを条件）

#### ゴール

![スクリーンショット 2021-10-29 7.09.06.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112294/ba3ffe89-80c7-3b64-cc91-7f8c7a230214.jpeg)

#### 手順

1. Googleドライブ > Googleフォーム
    2. ![スクリーンショット 2021-10-29 7.03.56.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112294/e2c20cfe-32d4-e690-2201-3a9555b10723.jpeg)
3. フォーム作成
    4. タイトル
        - Book tracker
    5. デフォルトでメールアドレスを収集する
        - 設定タブ > デフォルト > フォームのデフォルト設定
             - ![スクリーンショット 2021-10-29 7.06.05.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112294/78f4f19c-f142-e850-ae8b-105cdf2af7e6.jpeg)
    7. ISBN
        - ![スクリーンショット 2021-10-29 7.09.06 (1).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112294/98b06feb-e56f-83dd-1ab1-80bbd3823259.jpeg)


### 検索履歴のスプレッドシート作成

#### ゴール

![スクリーンショット 2021-10-29 7.12.34.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112294/6adc639e-6e32-437d-30a8-2d6bca5c29e7.jpeg)

#### 手順

1. フォーム回答のスプレッドシート作成
    - ![スクリーンショット 2021-10-29 7.10.29.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112294/0d2396d6-4998-c945-5e5f-674dafec360e.jpeg)
    - ![スクリーンショット 2021-10-29 7.11.32.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112294/f9e471e7-5aa7-3e29-ada0-ac34a8355b34.jpeg)
4. 作成完了！

## Gooogleスプレッドシート

#### ゴール

![スクリーンショット 2021-10-29 7.14.34.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112294/a07cac18-8800-bee7-49ab-e5bb6f7833d8.jpeg)

#### 手順

1. 以下、追加する。
    1. D列: タイトル
    2. E列: 詳細
    3. F列: 著者

## Google Apps Script

### スプレッドシートに"Google Apps Script"の追加

1. スプレッドシート > ツール > スクリプトエディタ
    - ![6ebc9f6e-ca27-43a5-bad1-3f35e19383d0-960x635r (1).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112294/fe517c24-a24d-7f44-4a8e-f50775e91ad1.jpeg)

### サンプルのGithubのコードをコピペ

#### ゴール

![スクリーンショット 2021-10-29 7.22.40.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112294/7c5a3f44-8958-ff1e-6978-d2a189d5cc37.jpeg)

#### 手順

1. プロジェクト名変更
    2. BookTracker
2. Code.gsのコードをコピペ
    3. https://github.com/YukiFujisawa/appscript-book-tracker/blob/main/Code.gs
        - ![2278f455-3815-4aeb-a1fe-39f2721897e6-960x142r.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112294/1c54ec4c-002a-a1f0-327f-8953b5dc83d1.png)
5. トリガー設定
    6. BookTracker > トリガー（左ナビ）> トリガーを追加 
            - ![606fbfde-a7b3-4262-8117-9df99a2f0772-960x911r.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112294/e901dee2-53b8-960c-ec10-175adc04f773.png)
7. 保存する

## 動作確認

1. Googleフォーム > 送信 > フォームを送信 > コピー
    - ![スクリーンショット 2021-10-29 7.30.17.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112294/886b513e-1bef-e4bd-da02-74b57e562f1b.jpeg)
3. コピーしたURLをブラウザに貼り付け
    - ![スクリーンショット 2021-10-29 7.31.22.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112294/839ca120-3200-4a7c-2d44-126304fddd96.jpeg)
5. `ISBN：4900963364`を入力
    6. ISBNの検索方法
        7. Amazonで本を検索する
        8. 登録情報 > ISBN-10
            - ![スクリーンショット 2021-10-29 7.35.31.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112294/0641036a-81d7-e393-f824-fb25d20e1a90.jpeg)


以下、画像のメールが飛んできたらOK!!
![e9e6a738-a6e7-4804-bded-e84f09314a10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112294/742d551c-537d-a585-3670-c0bd17a2d244.png)


## まとめ

- 「[Create a book tracker using Apps Script and the Google Books API in 10 minutes](https://www.techupover.com/create-a-simple-book-tracker-using-apps-script-and-the-google-books-api/)」の著者"Nick Young"さんに感謝！
- Google Apps Scriptの活用するとこんな感じで、手軽に自分でアプリケーションを作ることができます。
- この記事がお役に立ちましたら「LGTM」お願いします。

## YouTubeでの解説動画紹介

「作る手順を動画で見てみたい！」という方のためにYouTubeで解説動画を作成しました。

<iframe width="560" height="315" src="https://www.youtube.com/embed/ns-HgGsD_L4" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>