mcpField
G
google-drive-automation

google-drive-automation

github.com/composiohq生産性78.3k112 回インストール14 週間前に更新
リポジトリ

google-drive-automation について

Composio のツールキットを通じて Google Drive のファイル、フォルダー、検索、権限を自動化するワークフロースキルです。Rube MCP で接続済みの Google Drive アカウントを管理するユーザー向けです。

主な機能

  1. 01ファイルのアップロードとダウンロード
  2. 02Drive の検索と一覧表示
  3. 03フォルダー作成とファイル移動
  4. 04共有権限の管理

活用シーン

  1. 01名前、種類、日付、フォルダーでファイルを検索
  2. 02Drive ドキュメントをアップロードまたはダウンロード
  3. 03フォルダー構成に沿ってファイルを整理
  4. 04ファイル共有やアクセス権を変更

MCP 対応

Rube MCP 経由で Composio の Google Drive ツールキットを利用します。Rube MCP と有効な Google Drive アカウントを接続し、ワークフロー実行前に最新のツールスキーマを取得します。

インストール

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

$npx skills add https://github.com/composiohq/awesome-claude-skills --skill google-drive-automation

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

詳細

Rube MCP による Google Drive の自動化

Composio の Google Drive ツールキットを通じて、ファイルのアップロード/ダウンロード、検索、フォルダー管理、共有/権限設定、整理など、Google Drive のワークフローを自動化します。

ツールキットのドキュメント:composio.dev/toolkits/googledrive

前提条件

  • Rube MCP が接続されていること(RUBE_SEARCH_TOOLS が利用可能)
  • ツールキット googledrive を指定して RUBE_MANAGE_CONNECTIONS で Google Drive に接続していること
  • 現在のツールスキーマを取得するため、必ず最初に RUBE_SEARCH_TOOLS を呼び出してください

セットアップ

Rube MCP の取得:クライアント設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで使用できます。

  1. RUBE_SEARCH_TOOLS が応答することを確認し、Rube MCP が利用可能であることを確かめます
  2. ツールキット googledrive を指定して RUBE_MANAGE_CONNECTIONS を呼び出します
  3. 接続が ACTIVE でない場合は、返された認証リンクにアクセスして Google OAuth を完了します
  4. ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します

主なワークフロー

1. ファイルのアップロードとダウンロード

使用する場面:Google Drive にファイルをアップロードする、または Google Drive からファイルをダウンロードする場合

ツールの実行順序:

  1. GOOGLEDRIVE_FIND_FILE - アップロード先のフォルダーを検索します[前提]
  2. GOOGLEDRIVE_UPLOAD_FILE - ファイルをアップロードします(最大 5MB)[必須]
  3. GOOGLEDRIVE_RESUMABLE_UPLOAD - 大きなファイルをアップロードします[代替]
  4. GOOGLEDRIVE_DOWNLOAD_FILE - ID を指定してファイルをダウンロードします[必須]
  5. GOOGLEDRIVE_DOWNLOAD_FILE_OPERATION - 長時間実行されるダウンロードを追跡します[代替]
  6. GOOGLEDRIVE_GET_FILE_METADATA - アップロード/ダウンロード後にファイルを確認します[任意]

主なパラメーター:

  • file_to_upload:name、mimetype、s3key を含むオブジェクト(ファイルは内部ストレージに保存されている必要があります)
  • folder_to_upload_to:アップロード先のフォルダー ID(省略可。省略するとルートにアップロードされます)
  • file_id:ダウンロードするファイルの ID
  • mime_type:Google Workspace ファイルのみ対象のエクスポート形式(ネイティブファイルの場合は省略します)

注意点:

  • GOOGLEDRIVE_UPLOAD_FILE には file_to_upload.s3key が必要です。ファイルはあらかじめ内部ストレージに保存されている必要があります
  • Google 形式以外(Excel、PDF)の場合、mime_type を設定しないでください。ネイティブファイルではエラーになります
  • ダウンロードのレスポンスにはインラインのバイトデータではなく、一時 URL data.downloaded_file_content.s3url が含まれます
  • ファイルが 5MB を超える場合、または通常のアップロードに失敗した場合は、GOOGLEDRIVE_RESUMABLE_UPLOAD を使用してください
2. ファイルの検索と一覧表示

使用する場面:特定のファイルを検索する、または Drive のコンテンツを閲覧する場合

ツールの実行順序:

  1. GOOGLEDRIVE_FIND_FILE - 名前、内容、種類、日付、フォルダーで検索します[必須]
  2. GOOGLEDRIVE_LIST_FILES - フォルダーを指定してファイルを閲覧します[代替]
  3. GOOGLEDRIVE_LIST_SHARED_DRIVES - 共有ドライブの一覧を取得します[任意]
  4. GOOGLEDRIVE_GET_FILE_METADATA - ファイルの詳細情報を取得します[任意]
  5. GOOGLEDRIVE_GET_ABOUT - ストレージの容量と対応形式を確認します[任意]

