首页 > 解决方案 > 使用 C# 在 Zoho 上更新记录

问题描述

我正在尝试更新 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 东西的地方都没有一个示例或答案,我不应该使用它。

标签: c#asp.netcriteriainsert-updatezoho

解决方案


如果有人有同样的问题,我会在很长一段时间没有找到任何有用的东西后发布我找到的答案。您需要将标准放在我拥有的 requestBody JObject 中,以便它 requestBody.Add("criteria", "ID == " + log.ID); 在您声明 requestBody 的位置下说明。


推荐阅读