// 使用 @larksuiteoapi/node-sdk 更新飞书文档 import lark from '/home/ubuntu/.openclaw/extensions/openclaw-lark/node_modules/@larksuiteoapi/node-sdk/lib/index.js'; const APP_ID = 'cli_a93eb0f160399cc5'; const APP_SECRET = 'dRzJKrJ46j2Y1DKneyC33dQUNmsLwHCj'; const DOC_ID = 'YerQd8GomoDWQ6xA1zTc31xfnwb'; // 表格内容 (Markdown 格式) const TABLE_CONTENT = `| 日期 | 规格 | 数量 | |------|------|------| | 24 年 12 月 | 细和润 | 2 | | 24 年 12 月 | 金细 | 1 | | 24 年 12 月 | 红中支 | 3 | | 25 年 | 细和润 | 2 | | 25 年 | 双支 | 5 | **总计**: 13`; async function main() { try { console.log('创建 Lark Client...'); const client = new lark.Client({ appId: APP_ID, appSecret: APP_SECRET, }); console.log('正在获取文档信息...'); // 获取文档信息 const getDocRes = await client.docx.document.get({ params: {}, data: {}, path: { document_id: DOC_ID, }, }); console.log('获取文档信息响应:', JSON.stringify(getDocRes, null, 2)); if (getDocRes.code !== 0) { console.error('获取文档信息失败:', getDocRes.msg); return; } console.log('✓ 获取文档信息成功'); console.log('文档标题:', getDocRes.data?.document?.title); // 获取文档块列表 console.log('正在获取文档块列表...'); const listBlocksRes = await client.docx.documentBlockChildren.get({ params: { page_size: 100, }, data: {}, path: { document_id: DOC_ID, block_id: DOC_ID, // 根块 ID 等于文档 ID }, }); console.log('获取块列表响应:', JSON.stringify(listBlocksRes, null, 2)); if (listBlocksRes.code !== 0) { console.error('获取块列表失败:', listBlocksRes.msg); return; } // 获取根块 ID (文档 ID 本身就是根块 ID) const rootBlockId = DOC_ID; console.log('根块 ID:', rootBlockId); // 在根块后添加新块 console.log('正在添加新块...'); const createBlockRes = await client.docx.documentBlockChildren.create({ params: {}, data: { blocks: [ { block_type: 1, // text text: { elements: [ { text_run: { content: '\n' + TABLE_CONTENT, }, }, ], }, }, ], }, path: { document_id: DOC_ID, block_id: rootBlockId, }, }); console.log('添加块响应:', JSON.stringify(createBlockRes, null, 2)); if (createBlockRes.code !== 0) { console.error('添加块失败:', createBlockRes.msg); return; } console.log('✓ 文档更新成功!'); } catch (error) { console.error('✗ 发生错误:', error.message); console.error(error.stack); process.exit(1); } } main();