使用 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,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 内容的示例或答案。

解决方法

如果有人有同样的问题,我会发布我在很久没有找到任何有用的东西后找到的答案。您需要将条件放入 requestBody JObject 我有这样的内容 requestBody.Add("criteria","ID == " + log.ID); 在您声明 requestBody 的地方。