/// <summary> /// Returns a page of results, defined by the request and page parameters. /// </summary> /// <param name="reportRequest">An instance of the Generate request for the report.</param> /// <param name="startIndex">The starting index for this page.</param> /// <param name="pageSize">The maximum page size.</param> /// <returns></returns> private static AdsenseReportsGenerateResponse getPage( ReportsResource.GenerateRequest reportRequest, int startIndex, int pageSize) { reportRequest.StartIndex = startIndex; reportRequest.MaxResults = pageSize; // Run next page of report. return(reportRequest.Fetch()); }
/// <summary> /// This example prints a report, using a filter for a specified ad client. /// </summary> /// <param name="service">AdSense service object on which to run the requests.</param> /// <param name="adClientId">The ID for the ad client to be used.</param> private void GenerateReport(AdSenseHostService service, string adClientId) { Console.WriteLine("================================================================="); Console.WriteLine("Running report for ad client {0}", adClientId); Console.WriteLine("================================================================="); // Prepare report. var startDate = DateTime.Today.ToString(DateFormat); var endDate = DateTime.Today.AddDays(-7).ToString(DateFormat); ReportsResource.GenerateRequest reportRequest = this.service.Reports.Generate(startDate, endDate); // Specify the desired ad client using a filter, as well as other parameters. // A complete list of metrics and dimensions is available on the documentation. reportRequest.Filter = new List <string> { "AD_CLIENT_ID==" + ReportHelper.EscapeFilterParameter(adClientId) }; reportRequest.Metric = new List <string> { "PAGE_VIEWS", "AD_REQUESTS", "AD_REQUESTS_COVERAGE", "AD_REQUESTS_CTR", "COST_PER_CLICK", "AD_REQUESTS_RPM", "EARNINGS" }; reportRequest.Dimension = new List <string> { "DATE" }; //A list of dimensions to sort by: + means ascending, - means descending reportRequest.Sort = new List <string> { "+DATE" }; // Run report. Report reportResponse = reportRequest.Execute(); if (reportResponse.Rows != null && reportResponse.Rows.Count > 0) { ReportHelper.displayHeaders(reportResponse.Headers); ReportHelper.displayRows(reportResponse.Rows); } else { Console.WriteLine("No rows returned."); } Console.WriteLine(); }
public List<AdExGoogleStats> GetAdxData() { List<AdExGoogleStats> stats = new List<AdExGoogleStats>(); try { AdExchangeSellerService service_adex = new AdExchangeSellerService(new AdExchangeSellerService.Initializer() { HttpClientInitializer = OauthCredentials, ApplicationName = "Admixer Exchange", }); ReportsResource.GenerateRequest gr = new ReportsResource.GenerateRequest(service_adex, StarDate, EndDate); gr.Metric = Metrics; gr.Dimension = Dimensions; gr.Sort = "DATE"; gr.Locale = "en_US"; Report report = gr.Execute(); //stat = report.Rows.Cast<AdExGoogleStat>().ToList(); foreach (var item in report.Rows) { try { if (string.IsNullOrEmpty(item.ElementAt(1))) continue; AdExGoogleStats statobject = new AdExGoogleStats() { Date = DateTime.Parse(item.ElementAt(0)), Id = Int64.Parse(item.ElementAt(1)), TagName = item.ElementAt(2), MatchedRequests = Int64.Parse(item.ElementAt(4)), Clicks = Int32.Parse(item.ElementAt(5)), CTR = decimal.Parse(item.ElementAt(6)), eCPM = decimal.Parse(item.ElementAt(7)), Revenue = decimal.Parse(item.ElementAt(8)), Size = item.ElementAt(3), Width = Int32.Parse(item.ElementAt(3).Substring(0, item.ElementAt(3).IndexOf('x'))), Height = Int32.Parse(item.ElementAt(3).Substring(item.ElementAt(3).IndexOf('x') + 1, item.ElementAt(3).Length - (item.ElementAt(3).IndexOf('x') + 1))), Requests = Int32.Parse(item.ElementAt(9)) }; stats.Add(statobject); } catch (Exception ex) { Logger.Write("ex_GetAdxData", ex.Message); } } } catch (Exception ex) { Logger.Write("ex_GetAdxData", ex.Message); stats = null; } Logger.Write("GetAdxData", "Adx Data received"); return stats; }