マキモノ
Google Workspace無料✅ 公式検証済みv1.0.0 / 更新

GAS Web アプリが「アクセス権が必要です」で開けない時のデプロイ記録破損の診断と復旧

公開設定は正しいのに所有者でも403になるGAS Webアプリを、Bearer fetchの差分比較で切り分け、同versionのPUT再デプロイでURL不変のまま復旧する

出品者: cr@orgiast.jp📖 読込 約1,041トークン (約2円)💰 コスパ 50倍
トークン節約メーター87%節約
ゼロからAIに作らせた場合約6万トークン
このMDを読ませた場合約8,000トークン

約5.2万トークンの節約 (API料金換算で約78円分)。 要件定義・技術調査・試行錯誤ぶんのトークンがまるごと不要になります。※ 出品者申告とレビューに基づく推定値。モデル・タスク内容により変動します。

この巻物について

「GAS Web アプリが「アクセス権が必要です」で開けない時のデプロイ記録破損の診断と復旧」は、Google WorkspaceカテゴリのAI指示書(MDファイル)です。公開設定は正しいのに所有者でも403になるGAS Webアプリを、Bearer fetchの差分比較で切り分け、同versionのPUT再デプロイでURL不変のまま復旧するこの巻物をAIに読み込ませると、ゼロから設計・調査する場合に比べて 約5.2万トークン(API料金換算で約78円)・87%のトークンを節約できます。

カテゴリ
Google Workspace
対応AI
claude-code、cursor、codex-cli
ライセンス
商用利用可 (再販不可)
価格
無料
ゼロから開発時
約6万トークン
この巻物使用時
約8,000トークン
節約量
約5.2万トークン (約78円)
更新日
2026-10-19

使い方 (AIに渡す3つの方法)

いちばん簡単なのはワンライナー。Claude Code のターミナルに貼るだけです。

⬇ .md をダウンロード
claude "https://makimono-md.vercel.app/api/v1/files/gas-web-3/raw を読み込んで、この指示書どおりに実装して"
claude-codecursorcodex-cliライセンス: 商用利用可 (再販不可)

中身

GAS Web アプリが「アクセス権が必要です」で開けない — 公開設定は正しいのにデプロイ記録が壊れている時の診断と復旧

症状

  • Apps Script の Web アプリを開くと「アクセスが拒否されました / ドライブ アクセス権が必要です」。
  • deployments.get の entryPointConfig は access: ANYONE(または DOMAIN)で正しい。マニフェストも正しい。
  • スクリプト自体は動いている(時間主導トリガーなどは正常に走る)。
  • 所有者アカウントで開いても同じ 403 になる。

公開設定やログインアカウントの問題に見えるが、利用中デプロイの記録そのものが壊れていることがある(別端末から clasp deploy --deploymentId で更新した直後などに発生)。

診断(ブラウザ不要・差分比較)

clasp のログイン情報(~/.clasprc.json の tokens.default の refresh_token / client_id / client_secret)でアクセストークンを取り直し、Bearer 付きで Web アプリの exec URL を fetch する。

const t = rc.tokens.default;
const tok = await (await fetch('https://oauth2.googleapis.com/token', { method:'POST',
  headers:{'content-type':'application/x-www-form-urlencoded'},
  body:new URLSearchParams({client_id:t.client_id, client_secret:t.client_secret, refresh_token:t.refresh_token, grant_type:'refresh_token'})})).json();
const res = await fetch(`https://script.google.com/macros/s/<deploymentId>/exec`, { headers:{authorization:'Bearer '+tok.access_token}, redirect:'follow' });
const title = ((await res.text()).match(/<title>([^<]*)<\/title>/)||[])[1];

同じトークンで次の 3 つを比べる。

対象期待
(a) 同じアカウントで開ける別の Web アプリ200(トークン経路が有効な証拠)
(b) 問題のデプロイ403、title が「アクセスが拒否されました」
(c) 同じ version の一時デプロイ(POST /v1/projects/<scriptId>/deployments)→ fetch → DELETE200 ならデプロイ記録の壊れで確定

復旧(URL 不変)

所有者トークンで同じ version を既存デプロイに当て直す。

PUT https://script.googleapis.com/v1/projects/<scriptId>/deployments/<deploymentId>
{"deploymentConfig":{"versionNumber":<同じ番号>,"manifestFileName":"appsscript","description":"..."}}

その後 (b) を再 fetch し、200 と画面固有の文字列(アプリの title や要素 id)を read-back して完了とする。一時デプロイは必ず DELETE し、デプロイ一覧が元の件数に戻ったことを確認する。

注意

  • processes.list(実行ログ)は clasp 既定トークンの scope 不足で読めないことが多い。ログに頼らず差分比較で判定する。
  • 複数 Google アカウントに同時ログインした端末での「ファイルを開くことができません」(URL に /u/1 が挿入される)は別症状。

よくある質問

+「GAS Web アプリが「アクセス権が必要です」で開けない時のデプロイ記録破損の診断と復旧」とは何ですか?

公開設定は正しいのに所有者でも403になるGAS Webアプリを、Bearer fetchの差分比較で切り分け、同versionのPUT再デプロイでURL不変のまま復旧する

+どれくらいトークン(費用)を節約できますか?

ゼロから開発すると約6万トークンかかりますが、この巻物を使えば約8,000トークンで済みます。差し引き約5.2万トークン(API料金換算で約78円)・87%の節約です。

+どうやって使いますか?

無料です。MDファイルを Claude Code などのAIに読み込ませるだけ。ワンライナーをターミナルに貼れば実装が始まります。要件定義や技術調査を省いて実装だけにトークンを使えます。

+どのAIツールに対応していますか?

claude-code、cursor、codex-cli に対応しています。

+商用利用できますか?

ライセンスは「商用利用可 (再販不可)」です。

🤝 自分でAIを動かすのは、まだ不安…という方へ

この巻物の内容を、AIを使うプロに丸ごと任せることもできます。姉妹サービスAI代行堂なら「LINEで頼むだけで、仕事が完成」。

AI代行堂を見る →

関連する巻物

この巻物、誰かのトークンも救えます

𝕏 で節約レシートをシェア