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

gogcli Drive アップロード共有のイメージ画像

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を有効化する

この記事の著者
川島陸

株式会社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 gogcli

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

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

gog auth add でDriveを有効化する

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

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

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

認証済みサービスの確認は次のコマンドで行えます。

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

drive: true と表示されれば有効化完了です。

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

しばらく使っていないと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アカウントを認証すれば再び使用できるようになります。

\ Claude Codeの導入、何から始めればいいかわかります /

法人向けClaude Code個別指導の無料相談はこちら

ファイルを検索する — 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/XXXXXXXX がフォルダ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 \    --jsondone

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


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

法人向けClaude Code個別指導の無料相談はこちら|まずはお困りごとをプロに相談


ファイルをアップロードする — 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.comdone

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

フォルダ構造ごとアップロードしたい場合は、①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/riku/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  donedoneecho "完了: 全ファイルのアップロードが終わりました"

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

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

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

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

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

--type=anyone を指定するとリンクを知っている誰でもアクセス可能になります。社内限定にしたい場合は --type=domain を使用してください。

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

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

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

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

権限(role) 内容
reader 閲覧のみ
commenter 閲覧 + コメント
writer 編集可能
owner 所有者権限(移譲時に使用)

社外向けに資料を共有する場合は reader、社内チームに編集権限を与える場合は writer が一般的な使い分けです。

\ 業務自動化のお悩み、プロが30分で整理します /

法人向けClaude Code個別指導の無料相談はこちら

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

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

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

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

カレントディレクトリにファイルが保存されます。保存先を指定する場合は --output オプションを使います。

gog drive download [ファイルID] \  --output=/Users/yourname/Downloads \  --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日あたりのAPIリクエスト数に上限があります(無料アカウントは1,000件/日)。大量ファイルを一括アップロードする場合は、ループの中に sleep 0.5 等の待機処理を挟むことを推奨します。また、Google Workspaceアカウントを使っている場合は上限が緩和されています。

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

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

export GOG_ACCOUNT=work@example.com

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

法人向けClaude Code個別指導の無料相談はこちら

まとめ

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を活用した業務自動化の個別指導・企業研修を提供しています。gogcliを使ったGoogle Workspace自動化の設定方法など、詳しい活用方法は無料相談でお伝えしています。「何から始めればいいかわからない」という段階からご支援いたします。

法人向けClaude Code個別指導の無料相談はこちら|まずはお困りごとをプロに相談 →




関連記事

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

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

Claude Codeのプロに無料相談 30秒で日程調整完了