2012-03-01 3 views
2

그래서 임 http://momentapp.com/docsRestSharp 요청

여기 내 코드 워드 프로세서에 따라 순간 작업 스케줄링을 사용하는 RestSharp를 설정하려고합니다.

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; 
    } 

문제

는 422

이 도와주세요 returnig HTTP 항상 것입니다.

+0

'422 처리 할 수 ​​없음 Entity' 작동 할 때 내가하고 AddParameter를 사용해야하는 경우에 임 완전히 확실하지 - 무엇을보고 사용 피들러를 실제로 전선에서 나가서 그것이 당신이 기대하는 것처럼 보이는지 확인하십시오. –

+0

Im에 대한 전문 지식이 없으므로, http : //www.example.com에 전문가가 없기를 기대합니다. ... fiddler는 초보자들에게 매우 친숙하지 않습니다. ( – ignaciofuentes

+0

그냥 momentapp을 보았습니다. Quartz.Net available http : //quartznet.sourceforge.net/ – Jeremy

답변

1

그래서 내가 결국에 끝났습니다. 여기에 샘플을 발견 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; 
     } 

내가 AddUrlSegment 를 사용해야하지만, 어쨌든 지금

+0

그 예제에서 URL 세그먼트를 만든 이유는 API가 POST 요청을 필요로하기 때문에 POST 매개 변수 대신 URL 매개 변수를 사용했기 때문입니다. 이상한 조합입니다 –

+0

고마워요. – ignaciofuentes

+0

가장 좋은 방법은 이 서비스에서 시간을 보낸다 :'request.AddUrlSegment ("at", nextRun.ToString ("yyyy-MM-ddTHH : mm : ss Z")); – balexandre

관련 문제