主なパラメーター:

  • q:Drive のクエリー文字列(例:「name contains 'report'」、「mimeType = 'application/pdf'」)
  • corpora:検索範囲('user'、'domain'、'drive'、'allDrives')
  • fields:レスポンスに含めるフィールド(例:'files(id,name,mimeType)')
  • orderBy:並べ替えキー('modifiedTime desc'、'name'、'quotaBytesUsed desc')
  • pageSize:1 ページあたりの結果数(最大 1000)
  • pageToken:nextPageToken から取得するページネーション用カーソル
  • folder_id:特定のフォルダーに検索範囲を限定します

注意点:

  • 共有ドライブに必要な OAuth スコープが不足していると、403 PERMISSION_DENIED が発生します
  • ページネーションが必要です。ファイルは response.data.files に含まれます。結果がなくなるまで nextPageToken をたどってください
  • corpora="domain" で 400 エラーが発生する場合があります。その場合は includeItemsFromAllDrives=true を指定して "allDrives" を試してください
  • クエリーの複雑さには制限があります。OR 条件が 5~10 個を超えると、「The query is too complex」エラーが発生することがあります
  • name ではワイルドカード(*)はサポートされていません。部分一致には contains を使用してください
  • 「My Drive」は名前で検索できません。ルートフォルダーには folder_id='root' を使用してください
  • ユーザーのメールアドレスで検索する場合は '[email protected]' in owners を使用してください(owner:[email protected] は使用しないでください)
3. ファイルの共有と権限の管理

使用する場面:ユーザーがファイルの共有またはアクセス権限の管理を希望している場合

ツールの順序:

  1. GOOGLEDRIVE_FIND_FILE - 共有するファイルを特定します[前提条件]
  2. GOOGLEDRIVE_ADD_FILE_SHARING_PREFERENCE - 共有権限を設定します[必須]
  3. GOOGLEDRIVE_LIST_PERMISSIONS - 現在の権限を確認します[任意]
  4. GOOGLEDRIVE_GET_PERMISSION - 特定の権限を調べます[任意]
  5. GOOGLEDRIVE_UPDATE_PERMISSION - 既存の権限を変更します[任意]
  6. GOOGLEDRIVE_DELETE_PERMISSION - アクセス権を取り消します[任意]

主なパラメーター:

  • file_id:共有するファイルの ID
  • type:'user'、'group'、'domain'、または 'anyone'
  • role:'owner'、'organizer'、'fileOrganizer'、'writer'、'commenter'、'reader'
  • email_address:type='user' または 'group' の場合に必須
  • domain:type='domain' の場合に必須
  • transfer_ownership:role='owner' の場合に必須

注意点:

  • type とメールアドレスの組み合わせが無効な場合、4xx エラーが発生します
  • type='anyone' や強力な権限の使用にはリスクがあるため、ユーザーに明示的な確認を求めてください
  • 組織のポリシーにより特定の共有タイプがブロックされ、403 エラーが発生する場合があります
  • 権限の変更が反映されるまでに時間がかかる場合があります
  • 共有する前に GMAIL_SEARCH_PEOPLE を使って連絡先名からメールアドレスを特定してください
4. フォルダーの作成と整理

使用する場面:ユーザーがフォルダー構造の作成、またはフォルダー間でのファイル移動を希望している場合

ツールの順序:

  1. GOOGLEDRIVE_FIND_FILE - フォルダーがすでに存在するか確認します[前提条件]
  2. GOOGLEDRIVE_CREATE_FOLDER - 新しいフォルダーを作成します[必須]
  3. GOOGLEDRIVE_GET_FILE_METADATA - 作成したフォルダーを確認します[任意]
  4. GOOGLEDRIVE_MOVE_FILE - フォルダー間でファイルを移動します[任意]
  5. GOOGLEDRIVE_UPDATE_FILE_PUT - ファイルのメタデータや親フォルダーを更新します[代替手段]

主なパラメーター:

  • name:フォルダー名
  • parent_id:親フォルダーの ID(名前ではありません)。ルートの場合は省略します
  • file_id:移動するファイル
  • add_parents:移動先フォルダーの ID
  • remove_parents:移動元から削除するフォルダーの ID

注意点:

  • GOOGLEDRIVE_CREATE_FOLDER の parent_id には、フォルダー名ではなく ID が必要です
  • parent_id="root" を指定すると最上位に作成されます。階層化されたパスではフォルダー ID を順に指定してください
  • GOOGLEDRIVE_FIND_FILE は 1 ページあたり約 100 件を返します。容量の大きいドライブでは nextPageToken をたどってください
  • 移動操作後もアイテムが複数の親フォルダーに属したままになる場合があります。実際に移動するには remove_parents を使用してください
  • 子フォルダーを作成する前に、必ず親フォルダーの存在を確認してください

