RestSharp запросы на успокоительный API Momentapp - PullRequest
2 голосов
/ 02 марта 2012

Поэтому я пытаюсь настроить RestSharp для использования планирования задач по моменту в соответствии с документами http://momentapp.com/docs

Вот мой код.

public class MomentApi : ITaskScheduler
    {
        const string BaseUrl = "https://momentapp.com";    

        private RestResponse Execute(RestRequest request)
    {
        var client = new RestClient();
        client.BaseUrl = BaseUrl;
        request.AddParameter("apikey", "MYAPIKEYHERE", ParameterType.UrlSegment); // used on every request
        var response = client.Execute(request);
        return response;
    }

    public HttpStatusCode ScheduleTask(DateTime date, Uri url, string httpMethod, Uri callback = null)
    {
        var request = new RestRequest(Method.POST);
        request.Resource = "jobs.json";
        request.AddParameter("job[uri]", "http://develop.myapp.com/Something");
        request.AddParameter("job[at]", "2012-06-31T18:36:21");
        request.AddParameter("job[method]", "GET");
        var response = Execute(request);
        return response.StatusCode;
    }

Проблема в том, что он всегда возвращаетсяHTTP 422

, пожалуйста, помогите.

1 Ответ

1 голос
/ 02 марта 2012

Итак, это то, чем я закончил. нашел образец здесь http://johnsheehan.me/blog/building-nugetlatest-in-two-hours-3/

public HttpStatusCode ScheduleTask(DateTime date, Uri url, string httpMethod, Uri callback = null)
        {
            var request = new RestRequest("jobs.json?apikey={apikey}&job[uri]={uri}&job[at]={at}&job[method]={method}", Method.POST);
            request.AddUrlSegment("uri", "http://develop.myapp.com/Something");
            request.AddUrlSegment("at", "2012-03-31T18:36:21");
            request.AddUrlSegment("method", "GET");
            var response = Execute(request);
            return response.StatusCode;
        }

Я не совсем уверен, когда мне следует использовать AddParameter и когда я должен использовать AddUrlSegment но в любом случае это работает сейчас

...