/// <summary>
        /// Returns real-time Google Analytics data for a view (profile).
        /// https://developers.google.com/analytics/devguides/reporting/realtime/v3/reference/data/realtime/get
        /// 
        /// 
        /// Beta:
        /// The Real Time Reporting API is currently available as a developer preview in limited beta. If you're interested in signing up, request access to the beta.
        /// https://docs.google.com/forms/d/1qfRFysCikpgCMGqgF3yXdUyQW4xAlLyjKuOoOEFN2Uw/viewform
        /// Apply for access wait 24 hours and then try you will not hear from Google when you have been approved. 
        /// 
        /// Documentation: Dimension and metric reference https://developers.google.com/analytics/devguides/reporting/realtime/dimsmets/
        /// </summary>
        /// <param name="service">Valid authenticated Google analytics service</param>
        /// <param name="profileId">Profile id to request data from </param>
        /// <param name="metrics">Valid Real time Metrics (Required)</param>
        /// <param name="optionalValues">Optional values can be null</param>
        /// <returns>https://developers.google.com/analytics/devguides/reporting/realtime/v3/reference/data/realtime#resource</returns>
        public static RealtimeData Get(AnalyticsService service, string profileId, string metrics, OptionalValues optionalValues)
        {
            try
            {

                DataResource.RealtimeResource.GetRequest request = service.Data.Realtime.Get(String.Format("ga:{0}", profileId), metrics);
                request.MaxResults = 10000;


                if (optionalValues != null)
                {
                    request.Dimensions = optionalValues.Dimensions;
                    request.Sort = optionalValues.Sort;
                    request.Filters = optionalValues.Filter;
                }


                RealtimeData feed = request.Execute();

                return feed;
            }
            catch (Exception ex)
            {

                Console.WriteLine(ex.Message);
                return null;

            }


        }
Ejemplo n.º 2
0
        public IniProperty(IniProperty p)
        {
            Key   = p.Key;
            Value = p.Value;

            Comments.AddRange(p.Comments);
            OptionalValues.AddRange(p.OptionalValues);
        }
Ejemplo n.º 3
0
        public bool IsOptionalValue(string enumCode)
        {
            bool isOptionalValue = false;

            if (OptionalValues != null && OptionalValues.Count != 0)
            {
                isOptionalValue = OptionalValues.Contains(enumCode);
            }

            return(isOptionalValue);
        }
Ejemplo n.º 4
0
        public static void WriteOptionals(string expectedHex, bool hasUtf8, bool hasIa5)
        {
            var data = new OptionalValues
            {
                Utf8String = hasUtf8 ? "UTF8" : null,
                IA5String  = hasIa5 ? "IA5" : null,
            };

            AsnWriter writer = AsnSerializer.Serialize(data, AsnEncodingRules.DER);

            Assert.Equal(expectedHex, writer.Encode().ByteArrayToHex());
        }
Ejemplo n.º 5
0
        public static void TooMuchDataForValue()
        {
            // Two empty sequences, which is more data than one OptionalValues value.
            byte[] inputData = "30003000".HexToByteArray();

            OptionalValues parsed = AsnSerializer.Deserialize <OptionalValues>(
                inputData,
                AsnEncodingRules.BER,
                out int bytesRead);

            Assert.NotNull(parsed);
            Assert.Equal(2, bytesRead);

            Assert.Throws <CryptographicException>(
                () => AsnSerializer.Deserialize <OptionalValues>(inputData, AsnEncodingRules.BER));
        }
