google-analytics-data-v1beta 0.1.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 92cac32d4409a7bd6cc432476cebc95e4c489b15b582c4dfe0982c1d5fade41f
4
- data.tar.gz: e3a5dff97864eea55e0b6f9f657e9a7120befe5a8d900580a4497b8ea428ed81
3
+ metadata.gz: '059c6b332489b0cbb18e6c74e9ddb315d7f82adb8dbbe4a68df85ee11c183d78'
4
+ data.tar.gz: a3e25aa05bbed95b21a39fce150a146e86f20c2ec7f4c82473db66c12177ea27
5
5
  SHA512:
6
- metadata.gz: 32339ae1e1b113282a98067656843d05dea03578a19bec145927f4ac26f73701885f974501275922e80d7efbe981df8d9a63c1bdefb20d071c398abcef9bd3f1
7
- data.tar.gz: 47c3c8189703d95b46a6e25537d7a1613c9c81be30726a58a3f4efad6c236c3e9613c105cfe7757095312a6778f6454cbecff0618de7209429f07d8cd8fefad6
6
+ metadata.gz: a4daa847f618a432dc22512099eca529df77c9e9fa569c160c8482e605a60cfb79d705affda9b2449089247fe5f3b84094e7a916d1a91ccdfc6402e10e892014
7
+ data.tar.gz: faac7c705db32dcb11fe6c986f7d3b20cc07084b4caef0e7829cbfadbeb0403cf55e98711101d80466b2fe76ca8c3641225417f3be4aab4e13f96a592d9a8d76
data/AUTHENTICATION.md CHANGED
@@ -66,11 +66,11 @@ The environment variables that google-analytics-data-v1beta
66
66
  checks for credentials are configured on the service Credentials class (such as
67
67
  {::Google::Analytics::Data::V1beta::AnalyticsData::Credentials}):
68
68
 
69
- 1. `ANALYTICS_DATA_CREDENTIALS` - Path to JSON file, or JSON contents
70
- 2. `ANALYTICS_DATA_KEYFILE` - Path to JSON file, or JSON contents
71
- 3. `GOOGLE_CLOUD_CREDENTIALS` - Path to JSON file, or JSON contents
72
- 4. `GOOGLE_CLOUD_KEYFILE` - Path to JSON file, or JSON contents
73
- 5. `GOOGLE_APPLICATION_CREDENTIALS` - Path to JSON file
69
+ * `ANALYTICS_DATA_CREDENTIALS` - Path to JSON file, or JSON contents
70
+ * `ANALYTICS_DATA_KEYFILE` - Path to JSON file, or JSON contents
71
+ * `GOOGLE_CLOUD_CREDENTIALS` - Path to JSON file, or JSON contents
72
+ * `GOOGLE_CLOUD_KEYFILE` - Path to JSON file, or JSON contents
73
+ * `GOOGLE_APPLICATION_CREDENTIALS` - Path to JSON file
74
74
 
75
75
  ```ruby
76
76
  require "google/analytics/data/v1beta"
@@ -82,8 +82,8 @@ client = ::Google::Analytics::Data::V1beta::AnalyticsData::Client.new
82
82
 
83
83
  ### Configuration
84
84
 
85
- The **Credentials JSON** can be configured instead of placing them in
86
- environment variables. Either on an individual client initialization:
85
+ The path to the **Credentials JSON** file can be configured instead of storing
86
+ it in an environment variable. Either on an individual client initialization:
87
87
 
88
88
  ```ruby
89
89
  require "google/analytics/data/v1beta"
@@ -93,7 +93,7 @@ client = ::Google::Analytics::Data::V1beta::AnalyticsData::Client.new do |config
93
93
  end
94
94
  ```
95
95
 
96
- Or configured globally for all clients:
96
+ Or globally for all clients:
97
97
 
98
98
  ```ruby
99
99
  require "google/analytics/data/v1beta"
data/README.md CHANGED
@@ -33,7 +33,7 @@ In order to use this library, you first need to go through the following steps:
33
33
  require "google/analytics/data/v1beta"
34
34
 
35
35
  client = ::Google::Analytics::Data::V1beta::AnalyticsData::Client.new
36
- request = my_create_request
36
+ request = ::Google::Analytics::Data::V1beta::RunReportRequest.new # (request fields as keyword arguments...)
37
37
  response = client.run_report request
