uploadFile 方法
目的
您可以使用此方法将文件附加到记录。
请求 URL
XML 格式:
https://recruit.zoho.com.cn/recruit/private/xml/Candidates/uploadFile?authtoken=Auth Token&scope=recruitapi&id=Record Id&content=File Input Stream&type=Attachment Type&version=2
JSON 格式:
https://recruit.zoho.com.cn/recruit/private/json/Candidates/uploadFile?authtoken=Auth Token&scope=recruitapi&id=Record Id&content=File Input Stream&type=Attachment Type&version=2
请求参数
参数 | 数据类型 | 描述 |
authtoken* | 字符串 | 加密的字母数字字符串,用来对 Zoho 凭证进行身份验证。 |
scope* | 字符串 | 将值指定为 recruitapi。 |
id* | 字符串 | 指定必须为其附加文件的记录的唯一 ID。 |
content* | FileInputStream | 传递文件的文件输入流。 |
type* | 字符串 | 指定附件类型(例如,简历或其它)。 |
version* | 整数 | 使用version=2:这将基于最新 API 实施来获取响应。 |
* - 必备参数
备注:
- 总文件大小不应超过 20 MB。
- 您的程序每 5 分钟只可请求 15 次 uploadFile 调用。如果 API 用户请求超过 15 次调用,系统将让 API 访问停止 15 分钟。
- 如果大小超过 20 MB,您将收到以下错误消息:“文件大小不得超过 20 MB。”
- 附加的文件将提供在记录详情页面下面。
- 文件可附加到除报表、统计图表和预测之外的所有模块中的记录。
为记录上传文件的 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 class UploadFile
{
public static void main(String a[])
{
try
{
String auth_token = "USER AUTH TOKEN";
String auth_scope = "recruitapi";
String targetURL = "https://recruit.zoho.com.cn/recruit/private/xml/Candidates/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+"&version=2";
PartSource ps = new ByteArrayPartSource(file,fbArray);
PostMethod post =new PostMethod(targetURL);
Part[] fields = { new FilePart("content",ps), new StringPart("id", recordId), new StringPart("type", "Cover Letter") };
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();
}
}
}
为记录上传文件的 PHP 代码(适用于 PHP 5.5 或更高版本)
<?php
$recordId="RECORD ID";
$ch=curl_init();
$cFile = new CURLFile('/home/path/to/my/file.pdf','application/pdf',")
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_VERBOSE,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_URL,"https://recruit.zoho.com.cn/recruit/private/xml/Candidates/uploadFile?authtoken=<Your Authtoken>&scope=recruitapi&version=2&type=<attachment type>");
curl_setopt($ch,CURLOPT_POST,true);
$post=array("id"=>$recordId,"content"=>$cFile);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post);
$response=curl_exec($ch);
echo $response;
?>
示例响应
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/recruit/private/xml/Candidates/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>
数据存储限制
机构的默认存储限制为:
- 免费版 - 整个机构限制为 256 MB。
- 专业版 - 每个用户许可为 256 MB
- 企业版 - 每个用户许可为 512 MB
额外文件存储:3 美元/月/GB
对于现有用户,从下一个账单周期起将应用修订后的价格。