2017-10-08 10 views
0

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サーバーからエラー情報を取得する方法はありますか?

答えて

0

例外を処理し、エラー応答ストリームを確認してください。同様のエラーが発生しました.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); 
}  

が、これは

を役に立てば幸い
関連する問題