我正在尝试更新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的示例或答案,而我是不应该使用这些东西的。
发布于 2021-07-16 23:42:35
如果有人有同样的问题,我会把我在很长一段时间没有找到任何有用的东西后找到的答案发布出来。您需要将条件放在我拥有的requestBody JObject中,以便在声明requestBody的位置下显示为requestBody.Add("criteria", "ID == " + log.ID);。
https://stackoverflow.com/questions/68411479
复制相似问题