Google Spread Sheet に Vite + React + TypeScript から書き込みを行うテストファイルです。(for Suiran Sell)
- Google Spread Sheet で適当なファイルを作成
- アクセス権限を"リンクを知っている全員"、"編集者"に変更1
- ID をメモしておく
(ID とは、リンクhttps://docs.google.com/spreadsheets/d/<ID>/edit?gid=0#gid=0の<ID>の部分
例:https://docs.google.com/spreadsheets/d/abcdefghijklmn/edit?gid=0#gid=0ではabcdefghijklmn)
- 18歳以上のアカウントを準備 / Google Cloud にアクセス
新しいプロジェクトを作成API とサービスから API とサービスを有効にするボタンを押し、Google Sheets APIを追加- また、サイドバーの
API とサービスから認証情報を開く API キーを作成し、そのキーをメモしておくOAuth 2.0 クライアントを作成し、承認済みの JavaScript、リダイレクト URI はhttp://localhost:5173とする (実環境ではhttps://sell.suiranfes.blue)OAuth 2.0 クライアントのクライアント ID(メアド) をメモする
npmとgitをインストール- このリポジトリをクローンする
.env.localファイルを作成し、先ほどメモした情報を利用し、入力する# スプレッドシートの URL に含まれる文字列 VITE_GOOGLE_SPREADSHEET_ID=シートのID # OAuth 2.0 クライアント ID (**.apps.googleusercontent.com) VITE_GOOGLE_CLIENT_ID=メアド # API キー VITE_GOOGLE_API_KEY=キー
npm inpm run start- これで、表示される下のボタンを押すと、
Sheet1のA1-A2に Hello World と表示されます。(これにより、書き込み実験成功です)
Google Spread Sheets API の制限 (公式ページより引用)
| 読み取りリクエスト | |
|---|---|
| 1プロジェクト、1分あたり | 300 |
| 1プロジェクト、1ユーザー、1分あたり | 60 |
| 書き込みリクエスト | |
|---|---|
| 1プロジェクト、1分あたり | 300 |
| 1プロジェクト、1ユーザー、1分あたり | 60 |
Footnotes
-
後述する、"作成したアカウントのメールアドレス (
***@***.***.gserviceaccount.com)"を追加し、そのアカウントのみに編集権限を付与するのでも、動く可能性あり。 ↩