── コネクタで、どこまでいけるのか。
今日、Claudeにカレンダーの予定を入れてもらった。
「11時から1時間、この作業で入れといて」と言っただけで、数秒で入った。速い。削除も時間変更も、その場でできる。
それで、つながっている気になっていた。
ファイルは置けるのに、中身がいじれない
Gドライブのスプレッドシートに、行をひとつ足したくなった。
できない。
ファイルを新しく作ることはできる。共有設定も変えられる。名前も変えられる。なのに、開いて中身を書き換えることができない。
Docsも同じだった。ファイルとしては扱えるのに、本文には手が届かない。
コネクタは、用意された操作しかできない。用意されていないものは、どう頼んでも出てこない。当たり前の話なのだが、つながっている感触があるぶん、気づくのが遅れた。
「できますよ」と言われた
コビトロジックの角田さんに、その話をした。
自前でAPIを叩けばいい、と。コネクタを経由せず、Google Sheets API に直接つなぐ。そうすればセルも書ける。Docsの本文も書き換えられる。
やり方を、まるごと送ってくれた。
以下、そのまま置いておく。自分用のメモでもあるし、同じところで止まっている人がいるかもしれないので。
ゼロから組むときの手順
1プロジェクトを作る
Google Cloud Console で、自社用にひとつ作る。案件ごとに増やさない。
2APIを有効化する
「APIとサービス → ライブラリ」で、使うものを個別にオンにする。
Google Sheets API
Google Docs API
Google Drive API
使うAPIごとに必要。忘れると 403 が出る。
3OAuth同意画面(ここが罠)
ユーザー種別は「外部」 → 承認済みドメインに自社ドメインを追加 → そのうえで「アプリを公開」
これを実際に踏んだ。7日後に突然動かなくなって、原因がわからず時間を溶かした。
承認済みドメインを入れないと、公開ボタンが灰色のまま押せない。先にドメイン、それから公開。
4スコープ
同意画面に登録する必要はない。コード側の SCOPES で宣言すれば動く。
SCOPES = [
'https://www.googleapis.com/auth/spreadsheets',
'https://www.googleapis.com/auth/documents',
'https://www.googleapis.com/auth/drive',
]
Sheets / Docs / Drive は「機密スコープ」扱いになっているが、自分だけが使う内部ツールなら審査は不要。
未審査の警告画面が出たら「詳細 → 続行」で通せる。
5認証情報
認証情報 → OAuthクライアントID → デスクトップアプリ
JSONをダウンロードして、こういう場所に置く。
gitには入れない。
6初回認証
一度だけ auth を実行して、ブラウザで許可する。
以降はリフレッシュトークンで自動更新される。毎回聞かれることはない。
困ったときの対処
403が出た
そのAPIをコンソールで有効化していないだけ。ライブラリで検索してオン。
スコープを増やしたい
SCOPES に1行足す。トークンを削除して、auth を再実行。
再認証が頻発する
同意画面が「テスト中」に戻っていないか確認する。
Docsを更新したい
同じトークンで Docs API の batchUpdate が叩ける。
「承認報告」は要らない
Googleの審査について、勘違いしていた。
審査が要るのは「他人(100人超)にこのアプリでログインさせる」場合だけだ。自分専用のツールなら、一切要らない。
クライアントに配る話になったら、その時点で検証申請を考えればいい。プライバシーポリシーのURL、動画デモの提出。今は考えなくていい。
用意されたものと、自分で組むもの
整理すると、こうなる。
| |
経路 |
できること |
| カレンダー |
コネクタ |
作成・更新・削除 |
| Gmail |
コネクタ |
読む・下書き・送信 |
| Drive |
コネクタ |
ファイル作成・共有 |
| シートの中身 |
自前 |
セル書き込み |
| Docsの中身 |
自前 |
本文の書き換え |
境目は「ファイルとして扱う」か「中身をいじる」か。
前者はコネクタで足りる。後者から先が、自前の領域になる。
それでも
ここまで書いておいて言うのもなんだが、最初からここをやる必要はないと思う。
コネクタで9割は足りる。足りないとわかってから、足りない分だけ取りに行けばいい。
先に環境を整えてから始めようとすると、だいたい始まらない。
私も、カレンダーに予定が入って「速いな」と思ったところから、シートが書けないことに気づいた。その順番でよかった。
── とはいえ、7日でトークンが切れる罠だけは、先に知っておきたかった(笑)。
この手順は、コビトロジック(cobitologic.com)の角田さんが提供してくれたものです。そのまま使えるように整理して掲載しています。