1

我在使用远程 api 保存文档时遇到了问题。我已经成功地设置了一个会话并在 Zoho 中打开了文档。但是当我的用户尝试在 Zoho 中保存文档时,Zoho 给出了以下错误:

“不支持文档格式。保存内容时出错。”

.doc 和 .txt 文件都会发生这种情况(到目前为止我尝试过的仅有的两个)。保存例程似乎在 Zoho 中的某个地方消失了……我的 servlet 应该从 Zoho 取回文件,但从来没有报告收到任何 POST。

请注意,我并没有要求 Zoho 转换文件格式...我将其交给 .doc 并要求返回 .doc,或者将其交给 .txt 并要求返回 .txt。

这是我设置 Zoho 会话的日志条目......如您所见,一切似乎都在工作。

日志:

20120123 15:37:26 DEBUG [ajp-8009-6] (ZohoAPI)  - setupPrivateEditor using following for POST:
apikey: [redacted]
output: url
mode: normaledit
filename: Test_Doc_06.doc
documentid: 31101
id: 31101
lang: en
format: doc
saveurl: https://app.bizmarx.net/Bizmarx/bizmarx/saveZohoDocument

20120123 15:37:26 DEBUG [ajp-8009-6] (ZohoAPI)  - setupPrivateEditor executing POST
20120123 15:37:28 DEBUG [ajp-8009-6] (ZohoAPI)  - setupPrivateEditor sees response status: 200  :  OK
20120123 15:37:28 DEBUG [ajp-8009-6] (ZohoAPI)  - setupPrivateEditor:  full response string seen as:
URL=[redacted, but functional during testing]
WARNING=NULL
RESULT=TRUE

Zoho 远程 API 参考:

这些是我用来整理我的请求的文件。不幸的是,他们不提供沙箱,所以我无法准确验证他们最终看到的内容。

要设置私人编辑会话,我使用此处描述的多部分表单提交:https ://apihelp.wiki.zoho.com/Open-Document.html 。我用来把它放在一起的java代码是:

MultipartEntity paramsEntity = new MultipartEntity();

paramsEntity.addPart("apikey", new StringBody(apiKey));
paramsEntity.addPart("output", new StringBody(outputType));
paramsEntity.addPart("mode", new StringBody(modeType));
paramsEntity.addPart("filename", new StringBody(fileName));
paramsEntity.addPart("documentid", new StringBody(uid));
paramsEntity.addPart("id", new StringBody(uid));
paramsEntity.addPart("lang", new StringBody(langType));
paramsEntity.addPart("format", new StringBody( type ));
paramsEntity.addPart("saveurl", new StringBody(saveURL));

paramsEntity.addPart("content", new FileBody(documentFile));

post.setEntity(paramsEntity);

response = httpClient.execute(post);

为了在用户完成编辑后保存文件,我遵循 Zoho 提供的详细信息(无法发布 URL,因为这是一个新帐户),尽管我只是使用 httpservlet 来监听 POST,而不是设置一个新的操作页面。然而,即使这会导致问题,现在看来也不是问题,因为我的服务器根本没有报告被 Zoho ping 过。

有没有人遇到过这个问题?我的初始 POST 是否以某种方式格式错误,以至于文档仍可以正常加载到 Zoho 中,但 Zoho 不确定将其保存在何处或如何保存?谢谢!

4

0 回答 0