【问题标题】:Revulytics event tracking returning Bad RequestRevulytics 事件跟踪返回错误请求
【发布时间】:2017-10-08 07:48:50
【问题描述】:

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

    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.dll 中发生“System.Net.WebException”类型的未处理异常 附加信息:远程服务器返回错误:(400) 错误请求。 有没有办法从 Revulytics 服务器获取更多错误信息?

【问题讨论】:

    标签: c# json bad-request


    【解决方案1】:

    尝试处理异常并查看错误响应流。我遇到了类似的错误:虽然 JSON 格式正确,但如果从服务器的角度来看参数的值不正确,它仍然会返回此错误 - 这与 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);
    }    
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 2020-07-04
      • 2019-11-12
      • 1970-01-01
      • 2019-07-28
      相关资源
      最近更新 更多