Site Home  »   百会API概述 »  远程(remote)API »  百会秀秀

百会秀秀

Tags:  

百会秀秀的远程应用程序接口(RemoteAPI)让任意第三方应用程序使用百会功能强大的秀秀编辑器来创建/编辑文档 (ppt,pptx等).该API允许用户创建/编辑的 文档发布到创建者自己的远程服务器来进行保存(这些文档是不会保存在百会的服务器上).
使用百会秀秀编辑器进行文档编辑的图示:

用 户如果想使用百会秀秀的远程编辑器,必须提交一个含有某些元素的表单数据.提交表单分为如下两种类型:a.提交multi-part表单.b. 提交正规表单.
接下来,说明如何使用两种表单形式,完成在线文档编辑.
1.使用multi-part表单提交
为了将本地文档加载到百会秀秀编辑 器,用户需要使用如下的字段提交一个multi-part表单到百会秀秀,参数说明如下:
(1) content : 上传的文档内容.
(2) filename : 含有扩展名的文档名称(支持的格式:ppt,pps).
(3) id : 在保存文档时提交的唯一ID值(建议为数字字符串).
(4) format : 在远程服务器上提交保存时的文档格式(例如:ppt,pps).
(5) persistence : 参数值为true 或 false,如果设置为false,在百会秀秀服务器获取的文档只能被编辑一次,当用户退出浏览器的时候,该文档的复本将会被删除.
(6) saveurl : 远程服务器保存文档的URL,这个URL是一个获取百会秀秀服务器上被更新文档内容的服务地址,并将文档保存到用户指定的位置上.
示 例表单如下:

2.使用正规表单提交
为了将远程文档加载到百会秀秀编辑 器,用户需要使用如下的字段提交一个正规表单到百会秀秀,参数说明如下:
(1) url: 百会秀秀服务可以获取文档的URL.
(2) filename : 含有扩展名的文档名称(支持的格式:ppt,pps).
(3) id : 在保存文档时提交的唯一ID值(建议为数字字符串).
(4) format : 在远程服务器上提交保存时的文档格式(例如:ppt,pps).
(5) persistence : 参数值为true 或 false,如果设置为false,在百会秀秀服务器获取的文档只能被编辑一次,当用户退出浏览器的时候,该文档的复本将会被删除.
(6) saveurl : 远程服务器保存文档的URL,这个URL是一个获取百会秀秀服务器上被更新文档内容的服务地址,并将文档保存到用户指定的位置上.

示例表单如下:

用户要访问基于远程API的multi-part表单,用户需要提交到如下所示的URL地址:

针对该URL的参数说明如下:
(1) apikey : 该key值是使用百会任何API服务都必须的参数,是验证用户是否可以使用百会API的钥匙.
(2) output :  该参数决定输出将要被发送的格式,
     如果值为editor,输出加载百会秀秀的 JavaScript代码片断(即编辑界面).
     如果值为url,用户将得到一个包含URL的响应,用户可以获取该URL,调用百会秀秀演示模式打开,用户可以进行演示查看.
    如果值为view,将生成JavaScript代码片断,并自动调用百会秀秀编辑器进行在线演示.
    如果值为editorurl,用户将得一个包含URL的响应,用户可以获取该URL,调用百会秀秀编辑模式打开,用户可以进行编辑文档操作.
 

注释:默认的情况下响应的是URL,所以如果想使用百会秀秀编辑器在新窗口中打开文档,那就请 将"editor"作为output参数的值.
一旦您完成文档的编辑,百会秀秀将会转换文档到上面表单指定的格式,并发送修改的内容到指定的 saveurl地址中.如下提供Java语言的的保存示例代码,供参考:
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class MySaveService extends Action {
    @SuppressWarnings( { "deprecation", "unchecked", "unused" })
    public ActionForward execute(ActionMapping actionMap,
            ActionForm actionForm, HttpServletRequest request,
            HttpServletResponse response) throws Exception {
        System.out.println("save in process");
       
        String f_path = request.getParameter("f_path");

        OutputStream out = null;

        response.setCharacterEncoding("UTF-8");

        out = response.getOutputStream();

        DiskFileUpload upload = new DiskFileUpload();

        upload.setSizeMax(-1);

        java.util.List list = upload.parseRequest(request);

        java.util.Iterator items = list.iterator();

        String docName = null;

        byte[] htmlStrInBytes = null;
        String id = null;
        String format = "doc";
        String url = null;
        String filename = null;

        while (items.hasNext()) {
            FileItem item = (FileItem) items.next();

            if (item.getFieldName().equalsIgnoreCase("content")) {
                htmlStrInBytes = item.get(); // The modified content sent by
                                                // the zohowriter service is
                                                // saved in this variable
                                                // htmlStrInBytes
            }

            if (item.getFieldName().equalsIgnoreCase("format")) {
                byte[] fmt = item.get();
                format = new String(fmt);
            }

            if (item.getFieldName().equalsIgnoreCase("id")) {
                byte[] id1 = item.get();
                id = new String(id1);
            }
            if (item.getFieldName().equalsIgnoreCase("filename")) {
                byte[] filename1 = item.get();
                filename = new String(filename1);
            }
        }

        int tmp = filename.indexOf(".");
        if (tmp >= 0) {
            filename = filename.substring(0, tmp) + "." + format;
        }
        String path = request.getRealPath(f_path) + filename;// Specify the
                                                                // path where
                                                                // the document
                                                                // is to be
                                                                // stored
        File f = new File(path);

        FileOutputStream fos = new FileOutputStream(f);
        if (f.exists()) {
            fos.write(htmlStrInBytes);// Writing the content into the file
        }
        fos.close();
       
        System.out.println("save in over");

        return null;

    }
}




 RSS of this page