Loading...
Loading...
Create, read, list, search, and manage Tencent Docs (腾讯文档) — online documents, sheets, slides, mind maps, flowcharts, smart tables, and forms — via the Tencent Docs Open API. Use when the user mentions 腾讯文档 / Tencent Docs / docs.qq.com, a docs.qq.com link, or wants to create / read / organize a doc, sheet, slide, mind map, or flowchart in their Tencent Docs space.
npx skill4agent add acedatacloud/skills tencent-docscurl + jqtencentdocsTENCENTDOCS_ACCESS_TOKENAccess-TokenTENCENTDOCS_CLIENT_IDClient-IdTENCENTDOCS_OPEN_IDOpen-Idhttps://docs.qq.com/openapiAUTH=(-H "Access-Token: $TENCENTDOCS_ACCESS_TOKEN" \
-H "Client-Id: $TENCENTDOCS_CLIENT_ID" \
-H "Open-Id: $TENCENTDOCS_OPEN_ID")TENCENTDOCS_ACCESS_TOKEN{"ret": 0, "msg": "Succeed", "data": {…}}ret == 0retmsgresp=$(curl -sS "${AUTH[@]}" … )
echo "$resp" | jq 'if .ret == 0 then .data else error("Tencent Docs \(.ret): \(.msg)") end'| code | meaning | what to do |
|---|---|---|
| access token invalid / expired | tell the user to reconnect 腾讯文档 at https://auth.acedata.cloud/user/connections — do not loop-retry |
| VIP (超级会员) privilege required | the requested capability needs a Tencent Docs 超级会员; tell the user, link https://docs.qq.com/vip |
| 积分 (credits) insufficient | AI-generation quota is exhausted; tell the user to top up |
| bad request params | recheck |
type| type | Product | Notes |
|---|---|---|
| 在线文档 (Word-style) | classic rich-text document |
| 在线表格 (Excel) | data tables |
| 幻灯片 (PPT) | presentations |
| 思维导图 | mind map |
| 流程图 | flowchart |
| 智能表格 | structured multi-view table |
| 收集表 | form / survey |
curl -sS "${AUTH[@]}" "https://docs.qq.com/openapi/drive/v2/util/resource-use" \
| jq 'if .ret == 0 then .data else "ERR \(.ret): \(.msg)" end'400006/curl -sS "${AUTH[@]}" \
"https://docs.qq.com/openapi/drive/v2/folders/%2F?listType=folder&sortType=browse&asc=0" \
| jq 'if .ret == 0 then [.data.list[]? | {ID, title, type, url}] else . end'%2Fcurl -sS -G "${AUTH[@]}" \
"https://docs.qq.com/openapi/drive/v2/search" \
--data-urlencode "searchName=Q1 预算" \
| jq 'if .ret == 0 then [.data.list[]? | {ID, title, type, url}] else . end'fileIDhttps://docs.qq.com/doc/<id>/sheet//slide/curl -sS "${AUTH[@]}" \
"https://docs.qq.com/openapi/drive/v2/files/FILE_ID/metadata" \
| jq 'if .ret == 0 then .data else . end'curl -sS "${AUTH[@]}" \
"https://docs.qq.com/openapi/document/v3/files/FILE_ID/export?exportType=text" \
| jq 'if .ret == 0 then .data else . end'sheetIdA1:D10curl -sS "${AUTH[@]}" \
"https://docs.qq.com/openapi/spreadsheet/v2/files/FILE_ID/sheets/SHEET_ID/values?range=A1:D10" \
| jq 'if .ret == 0 then .data.values else . end'POST /openapi/drive/v2/filestitletypeIDurlcurl -sS -X POST "${AUTH[@]}" \
"https://docs.qq.com/openapi/drive/v2/files" \
--data-urlencode "title=会议纪要 2026-07-03" \
--data-urlencode "type=doc" \
| jq 'if .ret == 0 then {ID: .data.ID, url: .data.url} else . end'type=sheetslidemindflowchartsmartsheetform--data-urlencode "folderID=<id>"curl -sS -X POST "${AUTH[@]}" \
"https://docs.qq.com/openapi/resources/v2/images" \
-F "file=@./cover.png" \
| jq 'if .ret == 0 then .data else . end'titleurlcurl -sS -X PATCH "${AUTH[@]}" \
"https://docs.qq.com/openapi/drive/v2/files/FILE_ID" \
--data-urlencode "title=新的标题" \
| jq 'if .ret == 0 then "renamed" else . end'titlefolderID=/curl -sS -X PATCH "${AUTH[@]}" \
"https://docs.qq.com/openapi/drive/v2/files/FILE_ID/move" \
--data-urlencode "folderID=DEST_FOLDER_ID" \
| jq 'if .ret == 0 then "moved" else . end'curl -sS -X POST "${AUTH[@]}" \
"https://docs.qq.com/openapi/drive/v2/files/FILE_ID/copy" \
--data-urlencode "title=副本 - 项目计划" \
| jq 'if .ret == 0 then {ID: .data.ID, url: .data.url} else . end'titleurlcurl -sS -X DELETE "${AUTH[@]}" \
"https://docs.qq.com/openapi/drive/v2/files/FILE_ID" \
| jq 'if .ret == 0 then "deleted" else . end'docs.qq.com/doc/<id>/sheet//slide//mind//flowchart//form//smartsheet/nextdata400007400008