google-drive

v2026.09.24

Upload files, create folders, list and search Google Drive via CLI

GitHub
安装命令
npx skhub add aaaaqwq/google-drive
Markdown
SKILL.md

Google Drive

Upload files, create folders, list and search Google Drive via CLI.

When to use

  • Upload proposals, invoices, contracts to client folders
  • Create new client folder structure
  • List or search files in Drive
  • Any Google Drive file management task

Dependencies

  • Other skills: google-auth (if token expired)
  • External: Python 3, google-api-python-client, google-auth

Paths

WhatPath
Script$GOOGLE_TOOLS_PATH/drive_manager.py
Token$GOOGLE_TOOLS_PATH/token.json
Credentials$GOOGLE_TOOLS_PATH/credentials.json
Venv Python$GOOGLE_TOOLS_PATH/.venv/bin/python3

Known Folder IDs

FolderID
Root (WeLabelData)<YOUR_DRIVE_ROOT_ID>
Clients<YOUR_CLIENTS_FOLDER_ID>
Templates<YOUR_TEMPLATES_FOLDER_ID>

How to execute

List folder contents

cd $GOOGLE_TOOLS_PATH && python3 drive_manager.py list FOLDER_ID

Create a folder

cd $GOOGLE_TOOLS_PATH && python3 drive_manager.py create-folder "Folder Name" --parent FOLDER_ID

Upload a file

cd $GOOGLE_TOOLS_PATH && python3 drive_manager.py upload /path/to/file.pdf --folder FOLDER_ID
cd $GOOGLE_TOOLS_PATH && python3 drive_manager.py upload /path/to/file.pdf --folder FOLDER_ID --name "Custom Name.pdf"

Search by name

cd $GOOGLE_TOOLS_PATH && python3 drive_manager.py search "query"
cd $GOOGLE_TOOLS_PATH && python3 drive_manager.py search "query" --folder FOLDER_ID

Share file/folder

cd $GOOGLE_TOOLS_PATH && ./.venv/bin/python3 drive_manager.py share FILE_ID --email user@example.com --role writer
cd $GOOGLE_TOOLS_PATH && ./.venv/bin/python3 drive_manager.py share FILE_ID --email user@example.com --role reader --notify --message "Please review"

Check permissions

cd $GOOGLE_TOOLS_PATH && ./.venv/bin/python3 drive_manager.py permissions FILE_ID

Create Google Doc

cd $GOOGLE_TOOLS_PATH && ./.venv/bin/python3 drive_manager.py create-doc "Title" --folder FOLDER_ID
cd $GOOGLE_TOOLS_PATH && ./.venv/bin/python3 drive_manager.py create-doc "Title" --folder FOLDER_ID --html /path/to/content.html

File info (modified time, last editor)

cd $GOOGLE_TOOLS_PATH && ./.venv/bin/python3 drive_manager.py info FILE_ID

Parameters

ParameterDescriptionDefault
folder_idFolder ID for list commandrequired
--parentParent folder ID for create-folderroot
--folderTarget folder ID for upload / search / create-docnone
--nameCustom filename for uploadoriginal filename
--emailEmail to share with (share command)required
--rolePermission role: reader, writer, commenterwriter
--notifySend email notification when sharingfalse
--messageCustom notification messagenone
--htmlPath to HTML file for doc content (create-doc)empty doc

Examples

List all client folders

cd $GOOGLE_TOOLS_PATH && python3 drive_manager.py list <YOUR_CLIENTS_FOLDER_ID>

Create a new client folder

cd $GOOGLE_TOOLS_PATH && python3 drive_manager.py create-folder "Acme Corp" --parent <YOUR_CLIENTS_FOLDER_ID>

Upload invoice to client folder

cd $GOOGLE_TOOLS_PATH && python3 drive_manager.py upload ~/invoices/inv-100.pdf --folder CLIENT_FOLDER_ID --name "Invoice #100.pdf"

Search for proposals

cd $GOOGLE_TOOLS_PATH && python3 drive_manager.py search "proposal" --folder <YOUR_CLIENTS_FOLDER_ID>

Output Format

All commands output JSON array. Each entry has:

  • id — Google Drive file ID
  • name — file/folder name
  • mimeType — MIME type (application/vnd.google-apps.folder for folders)
  • webViewLink — direct link to open in browser

Limitations

  • Scopes: uses drive.readonly (list/search) + drive.file (create/upload/share). Cannot modify files not created by this app.
  • Upload: single file at a time. For bulk uploads, loop in bash.
  • Search: name-based only. Use Google Drive web UI for full-text content search.
  • Sharing: can only share files created by this app (drive.file scope). Cannot share files created elsewhere.
  • Create-doc: uses Drive API upload with HTML conversion (no Docs API needed). Formatting via HTML.

Troubleshooting

ProblemSolution
token.json expiredRun google-auth skill to refresh
403 insufficient permissionsCheck scopes in google_scopes.py, may need to re-auth
File not found on uploadUse absolute path or ~ expansion
Empty list resultVerify folder ID is correct, check trashed status

Related skills

  • google-auth — OAuth token management
  • invoice-generator-agent — generates invoices that can be uploaded here
发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

MIT

源路径

skills/google-drive

默认分支

main

最新提交

b996aac

Tree SHA

07e787b