使用 C# 在 Zoho 上更新记录
Posted
技术标签:
【中文标题】使用 C# 在 Zoho 上更新记录【英文标题】:Updating Records on Zoho using C# 【发布时间】:2021-09-25 09:42:31 【问题描述】:我正在尝试更新 Zoho 数据库中的记录,但似乎没有任何在线 C# 代码可供我用来帮助查找我的问题。我的代码是:
WebRequest request = WebRequest.Create("https://creator.zoho.com/api/v2/[group name]/[app name]/report/[report name]?criteria="
+ "(ID == " + log.ID);
request.Method = "PATCH";
string accessCode = Database.getAccess();
request.Headers.Add("Authorization", "Zoho-oauthtoken " + accessCode);
var time = DateTime.UtcNow;
TimeZoneInfo easternZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
var easternTime = TimeZoneInfo.ConvertTimeFromUtc(time, easternZone).ToString("dd MMM yyyy HH:mm:ss");
JObject dataJson = new JObject();
JObject requestObject = new JObject();
JArray dataArray = new JArray();
dataJson.Add("Log_Out", easternTime);
dataArray.Add(dataJson);
requestObject.Add("data", dataArray);
JObject requestBody = requestObject;
string dataString = requestBody.ToString();
var data = Encoding.UTF8.GetBytes(dataString);
int dataLength = data.Length;
request.ContentType = "application/json";
request.ContentLength = dataLength;
using (var writer = request.GetRequestStream())
writer.Write(data, 0, dataLength);
WebResponse response = request.GetResponse();
string responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
JObject ResponseJSON = JObject.Parse(responseString);
Console.WriteLine(JsonConvert.SerializeObject(ResponseJSON));
当它给我一条错误消息时,它说标准是必需的,但我在 URL 中有标准。如果有人知道解决方案,我们将不胜感激,因为没有任何在线使用 C# 没有 SDK 东西的示例或答案,我不应该使用。
【问题讨论】:
我们不知道您尝试使用哪个 API,至少指向文档,给我们一个小线索。 【参考方案1】:如果有人有同样的问题,我会在很长一段时间没有找到任何有用的东西后发布我找到的答案。您需要将标准放在我拥有的 requestBody JObject 中,这样它会说
requestBody.Add("criteria", "ID == " + log.ID);
在你声明 requestBody 的地方。
【讨论】:
以上是关于使用 C# 在 Zoho 上更新记录的主要内容,如果未能解决你的问题,请参考以下文章
如何获取我们无法通过 Zoho Creator 中的单个 API 调用获取的剩余记录?
从 React 前端的 Zoho API 获取数据时出现 CORS 错误