Revulytics事件跟踪返回错误请求

问题描述:

我正在测试Revulytics报告API,并且正在尝试生成高级事件跟踪报告,按照http://devzone.revulytics.com/docs/API/event-tracking-advanced-reports.html#。 我使用C#和WebClient类来发送HTTP查询(以及用于JSON解析和格式化的Newtonsoft)。不过,虽然我的JSON格式正确,客户端配置正确,但我得到了未处理的异常。代码示例以下:Revulytics事件跟踪返回错误请求

RuiAdvancedRequest advancedRequest = new RuiAdvancedRequest(); 
    DateTime startDate = DateTime.Now.AddDays(-180); 
    advancedRequest.user = textUser.Text; 
    advancedRequest.sessionId = authResponseObj.sessionId; 
    advancedRequest.productId = Convert.ToInt64(textProductId.Text); 
    advancedRequest.startDate = startDate.ToString("yyyy-MM-dd"); 
    advancedRequest.stopDate = DateTime.Now.Date.ToString("yyyy-MM-dd"); 
    advancedRequest.events = list; 
    string serializedRequest = JsonConvert.SerializeObject(advancedRequest); 
    string reportResult = client.UploadString(featureuUsageURL, "POST", serializedRequest); 

最后一行失败:类型System.Net.WebException'的未处理的异常发生在System.dll中 其他信息:远程服务器返回一个错误:(400)错误的请求。 有没有办法从Revulytics服务器获取更多错误信息?

尝试处理异常并查看错误响应流。我得到了一个类似的错误:虽然JSON格式正确,但如果从服务器的角度来看params的值不正确,它仍会返回此错误 - 这与JSON格式不正确相同。

try 
{ 
    reportResult = client.UploadString(featureuUsageURL, "POST", serializedRequest); 
} 
catch (WebException error) 
{ 
    string responseText; 
    var responseStream = error.Response?.GetResponseStream(); 
    if (responseStream != null) 
    { 
    using (var reader = new StreamReader(responseStream)) 
    { 
responseText = reader.ReadToEnd(); 
MessageBox.Show(responseText); 
}  

希望这有助于