よくあるパターン

ID の解決
  • ファイル/フォルダー名 → ID:q パラメーターを指定して GOOGLEDRIVE_FIND_FILE を使用します
  • ルートフォルダー:folder_id='root' または 'root' in parents を使用します
  • 共有ドライブ → driveId:GOOGLEDRIVE_LIST_SHARED_DRIVES を使用します
  • 連絡先名 → メールアドレス:GMAIL_SEARCH_PEOPLE を使用します(共有の場合)
クエリ構文

Google Drive では専用のクエリ言語を使用します:

  • 名前による検索:"name contains 'report'" または "name = 'exact.pdf'"
  • 種類によるフィルター:"mimeType = 'application/pdf'" または "mimeType = 'application/vnd.google-apps.folder'"
  • フォルダーの指定:"'FOLDER_ID' in parents"
  • 日付によるフィルター:"modifiedTime > '2024-01-01T00:00:00'"
  • and/or/not で組み合わせます:"name contains 'report' and trashed = false"
  • ブール値によるフィルター:"sharedWithMe = true"、"starred = true"、"trashed = false"
ページネーション
  • 結果をすべて取得するには、nextPageToken がなくなるまでたどってください
  • pageSize を明示的に設定してください(デフォルトは 100、最大は 1000)
  • 複数の検索を実行する場合は、結果の重複を排除してください
エクスポート形式

Google Workspace のファイルをエクスポートするには、mime_type を設定します:

  • Docs:application/pdf、text/plain、text/html、application/vnd.openxmlformats-officedocument.wordprocessingml.document
  • Sheets:text/csv、application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • Slides:application/pdf、application/vnd.openxmlformats-officedocument.presentationml.presentation

既知の注意点

  • 内部ストレージが必要:アップロードには、内部の S3 ストレージ(s3key)にファイルが必要です
  • エクスポートとダウンロード:mime_type は Google Workspace ファイルにのみ設定し、ネイティブファイルの場合は省略してください
  • 一時 URL:s3url 経由でダウンロードしたコンテンツは一時的なものです。速やかに取得してください
  • クエリの複雑さ:OR 条件が 5~10 個を超えるとエラーになる場合があります。複雑な検索は複数のクエリに分割してください
  • 共有ドライブのスコープ設定:ドライブの権限がないと結果は空になります。まずアクセス権を確認してください
  • ワイルドカードは使用不可:名前の部分一致には * ではなく contains 演算子を使用してください
  • フォルダー作成の連鎖:parent_id には必ずフォルダー ID(名前ではありません)を渡してください
  • 複数の親:移動操作後、アイテムに複数の親が残る場合があります。remove_parents を使用してください
  • レート制限:大量の検索やエクスポートを行うと 403/429 が発生する場合があります。バックオフを実装してください

クイックリファレンス

タスクツールのスラッグ主なパラメーター
ファイルを検索GOOGLEDRIVE_FIND_FILEq、corpora、pageSize
ファイルを一覧表示GOOGLEDRIVE_LIST_FILESfolderId、q、orderBy
ファイルをアップロードGOOGLEDRIVE_UPLOAD_FILEfile_to_upload、folder_to_upload_to
再開可能なアップロードGOOGLEDRIVE_RESUMABLE_UPLOADファイルデータ
ファイルをダウンロードGOOGLEDRIVE_DOWNLOAD_FILEfile_id、mime_type(Workspace のみ)
ファイルのメタデータGOOGLEDRIVE_GET_FILE_METADATAfileId、fields
フォルダーを作成GOOGLEDRIVE_CREATE_FOLDERname、parent_id
ファイルを移動GOOGLEDRIVE_MOVE_FILEfile_id、add_parents、remove_parents
ファイルを共有GOOGLEDRIVE_ADD_FILE_SHARING_PREFERENCEfile_id、role、type、email_address
権限を一覧表示GOOGLEDRIVE_LIST_PERMISSIONSfileId
権限を更新GOOGLEDRIVE_UPDATE_PERMISSIONfile_id、permission_id
権限を削除GOOGLEDRIVE_DELETE_PERMISSIONfile_id、permission_id
共有ドライブを一覧表示GOOGLEDRIVE_LIST_SHARED_DRIVESpageSize
ドライブ情報GOOGLEDRIVE_GET_ABOUT(なし)
ショートカットを作成GOOGLEDRIVE_CREATE_SHORTCUT_TO_FILE対象の file_id

Composio 提供

コメント