如何在ZOHO CRM创建新记录时同步上传附件(C# SDK)
在Zoho CRM C# SDK中创建记录时同时上传附件
可以在创建记录的同一步骤中完成附件上传,核心是使用SDK中带文件上传的创建接口,并正确配置FileDetail类读取本地文件。以下是具体实现步骤和代码示例:
关键实现要点
- 使用
RecordsOperations.CreateRecordWithFileAsync(或同步方法),该方法支持创建记录时附带上传附件 - 通过
FileDetail类封装本地文件,可通过文件流或文件路径完成初始化
代码示例
using System.IO; using Zoho.Crm.API.Records; using Zoho.Crm.API.Util; // 此处省略SDK初始化代码(需提前完成OAuth认证、环境配置等) // 1. 构造记录基础字段数据 Record record = new Record(); record.AddKeyValue("Subject", "客户拜访记录"); record.AddKeyValue("Account_Name", new Record(789012)); // 关联字段示例,替换为实际关联记录ID // 添加其他业务字段... // 2. 封装本地附件 string localFilePath = @"C:\Files\meeting_notes.pdf"; FileDetail attachment = new FileDetail(); // 通过文件流读取本地文件 using (FileStream fileStream = new FileStream(localFilePath, FileMode.Open, FileAccess.Read)) { attachment.SetFileStream(fileStream); attachment.SetFileName(Path.GetFileName(localFilePath)); attachment.SetFileLength(fileStream.Length); } // 3. 组装带文件的请求参数 CreateRecordWithFileParam requestParam = new CreateRecordWithFileParam(); requestParam.SetRecord(record); requestParam.SetFile(attachment); // 多附件可使用SetFiles(List<FileDetail>)传入文件列表 // 4. 调用接口完成记录创建+附件上传 RecordsOperations recordsOps = new RecordsOperations(); APIResponse<ActionHandler> response = await recordsOps.CreateRecordWithFileAsync("Leads", requestParam); // 替换为目标模块名称 // 处理响应结果 if (response.StatusCode == System.Net.HttpStatusCode.OK) { ActionHandler result = response.Object; // 可获取创建后的记录ID等信息 }
注意事项
- 确保使用最新版本的Zoho CRM C# SDK,旧版本可能未支持该合并操作
- 确认附件字段的API名称正确(默认附件字段API名为
Attachments,自定义字段需用对应API名) - 文件大小需符合Zoho CRM限制:单文件最大10MB,单次请求总文件大小不超过20MB
- 程序需拥有本地文件的读取权限,避免因权限问题导致文件读取失败
内容的提问来源于stack exchange,提问作者user3523356
相关产品推荐
相关产品推荐

