gogcliでGoogle Driveを操作する方法 — 検索・アップロード・共有の手順

gogcliでGoogle Driveを操作する — 検索・アップロード・共有の完全手順

執筆・編集:株式会社Nexa 編集部(下書きと機械検査はAI、公開前に人が確認)/約16分で読めます。公式ドキュメント・公式発表などの一次情報を確認したうえで執筆・更新しています。AIツールの仕様や料金は変わることがあるため、導入判断の前に各公式サイトの最新情報もご確認ください。記事の作り方と検査の方針

gogcliのgog driveコマンドで、Google Driveへのアップロード・共有をCLIから自動化できます。

  • 要点1: gog drive upload --parent=[フォルダID] で特定フォルダへのファイル格納が1行で完了
  • 要点2: gog drive mkdir でフォルダを作成し、gog drive share で共有リンクを即時発行可能
  • 要点3: Claude Codeと組み合わせると、大量ファイルの分類・格納・共有設定まで自動化できる

対象: Claude CodeやCLIツールを使って、Google Driveの操作を自動化したいエンジニア・IT担当者

今日やること: gogcliをインストールし、gog auth add でDriveを有効化する

確認日: 2026年10月8日(本文のコマンド構文はgogcli公式ドキュメントで確認)

この記事の著者
株式会社Nexa 代表取締役川島 陸

一橋大学経済学部卒業後、フォーティエンスコンサルティング株式会社(旧 株式会社クニエ)にて法人向けAI導入支援等を経験。独立後、AI系メディア運営やDify/n8nの導入支援を経て、株式会社Nexaを創業。法人向けAI研修・AI導入支援・AI関連メディア運営を手掛ける。

gogcliを使えば、Google Driveへのファイルアップロードから、フォルダへのファイルまとめ、共有設定までをターミナル1行で実行できます。

「毎回ブラウザを開いてGoogleドライブを操作するのが面倒」「大量のファイルを決まったフォルダに自動格納したい」——そうした課題は、gogcliのDriveコマンドで解決できます。

この記事では、gogcliのGoogle Drive関連コマンドをすべて解説し、実際のファイル自動格納事例も紹介します。インストール・認証の設定から、フォルダ作成・アップロード・共有リンク発行・ダウンロードまで、すぐに実践できる手順をまとめました。

gogcliのGoogle Drive操作とは — なぜCLIで操作するのか

gogcliは、Google Workspace(Gmail・Calendar・Drive・Contacts・Sheets・Docs等)をターミナルから操作できるCLIツールです。公式サイト(gogcli.sh)で公開されており、gog コマンド1つでGoogle の各サービスにアクセスできます。

ブラウザのGUIでGoogle Driveを操作する場合、毎回ログイン・画面遷移が必要で、繰り返し作業には不向きです。一方、CLIであれば次のメリットがあります。

比較軸 ブラウザGUI gogcli(CLI)
操作の再現性 手動操作のため毎回同じ手順が必要 コマンドをスクリプト化して再現可能
バッチ処理 大量ファイルには向かない ループでファイルを一括処理できる
Claude Code連携 連携不可 Claude Codeからのシェル実行で完全自動化
習得コスト 低い(直感的) コマンドを覚える必要があるが汎用性が高い

CLIならではのメリット(自動化・バッチ処理)

gogcliを使うことで、Google Driveの操作をシェルスクリプトやClaude Codeのタスクとして記述できます。たとえば「週次の作業報告書を特定フォルダに自動格納する」「チームに共有するファイルの共有リンクをまとめて発行する」といった繰り返し作業を、一度設定すれば自動実行させることができます。

gogcliがサポートするDriveコマンド一覧

コマンド 機能
gog drive ls フォルダ内のファイル・フォルダ一覧を表示
gog drive search キーワードでDrive内を検索
gog drive mkdir フォルダを新規作成
gog drive upload ローカルファイルをDriveにアップロード
gog drive download DriveのファイルをローカルにDL
gog drive share ファイルの共有設定・共有リンク発行

これらをClaude Codeから呼び出すことで、ファイル管理フローを完全自動化できます。

事前準備 — gogcliのインストールと認証設定

gogcliのインストール(Homebrew / 手動)

Homebrewを使っている場合はコマンド1つでインストールできます。

brew install openclaw/tap/gogcli

インストール後、gog --version でバージョンを確認してください。手動でインストールする場合は、公式サイト(gogcli.sh)のダウンロードページを参照してください。

なお、環境によって gog のパスが /opt/homebrew/bin/gog または ~/.local/bin/gog になる場合があります。which gog で確認してください。

OAuthクライアントの認証情報を登録する(初回のみ)

gog auth add を実行する前に、Google CloudプロジェクトでOAuthクライアント(デスクトップアプリ)を作成し、ダウンロードしたJSONファイルをgogcliに登録しておく必要があります。

