多维表格获取 Schema接口上周一直可以调用,现在调用报错一直提示403000001错误码

阅读次数 0

获取Schema信息的接口代码

public String getSchema(String fileId) throws Exception {
        String token = getToken();
        String url = WpsConstant.DBSHEET_URL+"/"+fileId+WpsConstant.SCHEMA_URL;
        String date = DateUtil.getRFC1123Date();
        byte[] requestBody =  "{\"key\": \"value\"}".getBytes(StandardCharsets.UTF_8);
        String sign = getSign(WpsConstant.REQUEST_GET,url,WpsConstant.CONTENT_TYPE,date,requestBody);
        Map headerMap = new HashMap<>();
        headerMap.put("Content-Type",WpsConstant.CONTENT_TYPE);
        headerMap.put("X-Kso-Date",date);
        headerMap.put("X-Kso-Authorization",sign);
        headerMap.put("Authorization","Bearer "+token);
        String result = HttpUtil.sendGetRequest(WpsConstant.BASE_URL+url,headerMap);
        return result;
    }

多维表格权限配置 <img src="https://solution-community.wps.cn/uploads/post/5rKMdbS9sRw.png" alt="访问多维表格的权限配置"/> kso签名方法

public String getSign(String method,String url,String contentType,String contentDate,byte[] requestBody) throws NoSuchAlgorithmException, InvalidKeyException {
        KsoSign kso = new KsoSign(WpsConstant.APP_ID, WpsConstant.APP_KEY);
        KsoSign.Out out = kso.kso1Sign(method, url, contentType, contentDate, requestBody);
        return out.getAuthorization();
    }

调用方法直接结果返回{"code":403000001,"message":"kso: PermissionDenied err: invalid sign: invalid KSO-1 sign"},上周还可以调用成功,本周调用就一直报这个权限错误,是什么原因

0 Answers