Google Workspace・GAS

Google Workspace・GAS

Googleコンタクトをチームの共有電話帳にする(GAS)|People APIで読み書きし、宛名ラベル印刷と地図表示まで

Googleコンタクトは基本的に1アカウントのもので、チームや家族で1つの電話帳を見るのが意外と難しい。GASで「共有用アカウントの連絡先を、許可した人だけが読み書きできる」Webアプリを作りました。People APIの使い方、宛名ラベルとFAX送信状の印刷、住所から地図にピンを立てる方法、HTTP 401などのつまずきをまとめます。
Google Workspace・GAS

GASのUSER_DEPLOYINGとUSER_ACCESSINGを分けた|管理画面に管理者が入れない

GASの共通ログイン管理画面で、登録済みの管理者が拒否される問題に対応しました。デプロイ者として動くAPIは残し、管理画面をアクセスした利用者として動かす構成に分離。本人確認と管理権限の判定を分けた理由と、確認できた範囲を記録します。
Google Workspace・GAS

GASライブラリで認証を共通化したら空のDBが397個できた|API方式に移すまで

GASで作った複数のWebアプリの「誰が使えるか」を1か所で管理するため、共通の認証ライブラリを作りました。ところがライブラリは呼び出し元の利用者の権限で動くため、DBを共有していない人が開くたびに空のDBが作られ、登録が消え続けました。原因、止め方、デプロイ者の権限で動くAPI方式に移した手順と判断表をまとめます。
Google Workspace・GAS

GASのHtmlServiceは約160KBで切れる|本番だけ構文エラー

当時の自作GASアプリで、約170KBのHTMLファイルを使う画面のスクリプトが途中で終わる現象を観察しました。約160KBは自身の観察目安で、HtmlService共通の上限を確認したものではありません。ファイル分割、独自の120KB検査、本番エラー記録の手順と、未検証の範囲を記録します。
Google Workspace・GAS

GAS Webアプリの認証|getActiveUserが空になる時の判断表

GAS Webアプリの認証を、実行者・利用者の承認・メールアドレスの取得可否から整理します。getActiveUserが空になる条件と、URLキーが本人確認にはならない点を訂正。許可リストの最小例、デプロイ設定、401で止まった実測を記録します。
Google Workspace・GAS

Claude CodeからGoogleスプレッドシートを読み書きする|サービスアカウントで無人運用

Claude Codeに、Googleスプレッドシートを無人で読み書きさせる仕組みを作りました。サービスアカウントの鍵でJWTに署名してトークンを取り、Sheets API v4を直接呼ぶだけで、追加パッケージは使っていません。鍵の置き場所、AIに書かせない列の決め方、共有の操作がAIの自動モードで止められた場面まで記録します。
Google Workspace・GAS

GASのWebアプリを「特定の人だけ」に公開できなかった理由|Session.getActiveUser()が空になる原因と代替案

GASのWebアプリでSession.getActiveUser().getEmail()が空文字になった記録。当時の実測とGoogle公式の取得条件を分け、URLキー方式の限界、ドメイン専用URLの正規化までまとめます。