gog auth credentials set ~/Downloads/client_secret_*.json

この手順を済ませておかないと、次の gog auth add が認証情報を見つけられず失敗します。Google Cloud側の手順(APIの有効化・OAuth同意画面の設定)は公式のクイックスタートを参照してください。

gog auth add でDriveを有効化する

gogcliはOAuth認証でGoogleアカウントに接続します。以下のコマンドでDriveサービスを有効化します。

gog auth add あなたのアカウント@gmail.com --services drive

実行するとブラウザが開き、Googleアカウントへのアクセス許可を求めるページが表示されます。許可すると認証が完了します。

認証済みアカウントの一覧とトークンの有効性は次のコマンドで確認できます。

gog auth list --check --account=あなたのアカウント@gmail.com

対象アカウントが一覧に表示され、トークンの検証がエラーなく完了すれば認証は正常です。なお gog auth services はCLIがサポートしているサービスの一覧を表示するコマンドで、個別アカウントの認証状態(Driveが有効かどうか)は確認できません。

認証が切れたときの再認証手順

しばらく使っていないとOAuthトークンが失効する場合があります。Drive操作でエラーが出たときは、まず再認証を試みてください。

macOSの場合、Keychainがロックされているとgogcliの認証操作が失敗することがあります。ターミナルで以下を実行してKeychainをアンロックしてから再認証してください。

# Keychainをアンロック(macOSログインパスワードを入力)
security unlock-keychain ~/Library/Keychains/login.keychain-db

# Driveの再認証
gog auth add あなたのアカウント@gmail.com --services drive

ブラウザでGoogleアカウントを認証すれば再び使用できるようになります。

ファイルを検索する — gog drive search / ls

gog drive search でキーワード検索

Drive内のファイルをキーワードで検索します。

# ファイル名に「報告書」が含まれるファイルを検索
gog drive search "報告書" --account=あなたのアカウント@gmail.com

# JSON形式で出力(IDを取得したいとき)
gog drive search "報告書" --account=あなたのアカウント@gmail.com --json

検索結果にはファイルID・ファイル名・MIMEタイプ・更新日が表示されます。ファイルIDは、アップロード先の --parent 指定や gog drive download で使用します。

gog drive ls でフォルダ内一覧表示

# マイドライブの直下一覧
gog drive ls --account=あなたのアカウント@gmail.com

# 最大件数を指定
gog drive ls --max 20 --account=あなたのアカウント@gmail.com

–parent オプションで特定フォルダの中身を確認

フォルダIDを指定して、そのフォルダ内のファイル一覧を表示します。

gog drive ls --parent=[フォルダID] --account=あなたのアカウント@gmail.com

フォルダIDはDriveのURLから取得できます。https://drive.google.com/drive/folders/XXXX の XXXX がフォルダIDです。

ポイントファイルIDやフォルダIDを頻繁に使う場合は、シェル変数に格納しておくと管理しやすくなります。FOLDER_ID="1vt2eM0zZq_1SH8db69tsopZndFFWwDhv" のように変数化しておくことで、コマンドの可読性が上がります。

フォルダを作成する — gog drive mkdir

gog drive mkdir の基本構文

Drive上に新しいフォルダを作成します。

gog drive mkdir "フォルダ名" --account=あなたのアカウント@gmail.com

親フォルダIDを指定してサブフォルダを作成

特定フォルダの中にサブフォルダを作成する場合は --parent オプションを使います。

gog drive mkdir "2026年_月次報告" \
  --parent=[親フォルダのID] \
  --account=あなたのアカウント@gmail.com \
  --json

--json オプションを付けると、作成されたフォルダのIDが返ってきます。このIDを次のアップロードで使用します。

実際の活用事例: あるメディアサイトでは、コンテンツカテゴリに対応した5つのフォルダ(Dify・claudecode・n8n・その他・インタビュー)を、以下のようなシェルスクリプトで一括作成しました。

# カテゴリフォルダを一括作成
PARENT_FOLDER_ID="1vt2eM0zZq_1SH8db69tsopZndFFWwDhv"

for category in "Dify" "claudecode" "n8n" "その他" "インタビュー"; do
  gog drive mkdir "$category" \
    --parent="$PARENT_FOLDER_ID" \
    --account=あなたのアカウント@gmail.com \
    --json
done

これを実行することで、Google Drive上に5つのサブフォルダが数秒で作成できました。


Claude Codeの導入や活用方法について、個別にご相談いただけます。「gogcliのセットアップ方法がわからない」「自社のファイル管理フローを自動化したい」といった段階から対応しています。

法人様のAI導入に関するご相談はこちら|まずはお困りごとをプロに相談


ファイルをアップロードする — gog drive upload

