google-drive-automation について
google-drive-automationは、ComposioのGoogle DriveツールキットとRube MCPを使ってGoogle Driveの作業を自動化するスキルです。ファイル転送・検索、フォルダー整理、共有権限の管理と接続設定を扱います。
主な機能
- 01ファイルのアップロードとダウンロード
- 02Drive内の検索と一覧表示
- 03フォルダーの作成とファイル移動
- 04共有権限の管理
- 05ファイル情報と共有ドライブの確認
活用シーン
- 01Drive内のファイル検索とダウンロード
- 02ファイルのアップロードやフォルダー整理
- 03ファイル共有とアクセス権の変更
- 04共有ドライブやファイル詳細の確認
MCP 対応
このスキルは`https://rube.app/mcp`のRube MCPとComposioのGoogle Driveツールキットを使用します。MCPクライアントは最新のツールスキーマを取得し、有効なGoogle Drive接続を確立してからワークフローを実行します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ davepoon/ buildwithclaude --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 キーは不要です。エンドポイントを追加するだけで使用できます。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能であることを確かめます- ツールキット
googledriveを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が ACTIVE でない場合は、返された認証リンクにアクセスして Google OAuth を完了します
- ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します
主なワークフロー
1. ファイルのアップロードとダウンロード
使用する場面:Google Drive にファイルをアップロードする、または Google Drive からファイルをダウンロードする場合
ツールの実行順序:
GOOGLEDRIVE_FIND_FILE- アップロード先のフォルダーを検索します[前提]GOOGLEDRIVE_UPLOAD_FILE- ファイルをアップロードします(最大 5MB)[必須]GOOGLEDRIVE_RESUMABLE_UPLOAD- 大きなファイルをアップロードします[代替]GOOGLEDRIVE_DOWNLOAD_FILE- ID を指定してファイルをダウンロードします[必須]GOOGLEDRIVE_DOWNLOAD_FILE_OPERATION- 長時間実行されるダウンロードを追跡します[代替]GOOGLEDRIVE_GET_FILE_METADATA- アップロード/ダウンロード後にファイルを確認します[任意]
主なパラメーター:
file_to_upload:name、mimetype、s3keyを含むオブジェクト(ファイルは内部ストレージに保存されている必要があります)folder_to_upload_to:アップロード先のフォルダー ID(省略可。省略するとルートにアップロードされます)file_id:ダウンロードするファイルの IDmime_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 のコンテンツを閲覧する場合
ツールの実行順序:
GOOGLEDRIVE_FIND_FILE- 名前、内容、種類、日付、フォルダーで検索します[必須]GOOGLEDRIVE_LIST_FILES- フォルダーを指定してファイルを閲覧します[代替]GOOGLEDRIVE_LIST_SHARED_DRIVES- 共有ドライブの一覧を取得します[任意]GOOGLEDRIVE_GET_FILE_METADATA- ファイルの詳細情報を取得します[任意]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. ファイルの共有と権限の管理
使用する場面:ユーザーがファイルの共有またはアクセス権限の管理を希望している場合
ツールの順序:
GOOGLEDRIVE_FIND_FILE- 共有するファイルを特定します[前提条件]GOOGLEDRIVE_ADD_FILE_SHARING_PREFERENCE- 共有権限を設定します[必須]GOOGLEDRIVE_LIST_PERMISSIONS- 現在の権限を確認します[任意]GOOGLEDRIVE_GET_PERMISSION- 特定の権限を調べます[任意]GOOGLEDRIVE_UPDATE_PERMISSION- 既存の権限を変更します[任意]GOOGLEDRIVE_DELETE_PERMISSION- アクセス権を取り消します[任意]
主なパラメーター:
file_id:共有するファイルの IDtype:'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. フォルダーの作成と整理
使用する場面:ユーザーがフォルダー構造の作成、またはフォルダー間でのファイル移動を希望している場合
ツールの順序:
GOOGLEDRIVE_FIND_FILE- フォルダーがすでに存在するか確認します[前提条件]GOOGLEDRIVE_CREATE_FOLDER- 新しいフォルダーを作成します[必須]GOOGLEDRIVE_GET_FILE_METADATA- 作成したフォルダーを確認します[任意]GOOGLEDRIVE_MOVE_FILE- フォルダー間でファイルを移動します[任意]GOOGLEDRIVE_UPDATE_FILE_PUT- ファイルのメタデータや親フォルダーを更新します[代替手段]
主なパラメーター:
name:フォルダー名parent_id:親フォルダーの ID(名前ではありません)。ルートの場合は省略しますfile_id:移動するファイルadd_parents:移動先フォルダーの IDremove_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_FILE | q、corpora、pageSize |
| ファイルを一覧表示 | GOOGLEDRIVE_LIST_FILES | folderId、q、orderBy |
| ファイルをアップロード | GOOGLEDRIVE_UPLOAD_FILE | file_to_upload、folder_to_upload_to |
| 再開可能なアップロード | GOOGLEDRIVE_RESUMABLE_UPLOAD | ファイルデータ |
| ファイルをダウンロード | GOOGLEDRIVE_DOWNLOAD_FILE | file_id、mime_type(Workspace のみ) |
| ファイルのメタデータ | GOOGLEDRIVE_GET_FILE_METADATA | fileId、fields |
| フォルダーを作成 | GOOGLEDRIVE_CREATE_FOLDER | name、parent_id |
| ファイルを移動 | GOOGLEDRIVE_MOVE_FILE | file_id、add_parents、remove_parents |
| ファイルを共有 | GOOGLEDRIVE_ADD_FILE_SHARING_PREFERENCE | file_id、role、type、email_address |
| 権限を一覧表示 | GOOGLEDRIVE_LIST_PERMISSIONS | fileId |
| 権限を更新 | GOOGLEDRIVE_UPDATE_PERMISSION | file_id、permission_id |
| 権限を削除 | GOOGLEDRIVE_DELETE_PERMISSION | file_id、permission_id |
| 共有ドライブを一覧表示 | GOOGLEDRIVE_LIST_SHARED_DRIVES | pageSize |
| ドライブ情報 | GOOGLEDRIVE_GET_ABOUT | (なし) |
| ショートカットを作成 | GOOGLEDRIVE_CREATE_SHORTCUT_TO_FILE | 対象の file_id |
Composio 提供