uploadFile 方法
目的
您可以使用此方法为记录附上文档。
请求 URL
XML 格式:
https://crm.zoho.com.cn/crm/private/xml/Leads/uploadFile?authtoken=Auth Token&scope=crmapi&id=Record Id&content=File Input Stream
JSON 格式:
https://crm.zoho.com.cn/crm/private/json/Leads/uploadFile?authtoken=Auth Token&scope=crmapi&id=Record Id&content=File Input Stream
请求参数
参数 | 数据类型 | 说明 |
authtoken* | 字符串 | 验证您的 Zoho 凭据的加密字母数字字符串。 |
scope* | 字符串 | 将数值指定为crmapi |
id* | 字符串 | 指定须附上文档的“记录”或“备注”的唯一 ID。 |
content | FileInputStream | 通过文档的文档输入流 |
attachmentUrl | 字符串 | 为记录附上 URL。 |
* - 必填参数
重要注意事项:
- 总大小不得超过 20 MB。
- 您的程序可以请求每分钟最多 60 次 uploadFile 调用。如果 API 用户请求超过 60 次调用,系统会拦截 API 访问 5 分钟。
- 如果文档大小超过 20 MB,您将收到以下错误消息: “文档大小不得超过 20 MB”。 此限制不适用于通过attachmentUrl 所附的 URL。
- 所附文档在记录详细信息页面上的附件部分可用。
- 文档可以附在所有模块中的记录上,报告、仪表板和预测除外。
- 如果是参数attachmentUrl,因为附件是来自 URL, 不要求 内容。
attachmentUrl示例:crm/private/xml/Leads/uploadFile?authtoken=*****&scope=crmapi&id=<entity_id>&attachmentUrl=<insert_ URL>
上传文档至记录的 Java 代码
您在您自己的 Java 环境中可以运行这一程序以便上传文档至记录中。
在程序中,您需要为下列部分指定值:
- 您的验证令牌
- 记录 ID
- 上述格式的 uploadFile 请求 URL
- 文档路径即文档位置
import java.io.*;
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.*;
import org.apache.commons.httpclient.methods.multipart.Part;
import org.apache.commons.httpclient.methods.multipart.FilePart;
import org.apache.commons.httpclient.methods.multipart.StringPart;
import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity;
import org.apache.commons.httpclient.methods.multipart.PartSource;
import org.apache.commons.httpclient.methods.multipart.ByteArrayPartSource;
{
public static void main(String a[])
{
try
{
String auth_token = "USER AUTH TOKEN";
String auth_scope = "crmapi";
String targetURL = "https://crm.zoho.com.cn/crm/private/xml/Leads/uploadFile";
String recordId = "RECORD ID";
String file = "FILE NAME";
File f = new File(file);
FileInputStream fis = new FileInputStream(f);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
int c;
while ((c = fis.read()) != -1)
{
bos.write(c);
}
byte[] fbArray = bos.toByteArray();
targetURL = targetURL + "?authtoken="+ auth_token +"&scope="+ auth_scope;
PartSource ps = new ByteArrayPartSource(file,fbArray);
PostMethod post =new PostMethod(targetURL);
Part[] fields = { new FilePart("content",ps), new StringPart("id", recordId), };
post.setRequestEntity(new MultipartRequestEntity(fields,post.getParams()));
HttpClient httpclient = new HttpClient();
httpclient.executeMethod(post);
String postResp = post.getResponseBodyAsString();
System.out.println("postResp===========> : "+postResp);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
样本响应
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/crm/private/xml/Leads/uploadFile">
<result>
<message>File has been attached successfully</message>
<recorddetail>
<FL val="Id">335751000000578001</FL>
<FL val="Created Time">2012-06-20 14:57:34</FL>
<FL val="Modified Time">2012-06-20 14:57:34</FL>
<FL val="Created By"><![CDATA[krrish]]></FL>
<FL val="Modified By"><![CDATA[krrish]]></FL>
</recorddetail>
</result>
</response>
数据存储限制
免费版本中默认的可用免费存储空间为每个机构账户 1 GB。 除了这免费的 1 GB 以外,以下是各个付费版本中的数据存储限制,根据用户情况而适用。
- 专业版本 - 512 MB/用户许可证
- 标准版本 - 512 MB/用户许可证
- 企业版本 - 1 GB/用户许可证
- CRM Plus 版本 - 1 GB/用户许可证
- 额外的文档存储: 4 美元/月/ 5 GB
针对现有用户,修订后的价格将自下次收费周期开始应用。