private SearchConsoleData GetSearchConsoleData(RequestObject request) { var dataResult = new SearchConsoleData { Results = new List <SearchConsoleResult>() }; using var searchConsole = new Google.Apis.Webmasters.v3.WebmastersService( new Google.Apis.Services.BaseClientService.Initializer { HttpClientInitializer = credential, ApplicationName = "Search Console API test" }); SearchAnalyticsQueryRequest body = new SearchAnalyticsQueryRequest(); IList <string> dimensions = new List <string>(); dimensions.Add("query"); dimensions.Add("page"); body.StartDate = DateTime.Today.AddDays(-90).ToShortDateString(); body.EndDate = DateTime.Today.ToShortDateString(); body.Dimensions = dimensions; body.RowLimit = 25000; var result = searchConsole.Searchanalytics.Query(body, request.siteUrl).Execute(); List <SearchConsoleResult> dataList = new List <SearchConsoleResult>(); foreach (var row in result.Rows) { dataList.Add(new SearchConsoleResult { Keyword = row.Keys[0], Page = row.Keys[1], Clicks = (int)row.Clicks, Impressions = (int)row.Impressions, Ctr = row.Ctr, Position = (int)row.Position }); } dataResult.Results.AddRange(dataList); dataResult.NumberOfRows = dataList.Count; return(dataResult); }
public string Get() { using (var searchConsole = new Google.Apis.Webmasters.v3.WebmastersService( new Google.Apis.Services.BaseClientService.Initializer { HttpClientInitializer = credential, ApplicationName = "Search Console API test" })) { var sitesList = searchConsole.Sites.List().Execute(); var sitesResult = new List <string>(); foreach (var site in sitesList.SiteEntry) { if (site.PermissionLevel.Equals("siteOwner") || site.PermissionLevel.Equals("siteFullUser")) { sitesResult.Add(site.SiteUrl); } } return(sitesResult.Count > 0 ? JsonConvert.SerializeObject(sitesResult) : "No sites found"); } }