public List <Issue> GetAllComics(int numberOfCalls, int startingOffset, int pageResults) { var result = new List <Issue>(); var api_key = "f4f09d38e76dd9b82640fe34672187c7eab5ef73"; pageResults = pageResults > 100 ? 100 : pageResults; for (int i = 0; i < numberOfCalls; i++) { var client = new RestClient("http://comicvine.gamespot.com/api"); var request = new RestRequest("issues", Method.GET); request.AddParameter("api_key", api_key); request.AddParameter("field_list", "description,id,image,issue_number,name,store_date"); request.AddParameter("limit", pageResults); request.AddParameter("offset", startingOffset); request.AddParameter("format", "json"); IRestResponse response = client.Execute(request); IssuesResponse issues = JsonConvert.DeserializeObject <IssuesResponse>(response.Content); issues.results = issues.results.Where(x => x.Name != null && x.Name != "").ToList(); result.AddRange(issues.results); startingOffset = startingOffset + pageResults; } return(result); }
public async Task <List <Issue> > GetIssuesAsync(int offset, int projectId) { List <Issue> issues = null; HttpResponseMessage response = await client.GetAsync("/issues.json?limit=50&offset=" + offset + "&project_id=" + projectId); if (response.IsSuccessStatusCode) { IssuesResponse issuesResponse = await response.Content.ReadAsAsync <IssuesResponse>(); issues = issuesResponse.issues; //string s = await response.Content.ReadAsStringAsync(); //Console.WriteLine("anhlt" + s); } return(issues); }
private async Task <IssuesResponse> PostAsync(IssuesRequest request, CancellationToken token) { var postBody = request.ToJsonText(); var httpRequestMessage = new HttpRequestMessage(HttpMethod.Post, new Uri("https://api.github.com/graphql")); httpRequestMessage.Headers.Add("Authorization", $"Token {GitHubAccessToken}"); httpRequestMessage.Content = new StringContent(postBody, Encoding.UTF8, "application/json"); var httpResponseMessage = await myHttpClient.SendAsync(httpRequestMessage, token).ConfigureAwait(false); httpResponseMessage.EnsureSuccessStatusCode(); var responseBody = await httpResponseMessage.Content.ReadAsStringAsync().ConfigureAwait(false); return(IssuesResponse.Parse(responseBody)); }