From ffc89845347d04a2fcf4ad9a10e470ab439a2e7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=92?= Date: Thu, 6 Nov 2025 00:21:13 +0800 Subject: [PATCH] 1 --- .../src/main/resources/application-dev.yml | 4 ++-- .../src/main/resources/application-prod.yml | 4 ++-- .../com/ruoyi/jarvis/util/TencentDocApiUtil.java | 16 ++++++++++------ 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index 624a3b2..64aa4f6 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -195,8 +195,8 @@ tencent: app-secret: G8ZdSWcoViIawygo7JSolE86PL32UO0O # 授权回调地址(需要在腾讯文档开放平台配置域名:jarvis.van333.cn,这里使用完整URL) redirect-uri: https://jarvis.van333.cn/tendoc-callback - # API基础地址 - api-base-url: https://docs.qq.com/open/v1 + # API基础地址(使用V3版本,推荐) + api-base-url: https://docs.qq.com/open/v3 # OAuth授权地址 oauth-url: https://docs.qq.com/oauth/v2/authorize # 获取Token地址 diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml index 826277a..dfa844e 100644 --- a/ruoyi-admin/src/main/resources/application-prod.yml +++ b/ruoyi-admin/src/main/resources/application-prod.yml @@ -194,8 +194,8 @@ tencent: app-secret: G8ZdSWcoViIawygo7JSolE86PL32UO0O # 授权回调地址(需要在腾讯文档开放平台配置域名:jarvis.van333.cn,这里使用完整URL) redirect-uri: https://jarvis.van333.cn/tendoc-callback - # API基础地址 - api-base-url: https://docs.qq.com/open/v1 + # API基础地址(使用V3版本,推荐) + api-base-url: https://docs.qq.com/open/v3 # OAuth授权地址 oauth-url: https://docs.qq.com/oauth/v2/authorize # 获取Token地址 diff --git a/ruoyi-system/src/main/java/com/ruoyi/jarvis/util/TencentDocApiUtil.java b/ruoyi-system/src/main/java/com/ruoyi/jarvis/util/TencentDocApiUtil.java index 5326a79..6464538 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/jarvis/util/TencentDocApiUtil.java +++ b/ruoyi-system/src/main/java/com/ruoyi/jarvis/util/TencentDocApiUtil.java @@ -268,7 +268,8 @@ public class TencentDocApiUtil { * @return 表格数据 */ public static JSONObject readSheetData(String accessToken, String fileId, String sheetId, String range, String apiBaseUrl) { - String apiUrl = String.format("%s/files/%s/sheets/%s/ranges/%s", apiBaseUrl, fileId, sheetId, range); + // V3版本API路径格式:/open/v3/spreadsheets/{spreadsheetId}/sheets/{sheetId}/ranges/{range} + String apiUrl = String.format("%s/spreadsheets/%s/sheets/%s/ranges/%s", apiBaseUrl, fileId, sheetId, range); log.info("读取表格数据 - fileId: {}, sheetId: {}, range: {}, apiUrl: {}", fileId, sheetId, range, apiUrl); return callApi(accessToken, apiUrl, "GET", null); } @@ -285,7 +286,8 @@ public class TencentDocApiUtil { * @return 写入结果 */ public static JSONObject writeSheetData(String accessToken, String fileId, String sheetId, String range, Object values, String apiBaseUrl) { - String apiUrl = String.format("%s/files/%s/sheets/%s/ranges/%s", apiBaseUrl, fileId, sheetId, range); + // V3版本API路径格式:/open/v3/spreadsheets/{spreadsheetId}/sheets/{sheetId}/ranges/{range} + String apiUrl = String.format("%s/spreadsheets/%s/sheets/%s/ranges/%s", apiBaseUrl, fileId, sheetId, range); JSONObject requestBody = new JSONObject(); requestBody.put("values", values); @@ -304,8 +306,8 @@ public class TencentDocApiUtil { * @return 追加结果 */ public static JSONObject appendSheetData(String accessToken, String fileId, String sheetId, Object values, String apiBaseUrl) { - // 先获取表格信息,找到最后一行 - String infoUrl = String.format("%s/files/%s/sheets/%s", apiBaseUrl, fileId, sheetId); + // 先获取表格信息,找到最后一行(V3版本路径) + String infoUrl = String.format("%s/spreadsheets/%s/sheets/%s", apiBaseUrl, fileId, sheetId); JSONObject sheetInfo = callApi(accessToken, infoUrl, "GET", null); // 获取行数(根据实际API响应调整) @@ -335,7 +337,8 @@ public class TencentDocApiUtil { * @return 文件信息 */ public static JSONObject getFileInfo(String accessToken, String fileId, String apiBaseUrl) { - String apiUrl = String.format("%s/files/%s", apiBaseUrl, fileId); + // V3版本API路径格式:/open/v3/spreadsheets/{spreadsheetId} + String apiUrl = String.format("%s/spreadsheets/%s", apiBaseUrl, fileId); return callApi(accessToken, apiUrl, "GET", null); } @@ -348,7 +351,8 @@ public class TencentDocApiUtil { * @return 工作表列表 */ public static JSONObject getSheetList(String accessToken, String fileId, String apiBaseUrl) { - String apiUrl = String.format("%s/files/%s/sheets", apiBaseUrl, fileId); + // V3版本API路径格式:/open/v3/spreadsheets/{spreadsheetId}/sheets + String apiUrl = String.format("%s/spreadsheets/%s/sheets", apiBaseUrl, fileId); return callApi(accessToken, apiUrl, "GET", null); }