WPS webOffice开发流程

1.在webOffice开放平台中添加对应的测试应用。

https://solution.wps.cn/

创建测试应用

2.测试回调配置。

①回调网关:必须公网
②调用接口(必须调用以下三个接口)
https://solution.wps.cn/docs/callback/preview.html(接口详细地址)

(一)、/v3/3rd/files/${file_id}  #获取文件信息

var obj = new FileResponse();
obj.name = fileInfo.Name;
obj.modify_time = new DateTimeOffset(fileInfo.LastWriteTimeUtc).ToUnixTimeSeconds();
obj.size = fileInfo.Length;
obj.create_time = new DateTimeOffset(fileInfo.LastWriteTimeUtc).ToUnixTimeSeconds();
obj.creator_id = "CESHI";
obj.modifier_id = "CESHI";
obj.version = 1;
obj.id = fileID;

(二)、/v3/3rd/files/${file_id}/download  #获取文件下载地址
// 计算文件的哈希值
MD5 md5 = MD5.Create();
byte[] md5Hash = md5.ComputeHash(stream);
string Digest = BitConverter.ToString(md5Hash).Replace("-", "").ToLowerInvariant();
// 将哈希值转换为十六进制字符串
Obj.url = filePath;  #filePath中配置的地址,必须要可下载文件地址
Obj.digest = Digest;
Obj.digest_type = "md5";
Obj.headers = new Dictionary<string, string>();
apiGetResult.data = Obj;
string jsonResponse = JsonConvert.SerializeObject(apiGetResult, Formatting.Indented);
HttpContext.Current.Response.Write(jsonResponse);
return apiGetResult;

(三)、v3/3rd/files/${file_id}/permission  #文档用户权限
##  当前用户 Id,当 update=1;print=1时必须返回当前用户的 user_id。
## 在没有用户信息接口的情况下,不开启update及print,则不校验user_id的传值
var Obj = new FilePermissionResponse();
var list = new List<FilePermissionResponse>();
Obj.comment = 0;
Obj.copy = 0;
Obj.download = 1;
Obj.history = 0;
Obj.print = 0;
Obj.read = 1;
Obj.rename = 0;
Obj.saveAs = 0;
Obj.update = 0;
Obj.userId = "405";
apiGetResult.data = Obj;

三个接口必须要配置成功,如图显示


调试成功结果
3.接口调试成功后,进行前端sdk的配置以及页面的搭建。

①下载SDK并载入到前端
https://solution.wps.cn/docs/log/jssdk.html
②选择使用在线的babel还是本地的

 <script src="https://cdn.staticfile.org/babel-core/5.8.35/browser.min.js"></script>
 <script src="https://cdn.staticfile.org/babel-core/5.8.35/browser-polyfill.min.js"></script>

③所需的应用id


前端wps webOffice所需的appid
<!DOCTYPE html>
<style>
</style>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
</head>
     <script src="../WebOfficeSdkSolution/web-office-sdk-solution-v2.0.7.umd.js"></script>
<body>
</body>
</html>
<script>
    window.onload = function () {
        const jssdk = WebOfficeSDK.init({
            officeType: WebOfficeSDK.OfficeType.Spreadsheet,
            appId: '应用ID',
            fileId: '1',
            mode: 'simple'##简易版
        })
        const test = async () => {
            await jssdk.ready()
            console.log('api ready')
        }
        jssdk.on('fileOpen', function (data) {
            test()
            console.log('打开成功')
        })
    }
</script>

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容