gog drive upload の基本構文

ローカルのファイルをGoogle Driveにアップロードします。

gog drive upload ./レポート.pdf --account=あなたのアカウント@gmail.com

デフォルトではマイドライブの直下にアップロードされます。

–parent でフォルダ指定アップロード

特定のフォルダにアップロードしたい場合は --parent でフォルダIDを指定します。

gog drive upload ./レポート.pdf \
  --parent=[フォルダID] \
  --account=あなたのアカウント@gmail.com

複数ファイルをループでアップロードする方法

gog drive upload は現時点でフォルダ丸ごとのアップロードオプションを持っていません。フォルダ内のファイルをまとめてアップロードしたい場合は、シェルのループを使います。

FOLDER_ID="フォルダのID"
SOURCE_DIR="/Users/yourname/Documents/reports"

for f in "$SOURCE_DIR"/*; do
  echo "Uploading: $(basename "$f")"
  gog drive upload "$f" \
    --parent="$FOLDER_ID" \
    --account=あなたのアカウント@gmail.com
done

フォルダごとアップロードする場合の代替アプローチ

フォルダ構造ごとアップロードしたい場合は、①Drive上でフォルダを gog drive mkdir で作成 → ②各フォルダのIDを取得 → ③各フォルダIDに対応するファイルをアップロード、という3ステップで対応できます。

実際の活用事例(92ファイル一括移行)

あるメディアサイトでは、92本分のPDFファイルを5カテゴリに分類してGoogle Driveの共有フォルダに格納する作業がありました。手動でアップロードすると数十分かかる作業ですが、gogcliと以下のシェルスクリプトを使うことで数分で完了しました。

# カテゴリとフォルダIDの対応表(mkdir実行後に取得したID)
declare -A FOLDER_IDS=(
  ["Dify"]="1jJQVCKK2oQfpJiwoAn0MlS1q070D28kD"
  ["claudecode"]="1h21VTIeWLDFeZ8DwltkTlU3bsneIVn76"
  ["n8n"]="187Ufy7NzDEHq4W6xCSQXmnqoA9TTS4hh"
  ["その他"]="1il7rWoaopJQUF7cVa3iCszvg2YsO181D"
  ["インタビュー"]="1Vl0iiDT523id5sObqzMAq2qxy9ScpGN4"
)

BASE_DIR="/Users/your-username/Desktop/作業フォルダ/published_92"

for category in "Dify" "claudecode" "n8n" "その他" "インタビュー"; do
  FOLDER_ID="${FOLDER_IDS[$category]}"
  echo "=== $category のファイルをアップロード中 ==="
  for f in "$BASE_DIR/$category"/*; do
    echo "  - $(basename "$f")"
    gog drive upload "$f" \
      --parent="$FOLDER_ID" \
      --account=あなたのアカウント@gmail.com
  done
done

echo "完了: 全ファイルのアップロードが終わりました"

このスクリプトをClaude Codeに指示して実行させることで、92ファイルの一括移行を自動化することができました。

ファイルを共有する — gog drive share

共有リンクを生成する(閲覧/編集)

ファイルに共有リンクを付与します。まず gog drive search でファイルIDを取得してから実行します。

# 閲覧可能な共有リンクを生成(reader権限)
gog drive share [ファイルID] \
  --role=reader \
  --to=anyone \
  --account=あなたのアカウント@gmail.com

--to=anyone を指定するとリンクを知っている誰でもアクセス可能になります。社内限定にしたい場合は --to=domain --domain=[あなたの組織のドメイン] を使用してください。

特定のメールアドレスに権限を付与する

特定のユーザーのみに閲覧・編集権限を付与する場合は次のように指定します。

# 特定ユーザーに編集権限(writer)を付与
gog drive share [ファイルID] \
  --role=writer \
  --to=user \
  --email=colleague@example.com \
  --account=あなたのアカウント@gmail.com

権限の種類(reader/commenter/writer)の使い分け

権限(role) 内容
reader 閲覧のみ(--role省略時のデフォルト)
commenter 閲覧 + コメント
writer 編集可能

社外向けに資料を共有する場合は reader、社内チームに編集権限を与える場合は writer が一般的な使い分けです。--roleで指定できるのはこの3種類で、所有者(owner)の移譲はgog drive shareでは行えません。

ファイルをダウンロードする — gog drive download

ファイルIDを取得してダウンロード

gog drive search で取得したファイルIDを指定してダウンロードします。

gog drive download [ファイルID] --account=あなたのアカウント@gmail.com

保存先を指定しない場合はgogcliの設定ディレクトリ配下に保存されます。保存先を指定する場合は --output オプションでファイルパスを指定します(既存ファイルを上書きしたい場合は --overwrite も付けます)。

gog drive download [ファイルID] \
  --output=/Users/yourname/Downloads/report.pdf \
  --overwrite \
  --account=あなたのアカウント@gmail.com

検索結果から直接ダウンロードするワンライナー

ファイル名がわかっている場合は、searchとdownloadを組み合わせたワンライナーで直接取得できます。

# "最終報告書"というファイルを検索してIDを取得→ダウンロード
FILE_ID=$(gog drive search "最終報告書" --json --account=あなたのアカウント@gmail.com \
  | python3 -c "import sys,json; print(json.load(sys.stdin)[0]['id'])")
gog drive download "$FILE_ID" --account=あなたのアカウント@gmail.com

このようなコマンドをClaude Codeに組み立てさせることで、ファイル名を指定するだけでダウンロードまで自動化できます。

よくある質問

Q. gogcliのgog drive uploadでフォルダごとアップロードできますか?

現時点では、gog drive upload コマンドにフォルダ丸ごとのアップロードオプションはありません。フォルダ内のファイルを一括アップロードしたい場合は、シェルのループ処理(for f in フォルダ/*; do gog drive upload ...)を使ってください。フォルダ構造を再現したい場合は、先に gog drive mkdir でフォルダを作成し、各フォルダIDに対してファイルをアップロードする方法が効果的です。

Q. アップロードしたファイルのIDを確認する方法は?

--json オプションを付けると出力がJSON形式になり、アップロード結果にファイルIDが含まれます。また、アップロード後に gog drive search でファイル名を検索してIDを確認することもできます。

Q. 認証が切れたときはどうすればよいですか?

macOSの場合は、まず security unlock-keychain ~/Library/Keychains/login.keychain-db でKeychainをアンロックし、その後 gog auth add [アカウント] --services drive で再認証してください。ブラウザが開いてGoogleの認証ページが表示されるので、許可を行えば復旧できます。

Q. 大量ファイルをアップロードするときに注意することは?

Google Drive APIには、プロジェクト単位・ユーザー単位で1分あたりのクエリ数に上限(クォータ)があります。正確な上限値はGoogle Cloud Consoleの「APIとサービス」→「割り当て」で確認できます。大量ファイルを一括アップロード・共有する場合は、ループの中に sleep 0.5 等の待機処理を挟み、エラーが出た場合はリトライすることを推奨します。

Q. 複数のGoogleアカウントを使い分ける方法は?

各コマンドに --account= でアカウントを指定するか、環境変数 GOG_ACCOUNT にデフォルトアカウントを設定することで使い分けられます。

export GOG_ACCOUNT=work@example.com

\ AI活用の「次の一手」を一緒に考えませんか /

AI顧問の無料相談はこちら

まとめ

gogcliのgog driveコマンドを使えば、Google Driveのファイル管理をCLIから自動化できます。本記事で解説した内容を振り返ります。

  • 検索: gog drive search / gog drive ls でファイル・フォルダを一覧・検索
  • フォルダ作成: gog drive mkdir --parent でサブフォルダを指定フォルダ内に作成
  • アップロード: gog drive upload --parent で特定フォルダへのファイル格納。複数ファイルはループ処理で対応
  • 共有: gog drive share --role で閲覧・編集権限の付与と共有リンク発行
  • ダウンロード: gog drive download でファイルIDを指定してローカルに保存

Claude Codeと組み合わせると、「指定フォルダにあるファイルを分類してDriveに格納して共有リンクを発行して」という指示1つで、フォルダ作成・アップロード・共有設定まで一連の作業を自動化できます。

さらに深く活用する方法は、gogcli入門ガイドやClaude Code × Google Drive自動化の記事も参考にしてください。

Claude Codeの導入・活用をサポートします

株式会社Nexaでは、Claude Codeを含む生成AIの導入・活用を支援するAI顧問・受託開発を提供しています。gogcliを使ったGoogle Workspace自動化の設定方法など、詳しい活用方法は無料相談でお伝えしています。「何から始めればいいかわからない」という段階からご支援いたします。

法人様のAI導入に関するご相談はこちら|まずはお困りごとをプロに相談 →


法人向けAI導入・活用の月額伴走サービス

AI導入の疑問を、週1回のMTGで相談できる「AI顧問」

株式会社Nexaでは、ChatGPT・Claude・Claude CodeなどのAI導入に関する質問や、社内活用・業務自動化の進め方を週1回相談できる 月額7万円(毎月3社限定で月額5万円)のAI顧問サービス を提供しています。

「自社では何から始めるべきか」「この業務はAI化できるか」「どのツールを選ぶべきか」を、無料相談で整理します。

AI顧問の無料相談はこちら →





AI導入を検討中の方へ

AIの力で、ビジネスを次のステージへ

まずはお気軽にご相談ください。貴社に最適なAI活用プランをご提案します。