uploadFileメソッド
目的
このメソッドを使用すると、ファイルをデータに添付できます。
リクエストURL
XML形式:
https://crm.zoho.com/crm/private/xml/Leads/uploadFile?authtoken=Auth Token&scope=crmapi&id=Record Id&content=File Input Stream
JSON形式:
https://crm.zoho.com/crm/private/json/Leads/uploadFile?authtoken=Auth Token&scope=crmapi&id=Record Id&content=File Input Stream
リクエストパラメーター
パラメーター | データ型 | 説明 |
authtoken* | 文字列 | Zoho認証情報の認証に使用する、暗号化された英数字の文字列。 |
scope* | 文字列 | 値をcrmapiと指定してください。 |
id* | 文字列 | ファイルを添付する必要がある「record」または「note」の一意のIDを指定してください。 |
content | FileInputStream | ファイルのファイル入力ストリームを渡してください。 |
attachmentUrl | 文字列 | URLをデータに添付してください。 |
* - 必須パラメーター
重要:
- ファイルの合計サイズは20 MBを超えないようにしてください。
- プログラムでリクエストできるuploadFileの呼び出しは、1分あたり60回までです。APIユーザーが60回を超える呼び出しをリクエストすると、APIアクセスが5分間ブロックされます。
- サイズが20MBを超えると、「ファイルのサイズは20MBを超えることはできません」というエラーメッセージが表示されます。この制限は、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/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>
データのストレージ上限
無料プランで使用可能なデフォルトの空きストレージは、組織アカウントあたり1GBです。この無料の1GBに加えて、以下の各有料プランのデータストレージ制限がユーザーごとに適用されます。
- プロフェッショナルプラン:ユーザーライセンスあたり512MB
- スタンダードプラン:ユーザーライセンスあたり512MB
- エンタープライズプラン:ユーザーライセンスあたり1GB
- Zoho CRM Plus:ユーザーライセンスあたり1GB
- 追加ファイルストレージ:5GB/月単位で購入可能
既存ユーザーの場合、改定後の価格は次の請求サイクルから適用されます。