Dropbox Business
Dropbox Business API 与托管 OAuth 集成。管理 Dropbox Business 团队的团队成员、群组、团队文件夹、设备和审核日志。 当用户想要管理 Dropbox Business 团队、管理成员、创建群组、处理团队文件夹或访问审核日志时,请使用此技能。 对于其他第三方应用程序,请使用 api-gateway 技能 (https://clawhub.ai/byungkyu/api-gateway)。 需要网络访问和有效的 Maton API 密钥。
安装 / 下载方式
TotalClaw CLI推荐
totalclaw install totalclaw:byungkyu~dropbox-businesscURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Abyungkyu~dropbox-business/file -o dropbox-business.mdGit 仓库获取源码
git clone https://github.com/openclaw/skills/commit/af4ecbda608afc6c6fadc00117376c0cf91d033a## 概述(中文)
Dropbox Business API 与托管 OAuth 集成。管理 Dropbox Business 团队的团队成员、群组、团队文件夹、设备和审核日志。
当用户想要管理 Dropbox Business 团队、管理成员、创建群组、处理团队文件夹或访问审核日志时,请使用此技能。
对于其他第三方应用程序,请使用 api-gateway 技能 (https://clawhub.ai/byungkyu/api-gateway)。
需要网络访问和有效的 Maton API 密钥。
## 原文
# Dropbox Business
Access the Dropbox Business API with managed OAuth authentication. Manage team administration including members, groups, team folders, devices, linked apps, and audit logs.
## Quick Start
```bash
# Get team info
python3 <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/dropbox-business/2/team/get_info', data=b'null', method='POST')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Content-Type', 'application/json')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
```
## Base URL
```
https://gateway.maton.ai/dropbox-business/2/{endpoint-path}
```
Replace `{endpoint-path}` with the actual Dropbox Business API endpoint path. The gateway proxies requests to `api.dropboxapi.com` and automatically injects your OAuth token.
**IMPORTANT:** Dropbox Business API uses **POST** for almost all endpoints, including read operations. Request bodies should be JSON (use `null` for endpoints with no parameters).
## Authentication
All requests require the Maton API key in the Authorization header:
```
Authorization: Bearer $MATON_API_KEY
```
**Environment Variable:** Set your API key as `MATON_API_KEY`:
```bash
export MATON_API_KEY="YOUR_API_KEY"
```
### Getting Your API Key
1. Sign in or create an account at [maton.ai](https://maton.ai)
2. Go to [maton.ai/settings](https://maton.ai/settings)
3. Copy your API key
## Connection Management
Manage your Dropbox Business OAuth connections at `https://ctrl.maton.ai`.
### List Connections
```bash
python3 <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections?app=dropbox-business&status=ACTIVE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
```
### Create Connection
```bash
python3 <<'EOF'
import urllib.request, os, json
data = json.dumps({'app': 'dropbox-business'}).encode()
req = urllib.request.Request('https://ctrl.maton.ai/connections', data=data, method='POST')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Content-Type', 'application/json')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
```
**Response:**
```json
{
"connection_id": "09062f57-98a9-49f2-9e63-b2a7e03a9d7a",
"status": "PENDING",
"url": "https://connect.maton.ai/?session_token=...",
"app": "dropbox-business"
}
```
Open the returned `url` in a browser to complete OAuth authorization.
### Delete Connection
```bash
python3 <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}', method='DELETE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
urllib.request.urlopen(req)
print("Deleted")
EOF
```
### Specifying Connection
If you have multiple Dropbox Business connections, specify which one to use with the `Maton-Connection` header:
```python
req.add_header('Maton-Connection', '{connection_id}')
```
If omitted, the gateway uses the default (oldest) active connection.
## API Reference
### Team Information
#### Get Team Info
Retrieves information about the team including license usage and policies.
```bash
POST /dropbox-business/2/team/get_info
Content-Type: application/json
null
```
**Response:**
```json
{
"name": "My Company",
"team_id": "dbtid:AAC...",
"num_licensed_users": 10,
"num_provisioned_users": 5,
"num_used_licenses": 5,
"policies": {
"sharing": {...},
"emm_state": {".tag": "disabled"},
"office_addin": {".tag": "enabled"}
}
}
```
#### Get Team Features
Query team feature availability.
```bash
POST /dropbox-business/2/team/features/get_values
Content-Type: application/json
{
"features": [
{".tag": "upload_api_rate_limit"},
{".tag": "has_team_shared_dropbox"},
{".tag": "has_team_file_events"},
{".tag": "has_team_selective_sync"}
]
}
```
**Response:**
```json
{
"values": [
{".tag": "upload_api_rate_limit", "upload_api_rate_limit": {".tag": "limit", "limit": 1000000000}},
{".tag": "has_team_shared_dropbox", "has_team_shared_dropbox": {".tag": "has_team_shared_dropbox", "has_team_shared_dropbox": false}},
{".tag": "has_team_file_events", "has_team_file_events": {".tag": "enabled", "enabled": true}},
{".tag": "has_team_selective_sync", "has_team_selective_sync": {".tag": "has_team_selective_sync", "has_team_selective_sync": true}}
]
}
```
#### Get Authenticated Admin
Get info about the currently authenticated admin.
```bash
POST /dropbox-business/2/team/token/get_authenticated_admin
Content-Type: application/json
null
```
**Response:**
```json
{
"admin_profile": {
"team_member_id": "dbmid:AAA...",
"account_id": "dbid:AAC...",
"email": "admin@company.com",
"email_verified": true,
"status": {".tag": "active"},
"name": {"given_name": "Admin", "surname": "User", "display_name": "Admin User"},
"membership_type": {".tag": "full"},
"joined_on": "2026-02-15T08:27:35Z"
}
}
```
### Team Members
#### List Members
```bash
POST /dropbox-business/2/team/members/list
Content-Type: application/json
{
"limit": 100
}
```
#### List Members (V2)
Returns members with roles information (recommended).
```bash
POST /dropbox-business/2/team/members/list_v2
Content-Type: application/json
{
"limit": 100,
"include_removed": false
}
```
**Response:**
```json
{
"members": [
{
"profile": {
"team_member_id": "dbmid:AAA...",
"account_id": "dbid:AAC...",
"email": "user@company.com",
"email_verified": true,
"secondary_emails": [],
"status": {".tag": "active"},
"name": {
"given_name": "John",
"surname": "Doe",
"familiar_name": "John",
"display_name": "John Doe",
"abbreviated_name": "JD"
},
"membership_type": {".tag": "full"},
"joined_on": "2026-01-15T10:00:00Z",
"groups": ["g:1d31f47b..."],
"member_folder_id": "13646219987",
"root_folder_id": "13650024947"
},
"roles": [
{
"role_id": "pid_dbtmr:...",
"name": "Team",
"description": "Manage everything and access all permissions"
}
]
}
],
"cursor": "AAQ...",
"has_more": false
}
```
#### Continue Listing Members
```bash
POST /dropbox-business/2/team/members/list/continue
Content-Type: application/json
{
"cursor": "AAQ..."
}
```
#### Get Member Info
```bash
POST /dropbox-business/2/team/members/get_info
Content-Type: application/json
{
"members": [{".tag": "email", "email": "user@company.com"}]
}
```
#### Get Member Info (V2)
Returns member with roles information (recommended).
```bash
POST /dropbox-business/2/team/members/get_info_v2
Content-Type: application/json
{
"members": [{".tag": "email", "email": "user@company.com"}]
}
```
**Response:**
```json
{
"members_info": [
{
".tag": "member_info",
"profile": {
"team_member_id": "dbmid:AAA...",
"email": "user@company.com",
"secondary_emails": [],
"status": {".tag": "active"},
"name": {...},
"groups": ["g:..."]
},
"roles": [
{"role_id": "...", "name": "Team", "description": "..."}
]
}
]
}
```
**Member Selectors:**
- `{".tag": "email", "email": "user@company.com"}`
- `{".tag": "team_member_id", "team_member_id": "dbmid:AAA..."}`
- `{".tag": "external_id", "external_id": "..."}`
#### Add Member
```bash
POST /dropbox-business/2/team/members/add
Content-Type: application/json
{
"new_members": [
{
"mem