すべての記事
Gemini の新機能が Workspace に出てこないとき、待ちと不具合を切り分ける順序
告知された Gemini の新機能が自分の Workspace に現れないとき、それが段階展開の途中なのか設定の問題なのかを、リリーストラックと展開ペースから機械的に判定する手順と Apps Script の台帳をまとめました。
Drive を Gemini に見せたくないなら、共有を解除する前に試せる設定があります
Gemini が Drive のどこまで読めるかは、自分のアクセス権とファイル側の制限で決まります。共有を外さずに Gemini の取得対象から外す方法と、管理者向けの DLP for Gemini の線引きをまとめました。
Meet のメモ機能が対面の打ち合わせに対応しました。先に決めるのは Drive の受け皿です
Google Meet のメモ機能がホーム画面から起動でき、対面の打ち合わせも対象になりました。生成されたドキュメントが Drive に散らばる前に受け皿を決め、決定事項だけを Apps Script で台帳へ落とす手順をまとめます。
Sheets canvas へ移せるのは入口までで、実行境界は Apps Script に残ります
Sheets canvas の登場で、内製した Apps Script のどこまでを手放せるのかを実行境界という物差しで仕分けしました。移す処理と残す処理の判定基準、棚卸しを機械化する分類スクリプトまでをまとめています。
=GEMINI() を420行に貼って気づいたこと — カスタム関数をやめ、値で書き戻すまでの実測
Sheets のカスタム関数から Gemini を呼ぶ構成は、動いた瞬間がいちばん美しく、そこから伸びません。30秒の壁・制御できない再計算・書き戻せない結果という3つの性質を実測で確かめ、値で書き戻す設計へ移すまでの手順とコードを残します。
表を渡したはずが、行と列の対応が消えていた — Docs の構造を保ったまま Gemini に渡す抽出層
Apps Script の getBody().getText() は Docs の表を段落の並びに潰します。42行×5列の運用台帳での取り違え実測と、要素ツリーを歩いて構造を残す抽出層の実装、その受け入れテストまでを記録しました。
夜間バッチの完了を待つポーリングを畳む — Apps Script の doPost を Gemini の合図受けにする設計
Gemini の Batch や長時間オペレーションの完了を Apps Script の時間主導トリガーで5分おきに問い合わせると、UrlFetch の呼び出しと待ち時間が静かに積み上がります。Webhook を doPost で受け、合図として扱ってから権威確認と冪等適用に落とす設計を組み立てます。
ローカルのファイルを任せる前に決めたこと — Gemini Spark を迎えるためのフォルダ境界とガードレール設計
ローカルのフォルダ整理を Gemini Spark に任せる前に設計したガードレールの実務メモです。実行前の内容ハッシュのマニフェスト、許可リストによる操作範囲の宣言、実行後の差分検証という3段構えと、任せる作業と自分で持つ作業の線引きを共有します。
Sheets の Fill with Gemini が28言語対応 — アプリのストア説明文を1枚で多言語化する
Google スプレッドシートの Fill with Gemini が28言語に拡大しました。個人開発でアプリのストア説明文を多言語化する実務手順と、機械翻訳をそのまま出さないための検証の型をまとめます。
Apps Script の6分制限を跨いで Gemini Files API に大容量ファイルを再開アップロードする
Drive に置いた数百MBの動画や音声を Apps Script から Gemini Files API へ送る際、6分の実行時間上限とペイロード上限をどう跨ぐか。resumable upload の start / upload / query / finalize を分解し、中断しても壊れない転送を組み立てます。
Apps Script の Gemini 自動化が月末に必ず止まる — UrlFetch 日次上限を溶かさない予算ガバナー設計
Apps Script から Gemini を呼ぶ自動化は、6分上限やトリガー本数とは別に UrlFetch の日次呼び出し上限で静かに止まります。件数が増えた日だけ落ちる問題を、日次予算ガバナーとバックログ繰り越しで捌き切る設計と動くコードにまとめます。
複数のトリガーが同時に書き込むと Gemini の結果が静かに消える — Apps Script の Properties 競合を畳む保管設計
Apps Script で Gemini の結果を複数のトリガーから保管すると、read-modify-write の競合と PropertiesService の容量制限で書き込みが静かに失われます。LockService と耐久シンク、冪等キーで取りこぼさない保管層を設計します。