GASでAPIを作ってみた

生成AIで、コードは書いてくれるけど、ログを見れるようにするのも含めて、設定のほうがなかなか大変でした。

ChatGPTもGeminiもコードだけでごにょごにょしてくれるので、「あなたのコードはあってるはずだから、書き換えないで。コードがあってる前提で、私が間違っているとしたらどこ見たらいいのか」を聞きまくってたのはよい思い出。

苦戦したやり取りをチェックリストにしてもらいました。

kintone × GAS連携 展開チェックリスト

1. GAS (Google Apps Script) 側の準備

  • [ ] プロジェクトの新規作成
    • 前のアプリの設定と干渉しないよう、新しくプロジェクトを作成する。
  • [ ] コードの書き換え
    • FOLDER_ID を新アプリ専用のフォルダIDに更新したか。
  • [ ] デプロイ(公開)
    • 種類:ウェブアプリ
    • 実行ユーザー:自分
    • アクセス権:全員
    • 重要: 修正後は必ず「デプロイを管理」から 「新バージョン」 を作成して更新しているか。
  • [ ] 初回承認
    • エディタ上で一度「実行」し、自分のGoogleアカウントでドライブへのアクセスを「許可」したか。

2. kintone 側の設定

  • [ ] フィールドコードの照合
    • コード内の定義とアプリのフィールドコードが一致しているか。
  • [ ] JavaScriptのURL更新
    • GAS_URL を、手順1で新しく発行した「ウェブアプリURL」に書き換えたか。
  • [ ] ライブラリとJSの読み込み順
    1. qrcode.min.js(ライブラリ)
    2. kintone_QR-to-GDrive_...js(自作JS)
    3. 上記の順に並んでいるか。
  • [ ] モバイル版への適用
    • 「スマートフォン用JavaScript設定」にもファイルをアップロードしたか。

3. GCPプロジェクトの設定(Google Drive APIの許可とログ取得) ※ログを見たい時のみ必要

  • [ ] プロジェクトの用意
    • Google Cloud Console で、ログ管理用に新しいプロジェクトを作成するか、既存のプロジェクトを選択しているか。
  • [ ] Google Drive API の有効化
    • プロジェクト内の「ライブラリ」から Google Drive API を検索し、「有効にする」 を押したか。(※忘れると実行エラーになります)
  • [ ] OAuth 同意画面の設定
    • 原則、ステータスを 「公開」 にしているか。
    • もし「テスト」のままにする場合は、実行する自分のアドレスが 「テストユーザー」 に登録されているか。
  • [ ] プロジェクト番号の紐付け
    • GASの「設定(歯車)」>「Google Cloud Platform (GCP) プロジェクト」に、選択したGCPの 「プロジェクト番号」 を入力したか。
  • [ ] ログエクスプローラーの確認
    • Cloud Logging で、GASプロセス開始 などのログが表示されるか。