Ejemplo n.º 1
0
 /*@author Daniel Sandberg
  * The method constructs the request.
  */
 private void CreateRequest(Query query, int profileCounter)
 {
     string uri = query.ToString(profileCounter);
     request = HttpRequestFactory.Instance.CreateRequest(uri);
     request.Method = "GET";
     request.ContentType = "application/x-www-form-urlencoded";
     UTF8Encoding encoding = new UTF8Encoding();
     request.Headers.Add("Authorization: GoogleLogin auth=" + authenticationToken);
     request.Headers.Add("GData-Version: 2");
     request.ContentLength = 0;
 }
Ejemplo n.º 2
0
        /*@author Daniel Sandberg
         * The method constructs the request.
         */
        private void CreateRequest(Query query, int profileCounter)
        {
            string uri = query.ToString(profileCounter);

            request             = HttpRequestFactory.Instance.CreateRequest(uri);
            request.Method      = "GET";
            request.ContentType = "application/x-www-form-urlencoded";
            UTF8Encoding encoding = new UTF8Encoding();

            request.Headers.Add("Authorization: GoogleLogin auth=" + authenticationToken);
            request.Headers.Add("GData-Version: 2");
            request.ContentLength = 0;
        }
Ejemplo n.º 3
0
        public Report GetReport(Query query, string authToken, int profileCounter)
        {
            authenticationToken = authToken;
            NotifySubscribers(10, "Requesting report", null);
            Report report             = new Report();
            int    originalStartIndex = query.StartIndex;

            CreateRequest(query, profileCounter);
            if (!RequestData(request))
            {
                return(report);
            }

            int dimensionsAndMetrics = query.GetDimensionsAndMetricsCount();

            if (xDoc != null)
            {
                NotifySubscribers(50, "Extract data", null);
                report.Data    = ExtractDataFromXml(xDoc, dimensionsAndMetrics);
                report.Query   = query.ToString();
                report.SiteURI = query.Ids[profileCounter].Value;
            }
            report.Headers = SetHeaders(query);

            // Checks if paging is neccessary.
            while (totalHitResult > upperLimitBound && upperLimitBound > 10000)
            {
                query.StartIndex = query.StartIndex + 10000;
                query.MaxResults = upperLimitBound = query.MaxResults + 10000;
                CreateRequest(query, profileCounter);
                if (!RequestData(request))
                {
                    return(report);
                }
                NotifySubscribers(50, "Extract data", null);
                report.Data = ExtractDataFromXml(xDoc, dimensionsAndMetrics);
                if (upperLimitBound <= query.MaxResults)
                {
                    break;
                }
            }
            query.StartIndex = originalStartIndex;
            return(report);
        }
Ejemplo n.º 4
0
        public Report GetReport(Query query, string authToken, int profileCounter)
        {
            authenticationToken = authToken;
            NotifySubscribers(10 , "Requesting report" , null);
            Report report = new Report();
            int originalStartIndex = query.StartIndex;

            CreateRequest(query, profileCounter);
            if (!RequestData(request))
                return report;

            int dimensionsAndMetrics = query.GetDimensionsAndMetricsCount();

            if (xDoc != null)
            {
                NotifySubscribers(50, "Extract data", null);
                report.Data = ExtractDataFromXml(xDoc, dimensionsAndMetrics);
                report.Query = query.ToString();
                report.SiteURI = query.Ids[profileCounter].Value;
            }
            report.Headers = SetHeaders(query);

            // Checks if paging is neccessary.
            while (totalHitResult > upperLimitBound && upperLimitBound > 10000)
            {
                query.StartIndex = query.StartIndex + 10000;
                query.MaxResults = upperLimitBound = query.MaxResults + 10000;
                CreateRequest(query, profileCounter);
                if (!RequestData(request))
                    return report;
                NotifySubscribers(50, "Extract data", null);
                report.Data = ExtractDataFromXml(xDoc, dimensionsAndMetrics);
                if (upperLimitBound <= query.MaxResults)
                    break;
            }
            query.StartIndex = originalStartIndex;
            return report;
        }
Ejemplo n.º 5
0
        private static object[] GetQueryInformation(Query query, Report report, int profileCounter)
        {
            string timePeriod = "";
            if (!query.SelectDates)
            {
                timePeriod += query.TimePeriod.ToString();
            }
            else
            {
                timePeriod = "PeriodNotSpecified";
            }

            object[] queryInformation = new object[] { report.SiteURI + " [ " + query.StartDate.ToShortDateString() + " -> " + query.EndDate.ToShortDateString() + " ]\n"
                + string.Format( "{0}queryString={1};rows={2};columns={3};timePeriod={4}]",
                                queryInfoIdentifier, query.ToString(profileCounter), report.Hits, query.GetDimensionsAndMetricsCount(), timePeriod)};
            return queryInformation;
        }