38
38
  ```
39
39
 
@@ -41,13 +41,12 @@ module Google
41
41
  # See {::Google::Analytics::Data::V1beta::AnalyticsData::Client::Configuration}
42
42
  # for a description of the configuration fields.
43
43
  #
44
- # ## Example
44
+ # @example
45
45
  #
46
- # To modify the configuration for all AnalyticsData clients:
47
- #
48
- # ::Google::Analytics::Data::V1beta::AnalyticsData::Client.configure do |config|
49
- # config.timeout = 10.0
50
- # end
46
+ # # Modify the configuration for all AnalyticsData clients
47
+ # ::Google::Analytics::Data::V1beta::AnalyticsData::Client.configure do |config|
48
+ # config.timeout = 10.0
49
+ # end
51
50
  #
52
51
  # @yield [config] Configure the Client client.
53
52
  # @yieldparam config [Client::Configuration]
@@ -67,10 +66,7 @@ module Google
67
66
 
68
67
  default_config.timeout = 60.0
69
68
  default_config.retry_policy = {
70
- initial_delay: 1.0,
71
- max_delay: 60.0,
72
- multiplier: 1.3,
73
- retry_codes: [2]
69
+ initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [2]
74
70
  }
75
71
 
76
72
  default_config.rpcs.run_report.timeout = 60.0
@@ -112,19 +108,15 @@ module Google
112
108
  ##
113
109
  # Create a new AnalyticsData client object.
114
110
  #
115
- # ## Examples
116
- #
117
- # To create a new AnalyticsData client with the default
118
- # configuration:
119
- #
120
- # client = ::Google::Analytics::Data::V1beta::AnalyticsData::Client.new
111
+ # @example
121
112
  #
122
- # To create a new AnalyticsData client with a custom
123
- # configuration:
113
+ # # Create a client using the default configuration
114
+ # client = ::Google::Analytics::Data::V1beta::AnalyticsData::Client.new
124
115
  #
125
- # client = ::Google::Analytics::Data::V1beta::AnalyticsData::Client.new do |config|
126
- # config.timeout = 10.0
127
- # end
116
+ # # Create a client using a custom configuration
117
+ # client = ::Google::Analytics::Data::V1beta::AnalyticsData::Client.new do |config|
118
+ # config.timeout = 10.0
119
+ # end
128
120
  #
129
121
  # @yield [config] Configure the AnalyticsData client.
130
122
  # @yieldparam config [Client::Configuration]
@@ -144,14 +136,13 @@ module Google
144
136
 
145
137
  # Create credentials
146
138
  credentials = @config.credentials
147
- # Use self-signed JWT if the scope and endpoint are unchanged from default,
139
+ # Use self-signed JWT if the endpoint is unchanged from default,
148
140
  # but only if the default endpoint does not have a region prefix.
149
- enable_self_signed_jwt = @config.scope == Client.configure.scope &&
150
- @config.endpoint == Client.configure.endpoint &&
141
+ enable_self_signed_jwt = @config.endpoint == Client.configure.endpoint &&
151
142
  !@config.endpoint.split(".").first.include?("-")
152
143
  credentials ||= Credentials.default scope: @config.scope,
153
144
  enable_self_signed_jwt: enable_self_signed_jwt
154
- if credentials.is_a?(String) || credentials.is_a?(Hash)
145
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
155
146
  credentials = Credentials.new credentials, scope: @config.scope
156
147
  end
157
148
  @quota_project_id = @config.quota_project
@@ -212,12 +203,13 @@ module Google
212
203
  # response rows for both date ranges. In a cohort request, this `dateRanges`
213
204
  # must be unspecified.
214
205
  # @param dimension_filter [::Google::Analytics::Data::V1beta::FilterExpression, ::Hash]
215
- # The filter clause of dimensions. Dimensions must be requested to be used in
216
- # this filter. Metrics cannot be used in this filter.
206
+ # Dimension filters allow you to ask for only specific dimension values in
207
+ # the report. To learn more, see [Fundamentals of Dimension
208
+ # Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters)
209
+ # for examples. Metrics cannot be used in this filter.
217
210
  # @param metric_filter [::Google::Analytics::Data::V1beta::FilterExpression, ::Hash]
218
211
  # The filter clause of metrics. Applied at post aggregation phase, similar to
219
- # SQL having-clause. Metrics must be requested to be used in this filter.
220
- # Dimensions cannot be used in this filter.
212
+ # SQL having-clause. Dimensions cannot be used in this filter.
221
213
  # @param offset [::Integer]
222
214
  # The row count of the start row. The first row is counted as row 0.
223
215
  #
@@ -285,16 +277,20 @@ module Google
285
277
  gapic_version: ::Google::Analytics::Data::V1beta::VERSION
286
278
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
287
279
 
288
- header_params = {
289
- "property" => request.property
290
- }
280
+ header_params = {}
281
+ if request.property
282
+ header_params["property"] = request.property
283
+ end
284
+
291
285
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
292
286
  metadata[:"x-goog-request-params"] ||= request_params_header
293
287
 
294
288
  options.apply_defaults timeout: @config.rpcs.run_report.timeout,
295
289
  metadata: metadata,
296
290
  retry_policy: @config.rpcs.run_report.retry_policy
297
- options.apply_defaults metadata: @config.metadata,
291
+
292
+ options.apply_defaults timeout: @config.timeout,
293
+ metadata: @config.metadata,
298
294
  retry_policy: @config.retry_policy
299
295
 
300
296
  @analytics_data_stub.call_rpc :run_report, request, options: options do |response, operation|
@@ -400,16 +396,20 @@ module Google
400
396
  gapic_version: ::Google::Analytics::Data::V1beta::VERSION
401
397
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
402
398
 
403
- header_params = {
404
- "property" => request.property
405
- }
399
+ header_params = {}
400
+ if request.property
401
+ header_params["property"] = request.property
402
+ end
403
+
406
404
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
407
405
  metadata[:"x-goog-request-params"] ||= request_params_header
408
406
 
409
407
  options.apply_defaults timeout: @config.rpcs.run_pivot_report.timeout,
410
408
  metadata: metadata,
411
409
  retry_policy: @config.rpcs.run_pivot_report.retry_policy
412
- options.apply_defaults metadata: @config.metadata,
410
+
411
+ options.apply_defaults timeout: @config.timeout,
412
+ metadata: @config.metadata,
413
413
  retry_policy: @config.retry_policy
414
414
 
415
415
  @analytics_data_stub.call_rpc :run_pivot_report, request, options: options do |response, operation|
@@ -478,16 +478,20 @@ module Google
478
478
  gapic_version: ::Google::Analytics::Data::V1beta::VERSION
479
479
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
480
480
 
481
- header_params = {
482
- "property" => request.property
483
- }
481
+ header_params = {}
482
+ if request.property
483
+ header_params["property"] = request.property
484
+ end
485
+
484
486
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
485
487
  metadata[:"x-goog-request-params"] ||= request_params_header
486
488
 
487
489
  options.apply_defaults timeout: @config.rpcs.batch_run_reports.timeout,
488
490
  metadata: metadata,
489
491
  retry_policy: @config.rpcs.batch_run_reports.retry_policy
490
- options.apply_defaults metadata: @config.metadata,
492
+
493
+ options.apply_defaults timeout: @config.timeout,
494
+ metadata: @config.metadata,
491
495
  retry_policy: @config.retry_policy
492
496
 
493
497
  @analytics_data_stub.call_rpc :batch_run_reports, request, options: options do |response, operation|
@@ -556,16 +560,20 @@ module Google
556
560
  gapic_version: ::Google::Analytics::Data::V1beta::VERSION
557
561
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
558
562
 
559
- header_params = {
560
- "property" => request.property
561
- }
563
+ header_params = {}
564
+ if request.property
565
+ header_params["property"] = request.property
566
+ end
567
+
562
568
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
563
569
  metadata[:"x-goog-request-params"] ||= request_params_header
564
570
 
565
571
  options.apply_defaults timeout: @config.rpcs.batch_run_pivot_reports.timeout,
566
572
  metadata: metadata,
567
573
  retry_policy: @config.rpcs.batch_run_pivot_reports.retry_policy
568
- options.apply_defaults metadata: @config.metadata,
574
+
575
+ options.apply_defaults timeout: @config.timeout,
576
+ metadata: @config.metadata,
569
577
  retry_policy: @config.retry_policy
570
578
 
571
579
  @analytics_data_stub.call_rpc :batch_run_pivot_reports, request, options: options do |response, operation|
@@ -641,16 +649,20 @@ module Google
641
649
  gapic_version: ::Google::Analytics::Data::V1beta::VERSION
642
650
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
643
651
 
644
- header_params = {
645
- "name" => request.name
646
- }
652
+ header_params = {}
653
+ if request.name
654
+ header_params["name"] = request.name
655
+ end
656
+
647
657
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
648
658
  metadata[:"x-goog-request-params"] ||= request_params_header
649
659
 
650
660
  options.apply_defaults timeout: @config.rpcs.get_metadata.timeout,
651
661
  metadata: metadata,
652
662
  retry_policy: @config.rpcs.get_metadata.retry_policy
653
- options.apply_defaults metadata: @config.metadata,
663
+
664
+ options.apply_defaults timeout: @config.timeout,
665
+ metadata: @config.metadata,
654
666
  retry_policy: @config.retry_policy
655
667
 
656
668
  @analytics_data_stub.call_rpc :get_metadata, request, options: options do |response, operation|
@@ -676,7 +688,7 @@ module Google
676
688
  # @param options [::Gapic::CallOptions, ::Hash]
677
689
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
678
690
  #
679
- # @overload run_realtime_report(property: nil, dimensions: nil, metrics: nil, dimension_filter: nil, metric_filter: nil, limit: nil, metric_aggregations: nil, order_bys: nil, return_property_quota: nil)
691
+ # @overload run_realtime_report(property: nil, dimensions: nil, metrics: nil, dimension_filter: nil, metric_filter: nil, limit: nil, metric_aggregations: nil, order_bys: nil, return_property_quota: nil, minute_ranges: nil)
680
692
  # Pass arguments to `run_realtime_report` via keyword arguments. Note that at
681
693
  # least one keyword argument is required. To specify no parameters, or to keep all
682
694
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -717,6 +729,12 @@ module Google
717
729
  # @param return_property_quota [::Boolean]
718
730
  # Toggles whether to return the current state of this Analytics Property's
719
731
  # Realtime quota. Quota is returned in [PropertyQuota](#PropertyQuota).
732
+ # @param minute_ranges [::Array<::Google::Analytics::Data::V1beta::MinuteRange, ::Hash>]
733
+ # The minute ranges of event data to read. If unspecified, one minute range
734
+ # for the last 30 minutes will be used. If multiple minute ranges are
735
+ # requested, each response row will contain a zero based minute range index.
736
+ # If two minute ranges overlap, the event data for the overlapping minutes is
737
+ # included in the response rows for both minute ranges.
720
738
  #
721
739
  # @yield [response, operation] Access the result along with the RPC operation
722
740
  # @yieldparam response [::Google::Analytics::Data::V1beta::RunRealtimeReportResponse]
@@ -743,16 +761,20 @@ module Google
743
761
  gapic_version: ::Google::Analytics::Data::V1beta::VERSION
744
762
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
745
763
 
746
- header_params = {
747
- "property" => request.property
748
- }
764
+ header_params = {}
765
+ if request.property
766
+ header_params["property"] = request.property
767
+ end
768
+
749
769
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
750
770
  metadata[:"x-goog-request-params"] ||= request_params_header
751
771
 
752
772
  options.apply_defaults timeout: @config.rpcs.run_realtime_report.timeout,
753
773
  metadata: metadata,
754
774
  retry_policy: @config.rpcs.run_realtime_report.retry_policy
755
- options.apply_defaults metadata: @config.metadata,
775
+
776
+ options.apply_defaults timeout: @config.timeout,
777
+ metadata: @config.metadata,
756
778
  retry_policy: @config.retry_policy
757
779
 
758
780
  @analytics_data_stub.call_rpc :run_realtime_report, request, options: options do |response, operation|
@@ -763,6 +785,110 @@ module Google
763
785
  raise ::Google::Cloud::Error.from_error(e)
764
786
  end
765
787
 
788
+ ##
789
+ # This compatibility method lists dimensions and metrics that can be added to
790
+ # a report request and maintain compatibility. This method fails if the
791
+ # request's dimensions and metrics are incompatible.
792
+ #
793
+ # In Google Analytics, reports fail if they request incompatible dimensions
794
+ # and/or metrics; in that case, you will need to remove dimensions and/or
795
+ # metrics from the incompatible report until the report is compatible.
796
+ #
797
+ # The Realtime and Core reports have different compatibility rules. This
798
+ # method checks compatibility for Core reports.
799
+ #
800
+ # @overload check_compatibility(request, options = nil)
801
+ # Pass arguments to `check_compatibility` via a request object, either of type
802
+ # {::Google::Analytics::Data::V1beta::CheckCompatibilityRequest} or an equivalent Hash.
803
+ #
804
+ # @param request [::Google::Analytics::Data::V1beta::CheckCompatibilityRequest, ::Hash]
805
+ # A request object representing the call parameters. Required. To specify no
806
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
807
+ # @param options [::Gapic::CallOptions, ::Hash]
808
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
809
+ #
810
+ # @overload check_compatibility(property: nil, dimensions: nil, metrics: nil, dimension_filter: nil, metric_filter: nil, compatibility_filter: nil)
811
+ # Pass arguments to `check_compatibility` via keyword arguments. Note that at
812
+ # least one keyword argument is required. To specify no parameters, or to keep all
813
+ # the default parameter values, pass an empty Hash as a request object (see above).
814
+ #
815
+ # @param property [::String]
816
+ # A Google Analytics GA4 property identifier whose events are tracked. To
817
+ # learn more, see [where to find your Property
818
+ # ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id).
819
+ # `property` should be the same value as in your `runReport` request.
820
+ #
821
+ # Example: properties/1234
822
+ #
823
+ # Set the Property ID to 0 for compatibility checking on dimensions and
824
+ # metrics common to all properties. In this special mode, this method will
825
+ # not return custom dimensions and metrics.
826
+ # @param dimensions [::Array<::Google::Analytics::Data::V1beta::Dimension, ::Hash>]
827
+ # The dimensions in this report. `dimensions` should be the same value as in
828
+ # your `runReport` request.
829
+ # @param metrics [::Array<::Google::Analytics::Data::V1beta::Metric, ::Hash>]
830
+ # The metrics in this report. `metrics` should be the same value as in your
831
+ # `runReport` request.
832
+ # @param dimension_filter [::Google::Analytics::Data::V1beta::FilterExpression, ::Hash]
833
+ # The filter clause of dimensions. `dimensionFilter` should be the same value
834
+ # as in your `runReport` request.
835
+ # @param metric_filter [::Google::Analytics::Data::V1beta::FilterExpression, ::Hash]
836
+ # The filter clause of metrics. `metricFilter` should be the same value as in
837
+ # your `runReport` request
838
+ # @param compatibility_filter [::Google::Analytics::Data::V1beta::Compatibility]
839
+ # Filters the dimensions and metrics in the response to just this
840
+ # compatibility. Commonly used as `”compatibilityFilter”: “COMPATIBLE”`
841
+ # to only return compatible dimensions & metrics.
842
+ #
843
+ # @yield [response, operation] Access the result along with the RPC operation
844
+ # @yieldparam response [::Google::Analytics::Data::V1beta::CheckCompatibilityResponse]
845
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
846
+ #
847
+ # @return [::Google::Analytics::Data::V1beta::CheckCompatibilityResponse]
848
+ #
849
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
850
+ #
851
+ def check_compatibility request, options = nil
852
+ raise ::ArgumentError, "request must be provided" if request.nil?
853
+
854
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Analytics::Data::V1beta::CheckCompatibilityRequest
855
+
856
+ # Converts hash and nil to an options object
857
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
858
+
859
+ # Customize the options with defaults
860
+ metadata = @config.rpcs.check_compatibility.metadata.to_h
861
+
862
+ # Set x-goog-api-client and x-goog-user-project headers
863
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
864
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
865
+ gapic_version: ::Google::Analytics::Data::V1beta::VERSION
866
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
867
+
868
+ header_params = {}
869
+ if request.property
870
+ header_params["property"] = request.property
871
+ end
872
+
873
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
874
+ metadata[:"x-goog-request-params"] ||= request_params_header
875
+
876
+ options.apply_defaults timeout: @config.rpcs.check_compatibility.timeout,
877
+ metadata: metadata,
878
+ retry_policy: @config.rpcs.check_compatibility.retry_policy
879
+
880
+ options.apply_defaults timeout: @config.timeout,
881
+ metadata: @config.metadata,
882
+ retry_policy: @config.retry_policy
883
+
884
+ @analytics_data_stub.call_rpc :check_compatibility, request, options: options do |response, operation|
885
+ yield response, operation if block_given?
886
+ return response
887
+ end
888
+ rescue ::GRPC::BadStatus => e
889
+ raise ::Google::Cloud::Error.from_error(e)
890
+ end
891
+
766
892
  ##
767
893
  # Configuration class for the AnalyticsData API.
768
894
  #
@@ -776,22 +902,21 @@ module Google
776
902
  # Configuration can be applied globally to all clients, or to a single client
777
903
  # on construction.
778
904
  #
779
- # # Examples
905
+ # @example
780
906
  #
781
- # To modify the global config, setting the timeout for run_report
782
- # to 20 seconds, and all remaining timeouts to 10 seconds:
907
+ # # Modify the global config, setting the timeout for
908
+ # # run_report to 20 seconds,
909
+ # # and all remaining timeouts to 10 seconds.
910
+ # ::Google::Analytics::Data::V1beta::AnalyticsData::Client.configure do |config|
911
+ # config.timeout = 10.0
912
+ # config.rpcs.run_report.timeout = 20.0
913
+ # end
783
914
  #
784
- # ::Google::Analytics::Data::V1beta::AnalyticsData::Client.configure do |config|
785
- # config.timeout = 10.0
786
- # config.rpcs.run_report.timeout = 20.0
787
- # end
788
- #
789
- # To apply the above configuration only to a new client:
790
- #
791
- # client = ::Google::Analytics::Data::V1beta::AnalyticsData::Client.new do |config|
792
- # config.timeout = 10.0
793
- # config.rpcs.run_report.timeout = 20.0
794
- # end
915
+ # # Apply the above configuration only to a new client.
916
+ # client = ::Google::Analytics::Data::V1beta::AnalyticsData::Client.new do |config|
917
+ # config.timeout = 10.0
918
+ # config.rpcs.run_report.timeout = 20.0
919
+ # end
795
920
  #
796
921
  # @!attribute [rw] endpoint
797
922
  # The hostname or hostname:port of the service endpoint.
@@ -929,6 +1054,11 @@ module Google
929
1054
  # @return [::Gapic::Config::Method]
930
1055
  #
931
1056
  attr_reader :run_realtime_report
1057
+ ##
1058
+ # RPC-specific configuration for `check_compatibility`
1059
+ # @return [::Gapic::Config::Method]
1060
+ #
1061
+ attr_reader :check_compatibility
932
1062
 
933
1063
  # @private
934
1064
  def initialize parent_rpcs = nil
@@ -944,6 +1074,8 @@ module Google
944
1074
  @get_metadata = ::Gapic::Config::Method.new get_metadata_config
945
1075
  run_realtime_report_config = parent_rpcs.run_realtime_report if parent_rpcs.respond_to? :run_realtime_report
946
1076
  @run_realtime_report = ::Gapic::Config::Method.new run_realtime_report_config
1077
+ check_compatibility_config = parent_rpcs.check_compatibility if parent_rpcs.respond_to? :check_compatibility
1078
+ @check_compatibility = ::Gapic::Config::Method.new check_compatibility_config
947
1079
 
948
1080
  yield self if block_given?
949
1081
  end
@@ -1,15 +1,27 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/analytics/data/v1beta/analytics_data_api.proto
3
3
 
4
- require 'google/protobuf'
5
-
6
4
  require 'google/analytics/data/v1beta/data_pb'
7
5
  require 'google/api/annotations_pb'
8
6
  require 'google/api/client_pb'
9
7
  require 'google/api/field_behavior_pb'
10
8
  require 'google/api/resource_pb'
9
+ require 'google/protobuf'
10
+
11
11
  Google::Protobuf::DescriptorPool.generated_pool.build do
12
12
  add_file("google/analytics/data/v1beta/analytics_data_api.proto", :syntax => :proto3) do
13
+ add_message "google.analytics.data.v1beta.CheckCompatibilityRequest" do
14
+ optional :property, :string, 1
15
+ repeated :dimensions, :message, 2, "google.analytics.data.v1beta.Dimension"
16
+ repeated :metrics, :message, 3, "google.analytics.data.v1beta.Metric"
17
+ optional :dimension_filter, :message, 4, "google.analytics.data.v1beta.FilterExpression"
18
+ optional :metric_filter, :message, 5, "google.analytics.data.v1beta.FilterExpression"
19
+ optional :compatibility_filter, :enum, 6, "google.analytics.data.v1beta.Compatibility"
20
+ end
21
+ add_message "google.analytics.data.v1beta.CheckCompatibilityResponse" do
22
+ repeated :dimension_compatibilities, :message, 1, "google.analytics.data.v1beta.DimensionCompatibility"
23
+ repeated :metric_compatibilities, :message, 2, "google.analytics.data.v1beta.MetricCompatibility"
24
+ end
13
25
  add_message "google.analytics.data.v1beta.Metadata" do
14
26
  optional :name, :string, 3
15
27
  repeated :dimensions, :message, 1, "google.analytics.data.v1beta.DimensionMetadata"
@@ -95,6 +107,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
95
107
  repeated :metric_aggregations, :enum, 7, "google.analytics.data.v1beta.MetricAggregation"
96
108
  repeated :order_bys, :message, 8, "google.analytics.data.v1beta.OrderBy"
97
109
  optional :return_property_quota, :bool, 9
110
+ repeated :minute_ranges, :message, 10, "google.analytics.data.v1beta.MinuteRange"
98
111
  end
99
112
  add_message "google.analytics.data.v1beta.RunRealtimeReportResponse" do
100
113
  repeated :dimension_headers, :message, 1, "google.analytics.data.v1beta.DimensionHeader"
@@ -114,6 +127,8 @@ module Google
114
127
  module Analytics
115
128
  module Data
116
129
  module V1beta
130
+ CheckCompatibilityRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.CheckCompatibilityRequest").msgclass
131
+ CheckCompatibilityResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.CheckCompatibilityResponse").msgclass
117
132
  Metadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.Metadata").msgclass
118
133
  RunReportRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.RunReportRequest").msgclass
119
134
  RunReportResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.RunReportResponse").msgclass
@@ -27,7 +27,7 @@ module Google
27
27
  # Google Analytics reporting data service.
28
28
  class Service
29
29
 
30
- include GRPC::GenericService
30
+ include ::GRPC::GenericService
31
31
 
32
32
  self.marshal_class_method = :encode
33
33
  self.unmarshal_class_method = :decode
@@ -68,6 +68,17 @@ module Google
68
68
  # event data for your property. These reports show events and usage from the
69
69
  # last 30 minutes.
70
70
  rpc :RunRealtimeReport, ::Google::Analytics::Data::V1beta::RunRealtimeReportRequest, ::Google::Analytics::Data::V1beta::RunRealtimeReportResponse
71
+ # This compatibility method lists dimensions and metrics that can be added to
72
+ # a report request and maintain compatibility. This method fails if the
73
+ # request's dimensions and metrics are incompatible.
74
+ #
75
+ # In Google Analytics, reports fail if they request incompatible dimensions
76
+ # and/or metrics; in that case, you will need to remove dimensions and/or
77
+ # metrics from the incompatible report until the report is compatible.
78
+ #
79
+ # The Realtime and Core reports have different compatibility rules. This
80
+ # method checks compatibility for Core reports.
81
+ rpc :CheckCompatibility, ::Google::Analytics::Data::V1beta::CheckCompatibilityRequest, ::Google::Analytics::Data::V1beta::CheckCompatibilityResponse
71
82
  end
72
83
 
73
84
  Stub = Service.rpc_stub_class
@@ -10,6 +10,11 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
10
10
  optional :end_date, :string, 2
11
11
  optional :name, :string, 3
12
12
  end
13
+ add_message "google.analytics.data.v1beta.MinuteRange" do
14
+ proto3_optional :start_minutes_ago, :int32, 1
15
+ proto3_optional :end_minutes_ago, :int32, 2
16
+ optional :name, :string, 3
17
+ end
13
18
  add_message "google.analytics.data.v1beta.Dimension" do
14
19
  optional :name, :string, 1
15
20
  optional :dimension_expression, :message, 2, "google.analytics.data.v1beta.DimensionExpression"
@@ -149,6 +154,17 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
149
154
  end
150
155
  add_message "google.analytics.data.v1beta.ResponseMetaData" do
151
156
  optional :data_loss_from_other_row, :bool, 3
157
+ proto3_optional :schema_restriction_response, :message, 4, "google.analytics.data.v1beta.ResponseMetaData.SchemaRestrictionResponse"
158
+ proto3_optional :currency_code, :string, 5
159
+ proto3_optional :time_zone, :string, 6
160
+ proto3_optional :empty_reason, :string, 7
161
+ end
162
+ add_message "google.analytics.data.v1beta.ResponseMetaData.SchemaRestrictionResponse" do
163
+ repeated :active_metric_restrictions, :message, 1, "google.analytics.data.v1beta.ResponseMetaData.SchemaRestrictionResponse.ActiveMetricRestriction"
164
+ end
165
+ add_message "google.analytics.data.v1beta.ResponseMetaData.SchemaRestrictionResponse.ActiveMetricRestriction" do
166
+ proto3_optional :metric_name, :string, 1
167
+ repeated :restricted_metric_types, :enum, 2, "google.analytics.data.v1beta.RestrictedMetricType"
152
168
  end
153
169
  add_message "google.analytics.data.v1beta.DimensionHeader" do
154
170
  optional :name, :string, 1
@@ -201,6 +217,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
201
217
  optional :description, :string, 3
202
218
  repeated :deprecated_api_names, :string, 4
203
219
  optional :custom_definition, :bool, 5
220
+ optional :category, :string, 7
204
221
  end
205
222
  add_message "google.analytics.data.v1beta.MetricMetadata" do
206
223
  optional :api_name, :string, 1
@@ -210,6 +227,21 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
210
227
  optional :type, :enum, 5, "google.analytics.data.v1beta.MetricType"
211
228
  optional :expression, :string, 6
212
229
  optional :custom_definition, :bool, 7
230
+ repeated :blocked_reasons, :enum, 8, "google.analytics.data.v1beta.MetricMetadata.BlockedReason"
231
+ optional :category, :string, 10
232
+ end
233
+ add_enum "google.analytics.data.v1beta.MetricMetadata.BlockedReason" do
234
+ value :BLOCKED_REASON_UNSPECIFIED, 0
235
+ value :NO_REVENUE_METRICS, 1
236
+ value :NO_COST_METRICS, 2
237
+ end
238
+ add_message "google.analytics.data.v1beta.DimensionCompatibility" do
239
+ proto3_optional :dimension_metadata, :message, 1, "google.analytics.data.v1beta.DimensionMetadata"
240
+ proto3_optional :compatibility, :enum, 2, "google.analytics.data.v1beta.Compatibility"
241
+ end
242
+ add_message "google.analytics.data.v1beta.MetricCompatibility" do
243
+ proto3_optional :metric_metadata, :message, 1, "google.analytics.data.v1beta.MetricMetadata"
244
+ proto3_optional :compatibility, :enum, 2, "google.analytics.data.v1beta.Compatibility"
213
245
  end
214
246
  add_enum "google.analytics.data.v1beta.MetricAggregation" do
215
247
  value :METRIC_AGGREGATION_UNSPECIFIED, 0
@@ -233,6 +265,16 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
233
265
  value :TYPE_METERS, 12
234
266
  value :TYPE_KILOMETERS, 13
235
267
  end
268
+ add_enum "google.analytics.data.v1beta.RestrictedMetricType" do
269
+ value :RESTRICTED_METRIC_TYPE_UNSPECIFIED, 0
270
+ value :COST_DATA, 1
271
+ value :REVENUE_DATA, 2
272
+ end
273
+ add_enum "google.analytics.data.v1beta.Compatibility" do
274
+ value :COMPATIBILITY_UNSPECIFIED, 0
275
+ value :COMPATIBLE, 1
276
+ value :INCOMPATIBLE, 2
277
+ end
236
278
  end
237
279
  end
238
280
 
@@ -241,6 +283,7 @@ module Google
241
283
  module Data
242
284
  module V1beta
243
285
  DateRange = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.DateRange").msgclass
286
+ MinuteRange = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.MinuteRange").msgclass
244
287
  Dimension = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.Dimension").msgclass
245
288
  DimensionExpression = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.DimensionExpression").msgclass
246
289
  DimensionExpression::CaseExpression = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.DimensionExpression.CaseExpression").msgclass
@@ -268,6 +311,8 @@ module Google
268
311
  CohortsRange::Granularity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.CohortsRange.Granularity").enummodule
269
312
  CohortReportSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.CohortReportSettings").msgclass
270
313
  ResponseMetaData = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.ResponseMetaData").msgclass
314
+ ResponseMetaData::SchemaRestrictionResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.ResponseMetaData.SchemaRestrictionResponse").msgclass
315
+ ResponseMetaData::SchemaRestrictionResponse::ActiveMetricRestriction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.ResponseMetaData.SchemaRestrictionResponse.ActiveMetricRestriction").msgclass
271
316
  DimensionHeader = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.DimensionHeader").msgclass
272
317
  MetricHeader = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.MetricHeader").msgclass
273
318
  PivotHeader = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.PivotHeader").msgclass
@@ -280,8 +325,13 @@ module Google
280
325
  QuotaStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.QuotaStatus").msgclass
281
326
  DimensionMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.DimensionMetadata").msgclass
282
327
  MetricMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.MetricMetadata").msgclass
328
+ MetricMetadata::BlockedReason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.MetricMetadata.BlockedReason").enummodule
329
+ DimensionCompatibility = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.DimensionCompatibility").msgclass
330
+ MetricCompatibility = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.MetricCompatibility").msgclass
283
331
  MetricAggregation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.MetricAggregation").enummodule
284
332
  MetricType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.MetricType").enummodule
333
+ RestrictedMetricType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.RestrictedMetricType").enummodule
334
+ Compatibility = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1beta.Compatibility").enummodule
285
335
  end
286
336
  end
287
337
  end
@@ -21,7 +21,7 @@ module Google
21
21
  module Analytics
22
22
  module Data
23
23
  module V1beta
24
- VERSION = "0.1.0"
24
+ VERSION = "0.4.0"
25
25
  end
26
26
  end
27
27
  end
@@ -21,6 +21,60 @@ module Google
21
21
  module Analytics
22
22
  module Data
23
23
  module V1beta
24
+ # The request for compatibility information for a report's dimensions and
25
+ # metrics. Check compatibility provides a preview of the compatibility of a
26
+ # report; fields shared with the `runReport` request should be the same values
27
+ # as in your `runReport` request.
28
+ # @!attribute [rw] property
29
+ # @return [::String]
30
+ # A Google Analytics GA4 property identifier whose events are tracked. To
31
+ # learn more, see [where to find your Property
32
+ # ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id).
33
+ # `property` should be the same value as in your `runReport` request.
34
+ #
35
+ # Example: properties/1234
36
+ #
37
+ # Set the Property ID to 0 for compatibility checking on dimensions and
38
+ # metrics common to all properties. In this special mode, this method will
39
+ # not return custom dimensions and metrics.
40
+ # @!attribute [rw] dimensions
41
+ # @return [::Array<::Google::Analytics::Data::V1beta::Dimension>]
42
+ # The dimensions in this report. `dimensions` should be the same value as in
43
+ # your `runReport` request.
44
+ # @!attribute [rw] metrics
45
+ # @return [::Array<::Google::Analytics::Data::V1beta::Metric>]
46
+ # The metrics in this report. `metrics` should be the same value as in your
47
+ # `runReport` request.
48
+ # @!attribute [rw] dimension_filter
49
+ # @return [::Google::Analytics::Data::V1beta::FilterExpression]
50
+ # The filter clause of dimensions. `dimensionFilter` should be the same value
51
+ # as in your `runReport` request.
52
+ # @!attribute [rw] metric_filter
53
+ # @return [::Google::Analytics::Data::V1beta::FilterExpression]
54
+ # The filter clause of metrics. `metricFilter` should be the same value as in
55
+ # your `runReport` request
56
+ # @!attribute [rw] compatibility_filter
57
+ # @return [::Google::Analytics::Data::V1beta::Compatibility]
58
+ # Filters the dimensions and metrics in the response to just this
59
+ # compatibility. Commonly used as `”compatibilityFilter”: “COMPATIBLE”`
60
+ # to only return compatible dimensions & metrics.
61
+ class CheckCompatibilityRequest
62
+ include ::Google::Protobuf::MessageExts
63
+ extend ::Google::Protobuf::MessageExts::ClassMethods
64
+ end
65
+
66
+ # The compatibility response with the compatibility of each dimension & metric.
67
+ # @!attribute [rw] dimension_compatibilities
68
+ # @return [::Array<::Google::Analytics::Data::V1beta::DimensionCompatibility>]
69
+ # The compatibility of each dimension.
70
+ # @!attribute [rw] metric_compatibilities
71
+ # @return [::Array<::Google::Analytics::Data::V1beta::MetricCompatibility>]
72
+ # The compatibility of each metric.
73
+ class CheckCompatibilityResponse
74
+ include ::Google::Protobuf::MessageExts
75
+ extend ::Google::Protobuf::MessageExts::ClassMethods
76
+ end
77
+
24
78
  # The dimensions and metrics currently accepted in reporting methods.
25
79
  # @!attribute [rw] name
26
80
  # @return [::String]
@@ -62,13 +116,14 @@ module Google
62
116
  # must be unspecified.
63
117
  # @!attribute [rw] dimension_filter
64
118
  # @return [::Google::Analytics::Data::V1beta::FilterExpression]
65
- # The filter clause of dimensions. Dimensions must be requested to be used in
66
- # this filter. Metrics cannot be used in this filter.
119
+ # Dimension filters allow you to ask for only specific dimension values in
120
+ # the report. To learn more, see [Fundamentals of Dimension
121
+ # Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters)
122
+ # for examples. Metrics cannot be used in this filter.
67
123
  # @!attribute [rw] metric_filter
68
124
  # @return [::Google::Analytics::Data::V1beta::FilterExpression]
69
125
  # The filter clause of metrics. Applied at post aggregation phase, similar to
70
- # SQL having-clause. Metrics must be requested to be used in this filter.
71
- # Dimensions cannot be used in this filter.
126
+ # SQL having-clause. Dimensions cannot be used in this filter.
72
127
  # @!attribute [rw] offset
73
128
  # @return [::Integer]
74
129
  # The row count of the start row. The first row is counted as row 0.
@@ -441,6 +496,13 @@ module Google
441
496
  # @return [::Boolean]
442
497
  # Toggles whether to return the current state of this Analytics Property's
443
498
  # Realtime quota. Quota is returned in [PropertyQuota](#PropertyQuota).
499
+ # @!attribute [rw] minute_ranges
500
+ # @return [::Array<::Google::Analytics::Data::V1beta::MinuteRange>]
501
+ # The minute ranges of event data to read. If unspecified, one minute range
502
+ # for the last 30 minutes will be used. If multiple minute ranges are
503
+ # requested, each response row will contain a zero based minute range index.
504
+ # If two minute ranges overlap, the event data for the overlapping minutes is
505
+ # included in the response rows for both minute ranges.
444
506
  class RunRealtimeReportRequest
445
507
  include ::Google::Protobuf::MessageExts
446
508
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -46,10 +46,44 @@ module Google
46
46
  extend ::Google::Protobuf::MessageExts::ClassMethods
47
47
  end
48
48
 
49
+ # A contiguous set of minutes: startMinutesAgo, startMinutesAgo + 1, ...,
50
+ # endMinutesAgo. Requests are allowed up to 2 minute ranges.
51
+ # @!attribute [rw] start_minutes_ago
52
+ # @return [::Integer]
53
+ # The inclusive start minute for the query as a number of minutes before now.
54
+ # For example, `"startMinutesAgo": 29` specifies the report should include
55
+ # event data from 29 minutes ago and after. Cannot be after `endMinutesAgo`.
56
+ #
57
+ # If unspecified, `startMinutesAgo` is defaulted to 29. Standard Analytics
58
+ # properties can request up to the last 30 minutes of event data
59
+ # (`startMinutesAgo <= 29`), and 360 Analytics properties can request up to
60
+ # the last 60 minutes of event data (`startMinutesAgo <= 59`).
61
+ # @!attribute [rw] end_minutes_ago
62
+ # @return [::Integer]
63
+ # The inclusive end minute for the query as a number of minutes before now.
64
+ # Cannot be before `startMinutesAgo`. For example, `"endMinutesAgo": 15`
65
+ # specifies the report should include event data from prior to 15 minutes
66
+ # ago.
67
+ #
68
+ # If unspecified, `endMinutesAgo` is defaulted to 0. Standard Analytics
69
+ # properties can request any minute in the last 30 minutes of event data
70
+ # (`endMinutesAgo <= 29`), and 360 Analytics properties can request any
71
+ # minute in the last 60 minutes of event data (`endMinutesAgo <= 59`).
72
+ # @!attribute [rw] name
73
+ # @return [::String]
74
+ # Assigns a name to this minute range. The dimension `dateRange` is valued to
75
+ # this name in a report response. If set, cannot begin with `date_range_` or
76
+ # `RESERVED_`. If not set, minute ranges are named by their zero based index
77
+ # in the request: `date_range_0`, `date_range_1`, etc.
78
+ class MinuteRange
79
+ include ::Google::Protobuf::MessageExts
80
+ extend ::Google::Protobuf::MessageExts::ClassMethods
81
+ end
82
+
49
83
  # Dimensions are attributes of your data. For example, the dimension city
50
84
  # indicates the city from which an event originates. Dimension values in report
51
85
  # responses are strings; for example, city could be "Paris" or "New York".
52
- # Requests are allowed up to 8 dimensions.
86
+ # Requests are allowed up to 9 dimensions.
53
87
  # @!attribute [rw] name
54
88
  # @return [::String]
55
89
  # The name of the dimension. See the [API
@@ -584,9 +618,61 @@ module Google
584
618
  # @return [::Boolean]
585
619
  # If true, indicates some buckets of dimension combinations are rolled into
586
620
  # "(other)" row. This can happen for high cardinality reports.
621
+ # @!attribute [rw] schema_restriction_response
622
+ # @return [::Google::Analytics::Data::V1beta::ResponseMetaData::SchemaRestrictionResponse]
623
+ # Describes the schema restrictions actively enforced in creating this
624
+ # report. To learn more, see [Access and data-restriction
625
+ # management](https://support.google.com/analytics/answer/10851388).
626
+ # @!attribute [rw] currency_code
627
+ # @return [::String]
628
+ # The currency code used in this report. Intended to be used in formatting
629
+ # currency metrics like `purchaseRevenue` for visualization. If currency_code
630
+ # was specified in the request, this response parameter will echo the request
631
+ # parameter; otherwise, this response parameter is the property's current
632
+ # currency_code.
633
+ #
634
+ # Currency codes are string encodings of currency types from the ISO 4217
635
+ # standard (https://en.wikipedia.org/wiki/ISO_4217); for example "USD",
636
+ # "EUR", "JPY". To learn more, see
637
+ # https://support.google.com/analytics/answer/9796179.
638
+ # @!attribute [rw] time_zone
639
+ # @return [::String]
640
+ # The property's current timezone. Intended to be used to interpret
641
+ # time-based dimensions like `hour` and `minute`. Formatted as strings from
642
+ # the IANA Time Zone database (https://www.iana.org/time-zones); for example
643
+ # "America/New_York" or "Asia/Tokyo".
644
+ # @!attribute [rw] empty_reason
645
+ # @return [::String]
646
+ # If empty reason is specified, the report is empty for this reason.
587
647
  class ResponseMetaData
588
648
  include ::Google::Protobuf::MessageExts
589
649
  extend ::Google::Protobuf::MessageExts::ClassMethods
650
+
651
+ # The schema restrictions actively enforced in creating this report. To learn
652
+ # more, see [Access and data-restriction
653
+ # management](https://support.google.com/analytics/answer/10851388).
654
+ # @!attribute [rw] active_metric_restrictions
655
+ # @return [::Array<::Google::Analytics::Data::V1beta::ResponseMetaData::SchemaRestrictionResponse::ActiveMetricRestriction>]
656
+ # All restrictions actively enforced in creating the report. For example,
657
+ # `purchaseRevenue` always has the restriction type `REVENUE_DATA`.
658
+ # However, this active response restriction is only populated if the user's
659
+ # custom role disallows access to `REVENUE_DATA`.
660
+ class SchemaRestrictionResponse
661
+ include ::Google::Protobuf::MessageExts
662
+ extend ::Google::Protobuf::MessageExts::ClassMethods
663
+
664
+ # A metric actively restricted in creating the report.
665
+ # @!attribute [rw] metric_name
666
+ # @return [::String]
667
+ # The name of the restricted metric.
668
+ # @!attribute [rw] restricted_metric_types
669
+ # @return [::Array<::Google::Analytics::Data::V1beta::RestrictedMetricType>]
670
+ # The reason for this metric's restriction.
671
+ class ActiveMetricRestriction
672
+ include ::Google::Protobuf::MessageExts
673
+ extend ::Google::Protobuf::MessageExts::ClassMethods
674
+ end
675
+ end
590
676
  end
591
677
 
592
678
  # Describes a dimension column in the report. Dimensions requested in a report
@@ -786,6 +872,10 @@ module Google
786
872
  # @!attribute [rw] custom_definition
787
873
  # @return [::Boolean]
788
874
  # True if the dimension is a custom dimension for this property.
875
+ # @!attribute [rw] category
876
+ # @return [::String]
877
+ # The display name of the category that this dimension belongs to. Similar
878
+ # dimensions and metrics are categorized together.
789
879
  class DimensionMetadata
790
880
  include ::Google::Protobuf::MessageExts
791
881
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -820,9 +910,67 @@ module Google
820
910
  # @!attribute [rw] custom_definition
821
911
  # @return [::Boolean]
822
912
  # True if the metric is a custom metric for this property.
913
+ # @!attribute [rw] blocked_reasons
914
+ # @return [::Array<::Google::Analytics::Data::V1beta::MetricMetadata::BlockedReason>]
915
+ # If reasons are specified, your access is blocked to this metric for this
916
+ # property. API requests from you to this property for this metric will
917
+ # succeed; however, the report will contain only zeros for this metric. API
918
+ # requests with metric filters on blocked metrics will fail. If reasons are
919
+ # empty, you have access to this metric.
920
+ #
921
+ # To learn more, see [Access and data-restriction
922
+ # management](https://support.google.com/analytics/answer/10851388).
923
+ # @!attribute [rw] category
924
+ # @return [::String]
925
+ # The display name of the category that this metrics belongs to. Similar
926
+ # dimensions and metrics are categorized together.
823
927
  class MetricMetadata
824
928
  include ::Google::Protobuf::MessageExts
825
929
  extend ::Google::Protobuf::MessageExts::ClassMethods
930
+
931
+ # Justifications for why this metric is blocked.
932
+ module BlockedReason
933
+ # Will never be specified in API response.
934
+ BLOCKED_REASON_UNSPECIFIED = 0
935
+
936
+ # If present, your access is blocked to revenue related metrics for this
937
+ # property, and this metric is revenue related.
938
+ NO_REVENUE_METRICS = 1
939
+
940
+ # If present, your access is blocked to cost related metrics for this
941
+ # property, and this metric is cost related.
942
+ NO_COST_METRICS = 2
943
+ end
944
+ end
945
+
946
+ # The compatibility for a single dimension.
947
+ # @!attribute [rw] dimension_metadata
948
+ # @return [::Google::Analytics::Data::V1beta::DimensionMetadata]
949
+ # The dimension metadata contains the API name for this compatibility
950
+ # information. The dimension metadata also contains other helpful information
951
+ # like the UI name and description.
952
+ # @!attribute [rw] compatibility
953
+ # @return [::Google::Analytics::Data::V1beta::Compatibility]
954
+ # The compatibility of this dimension. If the compatibility is COMPATIBLE,
955
+ # this dimension can be successfully added to the report.
956
+ class DimensionCompatibility
957
+ include ::Google::Protobuf::MessageExts
958
+ extend ::Google::Protobuf::MessageExts::ClassMethods
959
+ end
960
+
961
+ # The compatibility for a single metric.
962
+ # @!attribute [rw] metric_metadata
963
+ # @return [::Google::Analytics::Data::V1beta::MetricMetadata]
964
+ # The metric metadata contains the API name for this compatibility
965
+ # information. The metric metadata also contains other helpful information
966
+ # like the UI name and description.
967
+ # @!attribute [rw] compatibility
968
+ # @return [::Google::Analytics::Data::V1beta::Compatibility]
969
+ # The compatibility of this metric. If the compatibility is COMPATIBLE,
970
+ # this metric can be successfully added to the report.
971
+ class MetricCompatibility
972
+ include ::Google::Protobuf::MessageExts
973
+ extend ::Google::Protobuf::MessageExts::ClassMethods
826
974
  end
827
975
 
828
976
  # Represents aggregation of metrics.
@@ -884,6 +1032,33 @@ module Google
884
1032
  # A length in kilometers; a special floating point type.
885
1033
  TYPE_KILOMETERS = 13
886
1034
  end
1035
+
1036
+ # Categories of data that you may be restricted from viewing on certain GA4
1037
+ # properties.
1038
+ module RestrictedMetricType
1039
+ # Unspecified type.
1040
+ RESTRICTED_METRIC_TYPE_UNSPECIFIED = 0
1041
+
1042
+ # Cost metrics such as `adCost`.
1043
+ COST_DATA = 1
1044
+
1045
+ # Revenue metrics such as `purchaseRevenue`.
1046
+ REVENUE_DATA = 2
1047
+ end
1048
+
1049
+ # The compatibility types for a single dimension or metric.
1050
+ module Compatibility
1051
+ # Unspecified compatibility.
1052
+ COMPATIBILITY_UNSPECIFIED = 0
1053
+
1054
+ # The dimension or metric is compatible. This dimension or metric can be
1055
+ # successfully added to a report.
1056
+ COMPATIBLE = 1
1057
+
1058
+ # The dimension or metric is incompatible. This dimension or metric cannot be
1059
+ # successfully added to a report.
1060
+ INCOMPATIBLE = 2
1061
+ end
887
1062
  end
888
1063
  end
889
1064
  end
@@ -60,6 +60,12 @@ module Google
60
60
  # in any arbitrary order, rather than the order the user originally
61
61
  # provided. Additionally, the list's order may or may not be stable.
62
62
  UNORDERED_LIST = 6
63
+
64
+ # Denotes that this field returns a non-empty default value if not set.
65
+ # This indicates that if the user provides the empty value in a request,
66
+ # a non-empty value will be returned. The user will not be aware of what
67
+ # non-empty value to expect.
68
+ NON_EMPTY_DEFAULT = 7
63
69
  end
64
70
  end
65
71
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-analytics-data-v1beta
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-21 00:00:00.000000000 Z
11
+ date: 2021-11-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0.5'
19
+ version: '0.7'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 2.a
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: '0.5'
29
+ version: '0.7'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.a