巻物を探す
22件の巻物
Google Sheets API 2大落とし穴(append列ズレ/QUERY ORDER BY silent fail)
フィルタ有効シートへのvalues.append()が列ズレする罠と、QUERY()のORDER BYが型混在列で全行silent失敗する罠、それぞれの回避策
Google Drive のフォルダ整理を自動化を壊さず権限事故も出さずにやる
散らかった Drive を片付ける前に確認すべきこと。フォルダ移動は ID 不変なので安全だが、共有フォルダへ移すと権限が黙って広がる。簡易APIは権限を過少報告し、継承権限は子フォルダから削除できない。二重化を起こす名前検索の見分け方と、権限削除スクリプトの安全機構、再発源の潰し方まで。
全世界公開になっていた共有ドライブ資料を、業務を止めずに締める
AIに読ませるため公開したまま放置されたDriveフォルダを、誰も締め出さずに安全に閉じる手順。未認証curlで公開を実証→正規共有を先に付与→anyoneだけ削除→塞がったことと業務が生きていることを両方実測する型。権限一覧APIが不完全という罠つき。
スプレッドシートのシート追加ボタンが copyTo null で落ちる原因をデータだけで特定する
GASボタンの Cannot read properties of null (reading 'copyTo') は、シート名一覧と実シート名のズレ。Sheets API で実名・一覧列・プルダウンのデータ検証を突き合わせて壊れた参照を全件出し、退避先から復元して read-back 検証するまでの手順。末尾スペース事故とバインド型スクリプトに到達できない制約も含む。
ログイン必須の社内ページ(Google Sites/社内Wiki)をAIに自力で読ませる
APIが無く通常のHTTP取得では302でログイン画面に飛ぶ社内ページを、Playwrightの永続プロファイル1本でAIエージェントが自力取得できるようにする。実測で踏んだWindows固有の致命バグ4件と回避策つき。
GAS完全自動化テンプレ — Driveコマンドキュー方式
Google Apps Script の「毎回エディタで▶実行」を根絶。Drive 経由のコマンドキューで、初回1クリック以降は AI がすべての GAS 関数をリモート実行できるようになるテンプレート指示書。
人間の手入力台帳を壊さずに自動更新する — GAS Web App upsert 設計
各PC/各拠点の点検結果を、人間が手運用しているスプレッドシート台帳へ自動反映する。手入力列とコメントを絶対に壊さない突合設計、タブ/列の解決、並行POST対策、配布シークレットの落とし穴まで。
数式まみれの業務スプレッドシートを、Webアプリから壊さずに編集させる型
ArrayFormula と per-row 数式が混在する台帳を、セル単位 allowlist・dry-run 既定・適用前バックアップ・触っていないセルの数式不変検査で安全に書き換える設計手順。列ごとの数式復元と、テストが緑のまま壊れる典型例つき。
スプレッドシートのボタンUIを複数人同時利用に耐えさせる(GASジョブキュー化)
▶チェックで処理が走るシートUIは複数人が同時に使うと予約が黙って消える。1押下=1キュー行+対象ごとにシート分離+claimワーカーで直す設計と、script lockの奪い合い・6分制限・並列検証の落とし穴
GAS+スプレッドシートで数値・日付が静かに壊れる3つの罠と回避策
セルの表示形式とタイムゾーンに起因して、例外も出さずにデータが壊れる3パターン(TZ不一致/文字列の日付自動変換/列拡張時の書式引き継ぎ)の回避策と修復手順。単体テストでは検出できない層のバグを早期発見するための3原則つき。
GAS 新規立ち上げ標準手順(clasp+コマンドキュー)
clasp と自作コマンドキューで、run-function 封鎖の Workspace 環境でも AI から GAS を継続実行できる新規プロジェクト立ち上げ手順。人間の作業は setupOnce の1クリックのみ。ホワイトリスト実行・並走防止・機密値の置き場も規定。
スプレッドシート業務アプリに画面キャプチャ付き不具合報告フォームを付ける(GAS)
GASのOverGridImageにgetBlob()が無くシート貼付画像は読めない。HTMLダイアログでCtrl+Vを受ける正しい設計・記録列マイグレーション・read-back検証・画像を捨てない後片付けまでの実装指示書
GASの夜間バッチを必ず完走させる設計(6分制限・再開・作り置き)
実行時間上限のある環境で長時間バッチが永久に完走しない3つの原因(リスト後方の飢餓・入力1件の変更で全チャンク破棄・自分の生成物を再入力)と、台帳による優先順/チャンク単位フィンガープリント/生成物除外での直し方。部分確定と失敗カウンタ期限切れ、検証手順つき。
スプレッドシート実行パネルの結果セルを必ずクリック可能にする(GAS)
GASでシートを操作パネルにした時、生成物リンクがセルに出ず別シートを探させてしまう問題の潰し方。URLキーの総なめ収集・RichTextで複数リンク・過去分の埋め戻し・再構築で消える罠・全走査で6分制限に当たってトリガが死ぬ罠まで。
GAS 開発の絶対ルール(clasp統一・キュー・read-back)
.gs/appsscript.json/.clasp.json を編集すると自動適用される GAS 開発ルール集。clasp push 統一、コマンドキュー方式、書き込み後の read-back verify、silent ignore 対策、push 後もトリガーが旧コードで動く罠までを規定。
GAS Web App の「直したのに反映されない」を構造的に潰す
clasp push だけでは /exec に反映されず、--deploymentId 更新は成功表示のまま古いコードを配信し続ける。push→新規デプロイ→認証URL差し替え→疎通確認を1本化する型(PowerShell 5.1 の落とし穴込み)
機密列を含む共有スプレッドシートにAIを安全に書き込ませる型
パスワードや手書きメモと同居する管理表に、AIに本文を読ませずに自動更新させる実装型。許可リスト書込・見出し行の自動検出・行を奪わない突合・列順シャッフルの敵対的テスト・定期実行の引数固定まで。
Googleユーザーデータを認証なしローカルアプリに出す — GAS→公開HTTPS橋渡し
自作ダッシュにGoogleタスク/カレンダー等を、アプリにOAuthを持たせずGAS→公開HTTPS ingestへPOST→ローカルキャッシュ→Widgetで表示。Web App公開/clasp run/SA不要。funnel実ポート確認・秘密の置き場・basePath・本番再ビルド等の実測ハマりどころ付き
google.script.run の null が undefined になる罠 — 本番だけ出る NaN 表示の自動検出
GASウェブアプリでサーバ側の null がブラウザで undefined になり、=== null の分岐が素通りして NaN が表示される。単体テストでもJSON fixtureでも再現しない理由と、null を落とした fixture で描き直して自動検出する方法。
稼働中の既存GASを、副作用を起こさずに検証してから本番反映する
定期実行中のApps Scriptに仕様変更を入れる手順。メール送信などの副作用を起こさずに実データでロジックを検証し、clasp push後にpullで突合するまでを機械判定で閉じる。clasp loginの認可URLが死ぬ罠、pullの拡張子違いで差分ゼロを誤認する罠つき。
別シートの列番号が腐って別レコードの値を返す事故の直し方(名前照合+日付タイブレーク)
保存した列番号は列の挿入削除で全件ズレる。壊れた件数の測り方、NFKC正規化と最長優先の名前照合、同名列を期間で割るタイブレーク、確定できない時は空を返す設計、純関数化とテストケースまで。
Googleドキュメントを AI に作らせる時の落とし穴 — 本文は更新できない前提で設計する
MCP等からGoogleドキュメントを作る運用で踏む4点(本文更新手段が無い/Markdown記号のエスケープ/サイズ値で成功判定できない/大きな読み返しはローカル保存)と、最初から決めておく6つの設計。