问题描述
我正在尝试更新 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 的地方。