Ejemplo n.º 6
0
        public static Events list(CalendarService service, string id, OptionalValues optionalValues)
        {
            var request = service.Events.List(id);


            if (optionalValues == null)
            {
                request.MaxResults = 100;
            }
            else
            {
                request.MaxResults  = optionalValues.MaxResults;
                request.ShowDeleted = optionalValues.ShowDeleted;
            }

            return(ProcessResults(request));
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Lists all the datasets in the specified project to which the caller has read access; however, a project owner can list (but not necessarily get) all datasets in his project.
        ///
        /// Documentation: https://cloud.google.com/bigquery/docs/reference/v2/datasets/list
        /// </summary>
        /// <param name="service"></param>
        /// <param name="projectId"></param>
        /// <param name="optionalValues"></param>
        /// <returns></returns>
        public static DatasetList list(BigqueryService service, string projectId, OptionalValues optionalValues)
        {
            var request = service.Datasets.List(projectId);


            if (optionalValues == null)
            {
                request.MaxResults = 100;
            }
            else
            {
                request.MaxResults = optionalValues.MaxResults;
                request.All        = optionalValues.ShowHidden;
            }

            return(ProcessResults(request));
        }
        public static CalendarList list(CalendarService service, OptionalValues optionalValues)
        {
            var request = service.CalendarList.List();


            if (optionalValues == null)
            {
                request.MaxResults = 100;
            }
            else
            {
                request.MaxResults    = optionalValues.MaxResults;
                request.ShowDeleted   = optionalValues.ShowDeleted;
                request.ShowHidden    = optionalValues.ShowHidden;
                request.MinAccessRole = optionalValues.MinAccessRole;
            }

            return(ProcessResults(request));
        }
Ejemplo n.º 9
0
        public void Should_serialize_optional_null_values()
        {
            var model = new OptionalValues
            {
                OptionalReferenceTypeProperty = null,
                OptionalNullableTypeProperty  = null,
                OptionalReferenceTypeField    = null,
                OptionalNullableTypeField     = null
            };

            var result = Serialize.Json(model, x => x.IncludePublicFields()
                                        .Serialization(s => s.IncludeNullMembers()));

            result.ShouldEqual("{" +
                               "\"OptionalReferenceTypeProperty\":null," +
                               "\"OptionalNullableTypeProperty\":null," +
                               "\"OptionalReferenceTypeField\":null," +
                               "\"OptionalNullableTypeField\":null" +
                               "}");
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Lists all the datasets in the specified project to which the caller has read access; however, a project owner can list (but not necessarily get) all datasets in his project. 
        /// 
        /// Documentation: https://cloud.google.com/bigquery/docs/reference/v2/datasets/list
        /// </summary>
        /// <param name="service"></param>
        /// <param name="projectId"></param>
        /// <param name="optionalValues"></param>
        /// <returns></returns>
        public static DatasetList list(BigqueryService service, string projectId, OptionalValues optionalValues)
        {

            var request = service.Datasets.List(projectId);


            if (optionalValues == null)
            {
                request.MaxResults = 100;
            }
            else
            {
                request.MaxResults = optionalValues.MaxResults;
                request.All = optionalValues.ShowHidden;

            }

            return ProcessResults(request);


        }
        public static CalendarList list(CalendarService service, OptionalValues optionalValues)
        {

            var request = service.CalendarList.List();


            if (optionalValues == null)
            {
                request.MaxResults = 100;
            }
            else
            {
                request.MaxResults = optionalValues.MaxResults;
                request.ShowDeleted = optionalValues.ShowDeleted;
                request.ShowHidden = optionalValues.ShowHidden;
                request.MinAccessRole = optionalValues.MinAccessRole;
            }

            return ProcessResults(request);


        }
Ejemplo n.º 12
0
        public void Should_serialize_optional_values()
        {
            var model = new OptionalValues
            {
                OptionalReferenceTypeProperty = "fark",
                OptionalValueTypeProperty     = 5,
                OptionalNullableTypeProperty  = 6,
                OptionalReferenceTypeField    = "farker",
                OptionalValueTypeField        = 7,
                OptionalNullableTypeField     = 8
            };

            var result = Serialize.Json(model, x => x.IncludePublicFields());

            result.ShouldEqual("{" +
                               "\"OptionalReferenceTypeProperty\":\"fark\"," +
                               "\"OptionalValueTypeProperty\":5," +
                               "\"OptionalNullableTypeProperty\":6," +
                               "\"OptionalReferenceTypeField\":\"farker\"," +
                               "\"OptionalValueTypeField\":7," +
                               "\"OptionalNullableTypeField\":8" +
                               "}");
        }
Ejemplo n.º 13
0
        public void Should_serialize_optional_null_values()
        {
            var model = new OptionalValues
            {
                OptionalReferenceTypeProperty = null,
                OptionalNullableTypeProperty = null,
                OptionalReferenceTypeField = null,
                OptionalNullableTypeField = null
            };

            var result = Serialize.Json(model, x => x.IncludePublicFields()
                .Serialization(s => s.IncludeNullMembers()));

            result.ShouldEqual("{" +
                "\"OptionalReferenceTypeProperty\":null," +
                "\"OptionalNullableTypeProperty\":null," +
                "\"OptionalReferenceTypeField\":null," +
                "\"OptionalNullableTypeField\":null" +
            "}");
        }
Ejemplo n.º 14
0
 /// <summary>
 /// You query the Core Reporting API for Google Analytics report data.
 /// Documentation: https://developers.google.com/analytics/devguides/reporting/core/v3/reference
 ///
 /// Dimension and metric reference : https://developers.google.com/analytics/devguides/reporting/core/dimsmets
 /// </summary>
 /// <param name="service">Valid Authenticated AnalyticsServicve </param>
 /// <param name="ProfileId">The unique table ID of the form XXXX, where XXXX is the Analytics view (profile) ID for which the query will retrieve the data. </param>
 /// <param name="StartDate">Start date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or NdaysAgo where N is a positive integer). </param>
 /// <param name="EndDate">End date for fetching Analytics data. Request can specify an end date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or NdaysAgo where N is a positive integer). </param>
 /// <param name="Metrics">A list of comma-separated metrics, such as ga:sessions,ga:bounces. </param>
 /// <param name="optionalValues">Optional values can be null </param>
 /// <returns></returns>
 public static GaData Get(AnalyticsService service, string profileId, string startDate, string endDate, string metrics, OptionalValues optionalValues)
 {
     DataResource.GaResource.GetRequest request = service.Data.Ga.Get(String.Format("ga:{0}", profileId), startDate, endDate, metrics);
     if (optionalValues == null)
     {
         request.MaxResults = 1000;
     }
     else
     {
         request.MaxResults    = optionalValues.MaxResults;
         request.Dimensions    = optionalValues.Dimensions;
         request.SamplingLevel = optionalValues.Sampling;
         request.Segment       = optionalValues.Segment;
         request.Sort          = optionalValues.Sort;
         request.Filters       = optionalValues.Filter;
     }
     return(ProcessResults(request));
 }
        /// <summary>
        /// You query the Core Reporting API for Google Analytics report data. 
        /// Documentation: https://developers.google.com/analytics/devguides/reporting/core/v3/reference
        /// 
        /// Dimension and metric reference : https://developers.google.com/analytics/devguides/reporting/core/dimsmets
        /// </summary>
        /// <param name="service">Valid Authenticated AnalyticsServicve </param>
        /// <param name="ProfileId">The unique table ID of the form XXXX, where XXXX is the Analytics view (profile) ID for which the query will retrieve the data. </param>
        /// <param name="StartDate">Start date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or NdaysAgo where N is a positive integer). </param>
        /// <param name="EndDate">End date for fetching Analytics data. Request can specify an end date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or NdaysAgo where N is a positive integer). </param>
        /// <param name="Metrics">A list of comma-separated metrics, such as ga:sessions,ga:bounces. </param>
        /// <param name="optionalValues">Optional values can be null </param>
        /// <returns></returns>
        public static GaData Get(AnalyticsService service, string profileId, string startDate, string endDate, string metrics, OptionalValues optionalValues)
        {
            
            ILog logger = LogManager.GetLogger(typeof(OptionalValues));
            try {
                DataResource.GaResource.GetRequest request = service.Data.Ga.Get(String.Format("ga:{0}", profileId), startDate, endDate, metrics);
                if (optionalValues == null)
                {
                    request.MaxResults = 1000;
                }
                else
                {
                    request.MaxResults = optionalValues.MaxResults;
                    request.Dimensions = optionalValues.Dimensions;
                    request.SamplingLevel = optionalValues.Sampling;
                    request.Segment = optionalValues.Segment;
                    request.Sort = optionalValues.Sort;
                    request.Filters = optionalValues.Filter;

                }
                return ProcessResults(request);
            }
            catch (Exception e) 
            {
                logger.Error(e.StackTrace);
                logger.Error(e.Message);
            }
            return null;
           
        }
        /// <summary>
        /// You query the Core Reporting API for Google Analytics report data. 
        /// Documentation: https://developers.google.com/analytics/devguides/reporting/core/v3/reference
        /// 
        /// Dimension and metric reference : https://developers.google.com/analytics/devguides/reporting/core/dimsmets
        /// </summary>
        /// <param name="service">Valid Authenticated AnalyticsServicve </param>
        /// <param name="ProfileId">The unique table ID of the form XXXX, where XXXX is the Analytics view (profile) ID for which the query will retrieve the data. </param>
        /// <param name="StartDate">Start date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or NdaysAgo where N is a positive integer). </param>
        /// <param name="EndDate">End date for fetching Analytics data. Request can specify an end date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or NdaysAgo where N is a positive integer). </param>
        /// <param name="Metrics">A list of comma-separated metrics, such as ga:sessions,ga:bounces. </param>
        /// <param name="optionalValues">Optional values can be null </param>
        /// <returns></returns>
        public static GaData Get(AnalyticsService service, string profileId, string startDate, string endDate, string metrics, OptionalValues optionalValues)
        {
            DataResource.GaResource.GetRequest request = service.Data.Ga.Get(String.Format("ga:{0}", profileId), startDate, endDate, metrics);
            if (optionalValues == null)
            {
                request.MaxResults = 1000;
            }
            else
            {
                request.MaxResults = optionalValues.MaxResults;
                request.Dimensions = optionalValues.Dimensions;
                request.SamplingLevel = optionalValues.Sampling;
                request.Segment = optionalValues.Segment;
                request.Sort = optionalValues.Sort;
                request.Filters = optionalValues.Filter;

            }
            return ProcessResults(request);
        }
Ejemplo n.º 17
0
 /// <summary>
 /// You query the Core Reporting API for Google Analytics report data.
 /// Documentation: https://developers.google.com/analytics/devguides/reporting/core/v3/reference
 ///
 /// Dimension and metric reference : https://developers.google.com/analytics/devguides/reporting/core/dimsmets
 /// </summary>
 /// <param name="service">Valid Authenticated AnalyticsServicve </param>
 /// <param name="ProfileId">The unique table ID of the form XXXX, where XXXX is the Analytics view (profile) ID for which the query will retrieve the data. </param>
 /// <param name="StartDate">Start date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or NdaysAgo where N is a positive integer). </param>
 /// <param name="EndDate">End date for fetching Analytics data. Request can specify an end date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or NdaysAgo where N is a positive integer). </param>
 /// <param name="Metrics">A list of comma-separated metrics, such as ga:sessions,ga:bounces. </param>
 /// <param name="optionalValues">Optional values can be null </param>
 /// <returns></returns>
 public static GaData Get(AnalyticsService service, string profileId, string startDate, string endDate, string metrics, OptionalValues optionalValues)
 {
     // ILog logger = LogManager.GetLogger(typeof(OptionalValues));
     try
     {
         DataResource.GaResource.GetRequest request = service.Data.Ga.Get(String.Format("ga:{0}", profileId), startDate, endDate, metrics);
         if (optionalValues == null)
         {
             request.MaxResults = 1000;
         }
         else
         {
             request.MaxResults    = optionalValues.MaxResults;
             request.Dimensions    = optionalValues.Dimensions;
             request.SamplingLevel = optionalValues.Sampling;
             request.Segment       = optionalValues.Segment;
             request.Sort          = optionalValues.Sort;
             request.Filters       = optionalValues.Filter;
         }
         return(ProcessResults(request));
     }
     catch (Exception e)
     {
         //  logger.Error(e.StackTrace);
         //logger.Error(e.Message);
     }
     return(null);
 }
        public static Events list(CalendarService service, string id  ,OptionalValues optionalValues)
        {

            var request = service.Events.List(id);


            if (optionalValues == null)
            {
                request.MaxResults = 100;
            }
            else
            {
                request.MaxResults = optionalValues.MaxResults;
                request.ShowDeleted = optionalValues.ShowDeleted;
            }

            return ProcessResults(request);


        }
Ejemplo n.º 19
0
        /// <summary>
        /// Returns real-time Google Analytics data for a view (profile).
        /// https://developers.google.com/analytics/devguides/reporting/realtime/v3/reference/data/realtime/get
        ///
        ///
        /// Beta:
        /// The Real Time Reporting API is currently available as a developer preview in limited beta. If you're interested in signing up, request access to the beta.
        /// https://docs.google.com/forms/d/1qfRFysCikpgCMGqgF3yXdUyQW4xAlLyjKuOoOEFN2Uw/viewform
        /// Apply for access wait 24 hours and then try you will not hear from Google when you have been approved.
        ///
        /// Documentation: Dimension and metric reference https://developers.google.com/analytics/devguides/reporting/realtime/dimsmets/
        /// </summary>
        /// <param name="service">Valid authenticated Google analytics service</param>
        /// <param name="profileId">Profile id to request data from </param>
        /// <param name="metrics">Valid Real time Metrics (Required)</param>
        /// <param name="optionalValues">Optional values can be null</param>
        /// <returns>https://developers.google.com/analytics/devguides/reporting/realtime/v3/reference/data/realtime#resource</returns>
        public static RealtimeData Get(AnalyticsService service, string profileId, string metrics, OptionalValues optionalValues)
        {
            try
            {
                DataResource.RealtimeResource.GetRequest request = service.Data.Realtime.Get(String.Format("ga:{0}", profileId), metrics);
                request.MaxResults = 10000;


                if (optionalValues != null)
                {
                    request.Dimensions = optionalValues.Dimensions;
                    request.Sort       = optionalValues.Sort;
                    request.Filters    = optionalValues.Filter;
                }


                RealtimeData feed = request.Execute();

                return(feed);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(null);
            }
        }
Ejemplo n.º 20
0
        public void Should_serialize_optional_values()
        {
            var model = new OptionalValues
            {
                OptionalReferenceTypeProperty = "fark",
                OptionalValueTypeProperty = 5,
                OptionalNullableTypeProperty = 6,
                OptionalReferenceTypeField = "farker",
                OptionalValueTypeField = 7,
                OptionalNullableTypeField = 8
            };

            var result = Serialize.Json(model, x => x.IncludePublicFields());

            result.ShouldEqual("{" +
                "\"OptionalReferenceTypeProperty\":\"fark\"," +
                "\"OptionalValueTypeProperty\":5," +
                "\"OptionalNullableTypeProperty\":6," +
                "\"OptionalReferenceTypeField\":\"farker\"," +
                "\"OptionalValueTypeField\":7," +
                "\"OptionalNullableTypeField\":8" +
            "}");
        }