Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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");
            }
        }