Slide 1

Slide 1 text

google spread sheet apiを使ってタスク管理ア プリ作ってみた

Slide 2

Slide 2 text

自己紹介 ・名前:宮川季己(みやがわとしき) ・会社:株式会社PR TIMES ・年齢:22歳(新卒1年目) ・趣味:お散歩

Slide 3

Slide 3 text

今回作ったもの ・投稿、削除ができる簡単なタスク管理アプリ ・タスクを投稿した時の内容が、スプレッドシートに 追記される ・https://github.com/tmosyc/task-spreedsheet

Slide 4

Slide 4 text

タスク管理アプリを作った背景 ・タスクを管理する時に、今までのタスクが自動的に 記録されるアプリを作れれば良いなと思った。また、 後で見返せることが良いと思った ・google spread sheet apiがあり、上記のことを実 現できそうだと思った。

Slide 5

Slide 5 text

作ったwebアプリケーションの説明 機能 ● formからPOSTリクエストでタスクのタイトルと内容を送ると、DBにinsert されてページにその内容が表示される ● 削除ボタンを押すと、DELETEリクエストが送られ、対象のデータがDBか ら削除される ● POSTリクエストで送信すると同時に、スプレッドシートに送信んした値が 代入される

Slide 6

Slide 6 text

作ったwebアプリケーションの説明 技術 ● flask(pythonフレームワーク) ● sqlalchemy(ORM) ● spread sheet api(GCP)

Slide 7

Slide 7 text

デモ

Slide 8

Slide 8 text

spread sheetと接続するために必要な認証 A. googleに認証するための秘密鍵 B. spread sheetのシートIDの取得

Slide 9

Slide 9 text

A. 認証手順(googleに認証するための秘密鍵) gspreadのdocumentationから引用 (https://docs.gspread.org/en/latest/oauth2.html#enable-api-access) 1. 有効にしていない場合は、プロジェクトのAPIアクセスを有効にします 2. 「APIとサービス > 認証情報」に移動し、「認証情報の作成 > サービスアカウント キー」を選択します 3. フォームに記入する 4. 「作成」と「完了」をクリックします 5. サービスアカウントの上にある「サービスアカウントの管理」を押します 6. 最近作成したサービスアカウントの近くにある:を押して、「キーの管理」を選択し、 「キーの追加 > 新しいキーの作成」をクリックします 7. JSONキータイプを選択し、「作成」を押します

Slide 10

Slide 10 text

1. 有効にしていない場合は、プロジェクトのAPIアクセスを 有効にします

Slide 11

Slide 11 text

1. 有効にしていない場合は、プロジェクトのAPIアクセスを 有効にします

Slide 12

Slide 12 text

2. 「APIとサービス > 認証情報」に移動し、「認証情報の作成 > サービスアカウントキー」を選択します

Slide 13

Slide 13 text

2. 「APIとサービス > 認証情報」に移動し、「認証情報の作成 > サービスアカウントキー」を選択します

Slide 14

Slide 14 text

3. フォームに記入します

Slide 15

Slide 15 text

4.「作成」と「完了」をクリックします 前のスライドのページを進める

Slide 16

Slide 16 text

5. サービスアカウントの上にある「サービスアカウントの管 理」を押します

Slide 17

Slide 17 text

6. 最近作成したサービスアカウントの近くにある:を押して、「キー の管理」を選択し、「キーの追加 > 新しいキーの作成」をクリックしま す

Slide 18

Slide 18 text

7. JSONキータイプを選択し、「作成」を押します

Slide 19

Slide 19 text

B. 認証手順(シートIDの取得) google spread sheetのurl シートID

Slide 20

Slide 20 text

実装 Aのパス Bの文字列

Slide 21

Slide 21 text

まとめ ・二つの認証だけで接続することができるので、spread sheetと接続 してwebアプリケーションを開発するのは意外と楽 ・PHPでも楽に実装できるかもしれないと思ったので、PHPでも実装 してみたいなと思った ・slackや他のタスク管理ソフトウェアなどと繋げてみたら、日々テキ ストデータが蓄積されていき、スプレッドシートだとビジネス側でも扱 いやすいので、会社全体の業務効率化になりそうだと思った

Slide 22

Slide 22 text

✳注意 ・実装で示したコードの書き方では、gspreadは version3.6以上だと動きません ・参考 :https://docs.gspread.org/en/latest/oauth2.html