1

特定の日付の API を使用して Freckle の時間エントリを取得したいのですが、404 - Not Found が発生し、URL の形式を変更すると 406 - Not Acceptable が生成されます。そして、日付フィルターを使用せずにアクセスしたい場合は、正常に動作します。日付フィルター用に送信している URI は次のとおりです。

        string dFilter = @"\ -data'search[from]=2012-07-05'";
        string uri = @"https://apitest.letsfreckle.com/api/entries.xml"+dFilter;
        webRequest = (HttpWebRequest)WebRequest.Create(uri);
        webRequest.Headers.Add("X-FreckleToken:lx3gi6pxdjtjn57afp8c2bv1me7g89j");
        webRequest.Method = "GET";
        WebResponse webResponse = webRequest.GetResponse();
        StreamReader sr = new StreamReader(webResponse.GetResponseStream());
        responseXML = sr.ReadToEnd();

この日付フィルターの正しい使い方を教えてください。API のドキュメントは次の場所にあります

前もって感謝します。

4

1 に答える 1

3

問題は、コマンドの一部であるスペースとコマンド ライン オプションを使用して URL にフィルターを含めていることだと思いますcurl

ドキュメントには、次のようなものが表示されます。

curl -G -H "[stuff]" https://apitest.letsfreckle.com/api/entries.xml \
  -d 'search[from]=2009-10-10'

そこに\は行継続があり-d、リクエストのデータを渡すために使用されます。引用符は、すべてをシェルの 1 つのパラメーターに保持するためのものです。-Gただし、まだリクエストを使用し、データを URL に入れるように言っていGETます...しかし、それはあなたがやったほどではありません。これを試して:

string filter = "search[from]=2012-07-05";
string uri = @"https://apitest.letsfreckle.com/api/entries.xml?" + filter;

(また、および にはusingステートメントを使用する必要があることに注意してください。)WebResponseStreamReader

于 2012-07-07T06:41:03.047 に答える