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

鍵の無いPCから共有メールボックスでDriveのPDF添付つき返信を下書き→確認後に送信(GitHub Actions+ドメイン全体の委任)

SA鍵がGitHubシークレットにしかない環境で、DriveのPDFを添付した返信下書きを作り、人の確認後にdrafts.sendで送る手順。scope不足403と多重run事故の回避つき

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

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

この巻物について

「鍵の無いPCから共有メールボックスでDriveのPDF添付つき返信を下書き→確認後に送信(GitHub Actions+ドメイン全体の委任)」は、Google WorkspaceカテゴリのAI指示書(MDファイル)です。SA鍵がGitHubシークレットにしかない環境で、DriveのPDFを添付した返信下書きを作り、人の確認後にdrafts.sendで送る手順。scope不足403と多重run事故の回避つきこの巻物をAIに読み込ませると、ゼロから設計・調査する場合に比べて 約5.8万トークン(API料金換算で約86円)・96%のトークンを節約できます。

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

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

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

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

中身

鍵がローカルに無いPCから、共有メールボックスで「Drive の PDF を添付した返信下書き」を作り、人の確認後に送る(GitHub Actions + ドメイン全体の委任)

こんな時に使う

  • 返信を送るのは共有メールボックス(例: <共有アドレス>@<自社ドメイン>)だが、作業PCにはそのメールボックスの OAuth トークンも、サービスアカウント鍵も無い
  • 鍵は GitHub リポジトリのシークレットにだけある(例: GOOGLE_SA_JSON。中身が base64 のこともある)
  • 添付は Google Drive 上の PDF。AI のコネクタで添付を base64 で手渡しすると、書き写しの途中で壊れる
  • 送信前に人が文面と添付を確認したい

前提

  • サービスアカウントにドメイン全体の委任があり、次のスコープが管理コンソールで許可済み
    • https://www.googleapis.com/auth/gmail.compose
    • https://www.googleapis.com/auth/gmail.readonly
    • https://www.googleapis.com/auth/drive
  • そのリポジトリに push できる(gh auth status で確認する)

手順

  1. 使い捨てブランチを main から作る: gh api -X POST repos/<owner>/<repo>/git/refs
  2. スクリプトを置く(npm 依存なし、node:crypto だけ)。中身は次のとおり。
    • トークン取得: RS256 の JWT を自作する(iss=SA のメール、sub=成り代わる人、scope=空白区切り)。それを https://oauth2.googleapis.com/token に grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer で送る
    • PDF 取得: GET drive/v3/files/<id>?alt=media&supportsAllDrives=true。sub はファイル所有者にする。ダメなら共有メールボックスで再試行
    • 元メールのヘッダ取得: messages/<id>?format=metadata&metadataHeaders=Message-ID&metadataHeaders=References&metadataHeaders=Subject
    • MIME を組む: multipart/mixed。本文は text/plain; charset=UTF-8(base64)。添付は Content-Disposition: attachment; filename*=UTF-8''<encodeURIComponent(名前)>。件名は =?UTF-8?B?…?= にする。In-Reply-To と References も付ける
    • 下書き作成: POST users/me/drafts に {message:{threadId, raw: base64url(mime)}}
    • 読み戻し: drafts/<id>?format=full で宛先・件名・スレッド・添付サイズを JSON に出し、actions/upload-artifact で回収する
  3. workflow を置く: on: push: branches: [<使い捨てブランチ>] にする。workflow_dispatch は既定ブランチにファイルが無いと 404 になるので使わない。シークレットは env: で渡す
  4. 結果を回収して確かめる: gh run watch <id> --exit-status → gh run download <id> -D out。添付のサイズが元 PDF と一致するかを見る
  5. 人が下書きを確認する。OK が出たら、同じ型のスクリプトで次を行う
    • 送る直前に下書きの宛先とスレッドを照合し、違えば送らない
    • POST users/me/drafts/send {id} で送る
    • messages/<id> で SENT ラベルと添付を読み戻す
  6. ブランチを削除する: gh api -X DELETE repos/<owner>/<repo>/git/refs/heads/<branch>。シークレットを使える workflow を残さないため

ハマりどころ(実測)

  • スコープを gmail.compose だけにすると、元メールの metadata 取得が 403 になる(insufficient scopes)。gmail.compose gmail.readonly を空白区切りで両方要求する
  • Contents API でファイルを1つずつ PUT すると1回ずつ commit になり、workflow がある枝では commit ごとに run が立つ。3本並走して二重下書きになりかけた。対策は次のとおり
    • workflow ファイルを最後に置く(最初の push では workflow がまだ無いので run が立たない)
    • 再 push する時は concurrency: を付けるか、余分な run をすぐ gh run cancel する
    • 作成後は下書き一覧を宛先で検索し、1通だけかを確かめる
  • シークレットが base64 のことがある。先頭が { でなければ復号してから JSON.parse する
  • 古い下書きを消すのは、新しい下書きの読み戻しで添付と threadId を確認できてからにする

よくある質問

+「鍵の無いPCから共有メールボックスでDriveのPDF添付つき返信を下書き→確認後に送信(GitHub Actions+ドメイン全体の委任)」とは何ですか?

SA鍵がGitHubシークレットにしかない環境で、DriveのPDFを添付した返信下書きを作り、人の確認後にdrafts.sendで送る手順。scope不足403と多重run事故の回避つき

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

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

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

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

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

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

+商用利用できますか?

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

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

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

AI代行堂を見る →

関連する巻物

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

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