This commit is contained in:
Leo
2026-01-15 20:42:07 +08:00
parent a41c9ceaf9
commit 76500642eb
3 changed files with 123 additions and 21 deletions

View File

@@ -91,18 +91,25 @@ public class WPS365OAuthServiceImpl implements IWPS365OAuthService {
authUrl.append("&response_type=code");
log.debug("授权URL参数 - response_type: code");
// scope参数必需根据WPS365文档
// scope参数必需根据WPS365官方文档)
// 优先使用配置文件中指定的scope如果没有配置则使用默认值
// 注意WPS365的scope格式可能是空格分隔而不是逗号分隔
// 重要WPS365官方文档明确要求使用英文逗号分隔,且权限名称必须与后台注册的完全一致
String scope = wps365Config.getScope();
if (scope == null || scope.trim().isEmpty()) {
// 默认scope如果报错invalid_scope请检查WPS365平台支持的scope格式
// 常见格式:
// 1. 逗号分隔file.read,ksheet.read,user.info
// 2. 空格分隔file.read ksheet.read user.info
// 3. 冒号格式file:read ksheet:read user:info
// 请根据WPS365平台后台显示的scope格式进行配置
scope = "file.read ksheet.read user.info"; // 尝试空格分隔
// 默认scope根据WPS365官方文档
// 1. 必须使用英文逗号分隔(不是空格)
// 2. 权限名称必须与WPS365平台后台"权限管理"中显示的完全一致
// 3. 常见权限名称可能是:
// - kso.doclib.readwrite (文档库读写)
// - kso.doclib.read (文档库读取)
// - 或其他在平台后台显示的实际权限名称
//
// 如果报错invalid_scope
// 1. 登录WPS365开放平台
// 2. 进入"开发配置" > "权限管理"
// 3. 查看已申请权限的准确名称(注意大小写、分隔符等)
// 4. 在application.yml中配置scope参数使用逗号分隔
scope = "kso.doclib.readwrite"; // 默认使用文档库读写权限
}
scope = scope.trim();