mcpField
G
google-docs

google-docs

github.com/acedatacloudドキュメント17167 回インストール1 日前に更新
リポジトリ

google-docs について

Google Docs REST API を curl と jq で操作し、文書の読み取り、作成、編集を行うコマンドラインスキルです。OAuth の権限範囲やインデックス方式の編集に関する注意点も扱います。

主な機能

  1. 01文書のタイトルと本文の取得
  2. 02文書の作成
  3. 03batchUpdate によるテキスト挿入
  4. 04OAuth 権限と API エラーへの対応
  5. 05jq によるテキスト抽出

活用シーン

  1. 01Google ドキュメントの内容取得
  2. 02議事録の作成
  3. 03既存文書へのテキスト挿入

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/acedatacloud/skills --skill google-docs

インストール後、Claude Code で/google-docsを入力して読み込まれたか確認します。

詳細

curl + jq を使用して Google Docs を操作します。ユーザーの OAuth ベアラートークンは $GOOGLE_DOCS_TOKEN に格納されています。各リクエストには Authorization: Bearer $GOOGLE_DOCS_TOKEN が必要です。ベース URL:https://docs.googleapis.com/v1/documents。トークンには documents.readonly(および ID 情報)が含まれます。書き込みには documents が必要です。

エラーは {"error":{"code","message","status"}} の形式です。そのまま表示してください。401 = 再インストールしてください。書き込み時の 403 PERMISSION_DENIED = 読み取り専用スコープです。

ドキュメント ID は URL の …/document/d/<ID>/edit の部分です。

D="https://docs.googleapis.com/v1/documents"; AUTH="Authorization: Bearer $GOOGLE_DOCS_TOKEN"
# Read the document. The body is a tree of structural elements; pull plain text:
curl -sS -H "$AUTH" "$D/DOC_ID" \
  | jq -r '.title, ([.body.content[]?.paragraph?.elements[]?.textRun?.content] | join(""))'

作成と編集

# Create an empty doc
curl -sS -X POST -H "$AUTH" -H "Content-Type: application/json" \
  -d '{"title":"Meeting notes 2026-06-21"}' "$D" | jq '{documentId, title}'

# Insert text at the start (index 1) via batchUpdate (confirm first)
curl -sS -X POST -H "$AUTH" -H "Content-Type: application/json" \
  -d '{"requests":[{"insertText":{"location":{"index":1},"text":"Hello\n"}}]}' \
  "$D/DOC_ID:batchUpdate" | jq '.documentId'

# Replace all occurrences of a placeholder
curl -sS -X POST -H "$AUTH" -H "Content-Type: application/json" \
  -d '{"requests":[{"replaceAllText":{"containsText":{"text":"{{name}}","matchCase":true},"replaceText":"Alex"}}]}' \
  "$D/DOC_ID:batchUpdate" | jq '.replies'

注意点

  • ドキュメントモデルは インデックスベース です。テキスト編集では文字インデックスを指定し、挿入のたびに後続のインデックスがずれます。複数箇所に挿入する場合は、後ろから順に適用するか、呼び出しの間にインデックスを再計算してください。
  • Markdown/プレーンテキストをきれいに取得するには、body.content[].paragraph.elements[] .textRun.content をたどります(上記の jq)。テーブルやリストの場合は、さらに深くたどる必要があります。
  • ドキュメントを作成すると、ユーザーの Drive のルートに保存されます。移動または共有するには、google-drive スキルを使用してください。

コメント