|
通过托管OAuth认证访问Microsoft Excel API(基于Microsoft Graph)。可读写存储在OneDrive或SharePoint中的工作簿、工作表、区域、表格和图表。
bash
https://gateway.maton.ai/microsoft-excel/{native-api-path}
将{native-api-path}替换为实际的Microsoft Graph API端点路径。网关会将请求代理到graph.microsoft.com,并自动注入您的OAuth令牌。
所有请求都需要在Authorization头中包含Maton API密钥:
Authorization: Bearer $MATONAPIKEY
环境变量: 将您的API密钥设置为MATONAPIKEY:
bash
export MATONAPIKEY=YOURAPIKEY
在https://ctrl.maton.ai管理您的Microsoft Excel OAuth连接。
bash
python <
req = urllib.request.Request(https://ctrl.maton.ai/connections?app=microsoft-excel&status=ACTIVE)
req.addheader(Authorization, fBearer {os.environ[MATONAPI_KEY]})
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
bash
python <
data = json.dumps({app: microsoft-excel}).encode()
req = urllib.request.Request(https://ctrl.maton.ai/connections, data=data, method=POST)
req.addheader(Authorization, fBearer {os.environ[MATONAPI_KEY]})
req.add_header(Content-Type, application/json)
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
bash
python <
req = urllib.request.Request(https://ctrl.maton.ai/connections/{connection_id})
req.addheader(Authorization, fBearer {os.environ[MATONAPI_KEY]})
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
响应:
json
{
connection: {
connection_id: 4751ac89-3970-47e1-872c-eacdf4291732,
status: ACTIVE,
creation_time: 2026-02-07T00:43:18.565932Z,
lastupdatedtime: 2026-02-07T00:43:29.729782Z,
url: https://connect.maton.ai/?session_token=...,
app: microsoft-excel,
metadata: {}
}
}
在浏览器中打开返回的url以完成OAuth授权。
bash
python <
req = urllib.request.Request(https://ctrl.maton.ai/connections/{connection_id}, method=DELETE)
req.addheader(Authorization, fBearer {os.environ[MATONAPI_KEY]})
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
如果您有多个Microsoft Excel连接,请使用Maton-Connection头指定要使用的连接:
bash
python <
req = urllib.request.Request(https://gateway.maton.ai/microsoft-excel/v1.0/me/drive)
req.addheader(Authorization, fBearer {os.environ[MATONAPI_KEY]})
req.add_header(Maton-Connection, 4751ac89-3970-47e1-872c-eacdf4291732)
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
如果省略,网关将使用默认(最早创建的)活动连接。
您可以使用基于ID或基于路径的模式访问工作簿:
按文件ID:
/microsoft-excel/v1.0/me/drive/items/{file-id}/workbook/...
按文件路径:
/microsoft-excel/v1.0/me/drive/root:/{path-to-file}:/workbook/...
bash
GET /microsoft-excel/v1.0/me/drive
bash
GET /microsoft-excel/v1.0/me/drive/root/children
bash
GET /microsoft-excel/v1.0/me/drive/root/search(q=.xlsx)
bash
PUT /microsoft-excel/v1.0/me/drive/root:/{filename}.xlsx:/content
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
{binary xlsx content}
会话可提高多个操作的性能。建议用于批量操作。
bash
POST /microsoft-excel/v1.0/me/drive/root:/{path}:/workbook/createSession
Content-Type: application/json
{
persistChanges: true
}
响应:
json
{
persistChanges: true,
id: cluster=PUS7&session=...
}
在后续请求中使用会话ID:
workbook-session-id: {session-id}
bash
POST /microsoft-excel/v1.0/me/drive/root:/{path}:/workbook/closeSession
workbook-session-id: {session-id}
bash
GET /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/worksheets
响应:
json
{
value: [
{
id: {00000000-0001-0000-0000-000000000000},
name: Sheet1,
position: 0,
visibility: Visible
}
]
}
bash
GET /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/worksheets(Sheet1)
bash
POST /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/worksheets
Content-Type: application/json
{
name: NewSheet
}
bash
PATCH /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/worksheets(Sheet1)
Content-Type: application/json
{
name: RenamedSheet,
position: 2
}
bash
DELETE /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/worksheets({worksheet-id})
成功时返回204 No Content。
bash
GET /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/worksheets(Sheet1)/range(address=A1:B2)
响应:
json
{
address: Sheet1!A1:B2,
values: [
[Hello, World],
[1, 2]
],
formulas: [
[Hello, World],
[1, 2]
],
text: [
[Hello, World],
[1, 2]
],
numberFormat: [
[General, General],
[General, General]
],
rowCount: 2,
columnCount: 2
}
bash
GET /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/worksheets(Sheet1)/usedRange
bash
PATCH /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/worksheets(Sheet1)/range(address=
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 microsoft-excel-1776347590 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 microsoft-excel-1776347590 技能
skillhub install microsoft-excel-1776347590
文件大小: 5.2 KB | 发布时间: 2026-4-17 16:15