google-api-client 0.12.0 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (315) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/api_names.yaml +945 -41609
  4. data/generated/google/apis/acceleratedmobilepageurl_v1/classes.rb +12 -12
  5. data/generated/google/apis/acceleratedmobilepageurl_v1/representations.rb +2 -2
  6. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  7. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +1437 -412
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +516 -71
  9. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +1098 -422
  10. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +6 -6
  11. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +3 -3
  12. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +3 -3
  13. data/generated/google/apis/adexchangeseller_v2_0/service.rb +10 -10
  14. data/generated/google/apis/admin_directory_v1/service.rb +26 -26
  15. data/generated/google/apis/adsense_v1_4.rb +1 -1
  16. data/generated/google/apis/adsense_v1_4/classes.rb +2 -2
  17. data/generated/google/apis/adsense_v1_4/representations.rb +3 -3
  18. data/generated/google/apis/adsense_v1_4/service.rb +44 -44
  19. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  20. data/generated/google/apis/adsensehost_v4_1/service.rb +22 -22
  21. data/generated/google/apis/analytics_v3/classes.rb +3 -3
  22. data/generated/google/apis/analytics_v3/representations.rb +3 -3
  23. data/generated/google/apis/analytics_v3/service.rb +82 -82
  24. data/generated/google/apis/analyticsreporting_v4/classes.rb +937 -937
  25. data/generated/google/apis/analyticsreporting_v4/representations.rb +128 -128
  26. data/generated/google/apis/analyticsreporting_v4/service.rb +1 -1
  27. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  28. data/generated/google/apis/androidenterprise_v1/classes.rb +10 -10
  29. data/generated/google/apis/androidenterprise_v1/representations.rb +20 -20
  30. data/generated/google/apis/androidenterprise_v1/service.rb +43 -43
  31. data/generated/google/apis/androidpublisher_v2/classes.rb +26 -26
  32. data/generated/google/apis/androidpublisher_v2/representations.rb +46 -46
  33. data/generated/google/apis/androidpublisher_v2/service.rb +95 -95
  34. data/generated/google/apis/appengine_v1.rb +4 -4
  35. data/generated/google/apis/appengine_v1/classes.rb +1570 -1512
  36. data/generated/google/apis/appengine_v1/representations.rb +362 -343
  37. data/generated/google/apis/appengine_v1/service.rb +220 -220
  38. data/generated/google/apis/appstate_v1.rb +1 -1
  39. data/generated/google/apis/bigquery_v2.rb +1 -1
  40. data/generated/google/apis/bigquery_v2/classes.rb +5 -5
  41. data/generated/google/apis/bigquery_v2/representations.rb +8 -8
  42. data/generated/google/apis/bigquery_v2/service.rb +13 -13
  43. data/generated/google/apis/blogger_v3/service.rb +3 -3
  44. data/generated/google/apis/books_v1/classes.rb +55 -55
  45. data/generated/google/apis/books_v1/representations.rb +67 -67
  46. data/generated/google/apis/books_v1/service.rb +82 -82
  47. data/generated/google/apis/calendar_v3.rb +1 -1
  48. data/generated/google/apis/calendar_v3/classes.rb +6 -6
  49. data/generated/google/apis/calendar_v3/representations.rb +3 -3
  50. data/generated/google/apis/calendar_v3/service.rb +2 -2
  51. data/generated/google/apis/civicinfo_v2/classes.rb +2 -2
  52. data/generated/google/apis/civicinfo_v2/representations.rb +4 -4
  53. data/generated/google/apis/civicinfo_v2/service.rb +12 -12
  54. data/generated/google/apis/classroom_v1.rb +7 -7
  55. data/generated/google/apis/classroom_v1/classes.rb +1013 -991
  56. data/generated/google/apis/classroom_v1/representations.rb +207 -204
  57. data/generated/google/apis/classroom_v1/service.rb +709 -709
  58. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  59. data/generated/google/apis/cloudbuild_v1/classes.rb +307 -307
  60. data/generated/google/apis/cloudbuild_v1/representations.rb +84 -84
  61. data/generated/google/apis/cloudbuild_v1/service.rb +125 -125
  62. data/generated/google/apis/clouddebugger_v2/classes.rb +673 -673
  63. data/generated/google/apis/clouddebugger_v2/representations.rb +152 -152
  64. data/generated/google/apis/clouddebugger_v2/service.rb +55 -55
  65. data/generated/google/apis/clouderrorreporting_v1beta1.rb +1 -1
  66. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +121 -121
  67. data/generated/google/apis/clouderrorreporting_v1beta1/representations.rb +25 -25
  68. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +74 -74
  69. data/generated/google/apis/cloudkms_v1.rb +1 -1
  70. data/generated/google/apis/cloudkms_v1/classes.rb +668 -613
  71. data/generated/google/apis/cloudkms_v1/representations.rb +151 -133
  72. data/generated/google/apis/cloudkms_v1/service.rb +267 -267
  73. data/generated/google/apis/cloudresourcemanager_v1.rb +4 -4
  74. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +1167 -1168
  75. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +193 -193
  76. data/generated/google/apis/cloudresourcemanager_v1/service.rb +470 -469
  77. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  78. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +508 -509
  79. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +94 -94
  80. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +157 -156
  81. data/generated/google/apis/cloudtrace_v1/service.rb +34 -34
  82. data/generated/google/apis/compute_beta.rb +1 -1
  83. data/generated/google/apis/compute_beta/classes.rb +163 -15
  84. data/generated/google/apis/compute_beta/representations.rb +54 -14
  85. data/generated/google/apis/compute_beta/service.rb +2258 -482
  86. data/generated/google/apis/compute_v1.rb +1 -1
  87. data/generated/google/apis/compute_v1/classes.rb +465 -13
  88. data/generated/google/apis/compute_v1/representations.rb +202 -16
  89. data/generated/google/apis/compute_v1/service.rb +573 -309
  90. data/generated/google/apis/container_v1.rb +1 -1
  91. data/generated/google/apis/container_v1/classes.rb +635 -589
  92. data/generated/google/apis/container_v1/representations.rb +139 -111
  93. data/generated/google/apis/container_v1/service.rb +272 -227
  94. data/generated/google/apis/content_v2.rb +1 -1
  95. data/generated/google/apis/content_v2/classes.rb +86 -74
  96. data/generated/google/apis/content_v2/representations.rb +107 -105
  97. data/generated/google/apis/content_v2/service.rb +131 -130
  98. data/generated/google/apis/customsearch_v1.rb +2 -2
  99. data/generated/google/apis/customsearch_v1/classes.rb +0 -6
  100. data/generated/google/apis/customsearch_v1/representations.rb +0 -1
  101. data/generated/google/apis/customsearch_v1/service.rb +2 -5
  102. data/generated/google/apis/dataflow_v1b3.rb +7 -4
  103. data/generated/google/apis/dataflow_v1b3/classes.rb +3405 -3405
  104. data/generated/google/apis/dataflow_v1b3/representations.rb +834 -834
  105. data/generated/google/apis/dataflow_v1b3/service.rb +244 -244
  106. data/generated/google/apis/dataproc_v1.rb +1 -1
  107. data/generated/google/apis/dataproc_v1/classes.rb +543 -691
  108. data/generated/google/apis/dataproc_v1/representations.rb +129 -185
  109. data/generated/google/apis/dataproc_v1/service.rb +347 -347
  110. data/generated/google/apis/datastore_v1.rb +4 -4
  111. data/generated/google/apis/datastore_v1/classes.rb +833 -833
  112. data/generated/google/apis/datastore_v1/representations.rb +182 -182
  113. data/generated/google/apis/datastore_v1/service.rb +45 -45
  114. data/generated/google/apis/deploymentmanager_v2/classes.rb +5 -5
  115. data/generated/google/apis/deploymentmanager_v2/representations.rb +10 -10
  116. data/generated/google/apis/deploymentmanager_v2/service.rb +20 -20
  117. data/generated/google/apis/discovery_v1/classes.rb +4 -4
  118. data/generated/google/apis/discovery_v1/representations.rb +2 -2
  119. data/generated/google/apis/discovery_v1/service.rb +1 -1
  120. data/generated/google/apis/dns_v1.rb +1 -1
  121. data/generated/google/apis/dns_v1/classes.rb +3 -3
  122. data/generated/google/apis/dns_v1/representations.rb +6 -6
  123. data/generated/google/apis/dns_v1/service.rb +12 -12
  124. data/generated/google/apis/dns_v2beta1.rb +1 -1
  125. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +8 -8
  126. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  127. data/generated/google/apis/drive_v2.rb +1 -1
  128. data/generated/google/apis/drive_v2/classes.rb +1 -1
  129. data/generated/google/apis/drive_v2/service.rb +1 -1
  130. data/generated/google/apis/drive_v3.rb +1 -1
  131. data/generated/google/apis/drive_v3/service.rb +1 -1
  132. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  133. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +160 -110
  134. data/generated/google/apis/firebasedynamiclinks_v1/representations.rb +60 -31
  135. data/generated/google/apis/firebasedynamiclinks_v1/service.rb +38 -3
  136. data/generated/google/apis/firebaserules_v1/classes.rb +354 -354
  137. data/generated/google/apis/firebaserules_v1/representations.rb +87 -87
  138. data/generated/google/apis/firebaserules_v1/service.rb +103 -103
  139. data/generated/google/apis/fusiontables_v2/service.rb +2 -2
  140. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  141. data/generated/google/apis/games_configuration_v1configuration/classes.rb +2 -2
  142. data/generated/google/apis/games_configuration_v1configuration/representations.rb +4 -4
  143. data/generated/google/apis/games_configuration_v1configuration/service.rb +8 -8
  144. data/generated/google/apis/games_management_v1management.rb +1 -1
  145. data/generated/google/apis/games_v1.rb +1 -1
  146. data/generated/google/apis/games_v1/classes.rb +23 -23
  147. data/generated/google/apis/games_v1/representations.rb +43 -43
  148. data/generated/google/apis/games_v1/service.rb +72 -72
  149. data/generated/google/apis/genomics_v1.rb +1 -1
  150. data/generated/google/apis/genomics_v1/classes.rb +2316 -2316
  151. data/generated/google/apis/genomics_v1/representations.rb +291 -291
  152. data/generated/google/apis/genomics_v1/service.rb +821 -821
  153. data/generated/google/apis/gmail_v1.rb +1 -1
  154. data/generated/google/apis/groupsmigration_v1.rb +1 -1
  155. data/generated/google/apis/groupssettings_v1.rb +1 -1
  156. data/generated/google/apis/groupssettings_v1/classes.rb +2 -2
  157. data/generated/google/apis/groupssettings_v1/service.rb +3 -0
  158. data/generated/google/apis/iam_v1/classes.rb +338 -338
  159. data/generated/google/apis/iam_v1/representations.rb +98 -98
  160. data/generated/google/apis/iam_v1/service.rb +35 -35
  161. data/generated/google/apis/identitytoolkit_v3/classes.rb +15 -15
  162. data/generated/google/apis/identitytoolkit_v3/representations.rb +30 -30
  163. data/generated/google/apis/identitytoolkit_v3/service.rb +64 -64
  164. data/generated/google/apis/kgsearch_v1/service.rb +13 -13
  165. data/generated/google/apis/language_v1.rb +1 -1
  166. data/generated/google/apis/language_v1/classes.rb +374 -374
  167. data/generated/google/apis/language_v1/representations.rb +97 -97
  168. data/generated/google/apis/language_v1/service.rb +16 -16
  169. data/generated/google/apis/language_v1beta1.rb +1 -1
  170. data/generated/google/apis/language_v1beta1/classes.rb +441 -441
  171. data/generated/google/apis/language_v1beta1/representations.rb +108 -108
  172. data/generated/google/apis/language_v1beta1/service.rb +30 -30
  173. data/generated/google/apis/licensing_v1/service.rb +2 -2
  174. data/generated/google/apis/logging_v2.rb +1 -1
  175. data/generated/google/apis/logging_v2/classes.rb +712 -712
  176. data/generated/google/apis/logging_v2/representations.rb +109 -109
  177. data/generated/google/apis/logging_v2/service.rb +543 -539
  178. data/generated/google/apis/logging_v2beta1.rb +1 -1
  179. data/generated/google/apis/logging_v2beta1/classes.rb +752 -752
  180. data/generated/google/apis/logging_v2beta1/representations.rb +94 -94
  181. data/generated/google/apis/logging_v2beta1/service.rb +257 -256
  182. data/generated/google/apis/manufacturers_v1/classes.rb +130 -130
  183. data/generated/google/apis/manufacturers_v1/representations.rb +28 -28
  184. data/generated/google/apis/mirror_v1/classes.rb +5 -5
  185. data/generated/google/apis/mirror_v1/representations.rb +10 -10
  186. data/generated/google/apis/mirror_v1/service.rb +20 -20
  187. data/generated/google/apis/ml_v1.rb +1 -1
  188. data/generated/google/apis/ml_v1/classes.rb +1830 -1210
  189. data/generated/google/apis/ml_v1/representations.rb +342 -120
  190. data/generated/google/apis/ml_v1/service.rb +365 -258
  191. data/generated/google/apis/monitoring_v3.rb +4 -4
  192. data/generated/google/apis/monitoring_v3/classes.rb +889 -889
  193. data/generated/google/apis/monitoring_v3/representations.rb +174 -174
  194. data/generated/google/apis/monitoring_v3/service.rb +119 -119
  195. data/generated/google/apis/mybusiness_v3/service.rb +5 -5
  196. data/generated/google/apis/oauth2_v2/service.rb +1 -1
  197. data/generated/google/apis/pagespeedonline_v2/classes.rb +11 -11
  198. data/generated/google/apis/pagespeedonline_v2/representations.rb +13 -13
  199. data/generated/google/apis/pagespeedonline_v2/service.rb +1 -1
  200. data/generated/google/apis/partners_v2.rb +1 -1
  201. data/generated/google/apis/partners_v2/classes.rb +550 -536
  202. data/generated/google/apis/partners_v2/representations.rb +118 -116
  203. data/generated/google/apis/partners_v2/service.rb +439 -439
  204. data/generated/google/apis/people_v1.rb +4 -4
  205. data/generated/google/apis/people_v1/classes.rb +414 -413
  206. data/generated/google/apis/people_v1/representations.rb +85 -85
  207. data/generated/google/apis/people_v1/service.rb +111 -18
  208. data/generated/google/apis/plus_domains_v1.rb +1 -1
  209. data/generated/google/apis/plus_domains_v1/service.rb +4 -4
  210. data/generated/google/apis/plus_v1.rb +1 -1
  211. data/generated/google/apis/plus_v1/service.rb +1 -1
  212. data/generated/google/apis/prediction_v1_6/service.rb +8 -8
  213. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  214. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +443 -443
  215. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +92 -92
  216. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +152 -152
  217. data/generated/google/apis/pubsub_v1/classes.rb +249 -249
  218. data/generated/google/apis/pubsub_v1/representations.rb +80 -80
  219. data/generated/google/apis/pubsub_v1/service.rb +415 -415
  220. data/generated/google/apis/qpx_express_v1/classes.rb +2 -2
  221. data/generated/google/apis/qpx_express_v1/representations.rb +4 -4
  222. data/generated/google/apis/qpx_express_v1/service.rb +8 -8
  223. data/generated/google/apis/replicapool_v1beta2/classes.rb +5 -5
  224. data/generated/google/apis/replicapool_v1beta2/representations.rb +10 -10
  225. data/generated/google/apis/replicapool_v1beta2/service.rb +21 -21
  226. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +1 -1
  227. data/generated/google/apis/resourceviews_v1beta2/classes.rb +5 -5
  228. data/generated/google/apis/resourceviews_v1beta2/representations.rb +10 -10
  229. data/generated/google/apis/resourceviews_v1beta2/service.rb +20 -20
  230. data/generated/google/apis/runtimeconfig_v1.rb +4 -4
  231. data/generated/google/apis/runtimeconfig_v1/classes.rb +15 -15
  232. data/generated/google/apis/runtimeconfig_v1/representations.rb +2 -2
  233. data/generated/google/apis/runtimeconfig_v1/service.rb +4 -4
  234. data/generated/google/apis/script_v1.rb +17 -17
  235. data/generated/google/apis/script_v1/classes.rb +27 -27
  236. data/generated/google/apis/script_v1/representations.rb +5 -5
  237. data/generated/google/apis/script_v1/service.rb +4 -4
  238. data/generated/google/apis/searchconsole_v1.rb +1 -1
  239. data/generated/google/apis/searchconsole_v1/classes.rb +53 -53
  240. data/generated/google/apis/searchconsole_v1/representations.rb +23 -23
  241. data/generated/google/apis/searchconsole_v1/service.rb +4 -4
  242. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  243. data/generated/google/apis/servicecontrol_v1/classes.rb +1175 -1175
  244. data/generated/google/apis/servicecontrol_v1/representations.rb +206 -206
  245. data/generated/google/apis/servicecontrol_v1/service.rb +116 -116
  246. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  247. data/generated/google/apis/servicemanagement_v1/classes.rb +1186 -1125
  248. data/generated/google/apis/servicemanagement_v1/representations.rb +241 -223
  249. data/generated/google/apis/servicemanagement_v1/service.rb +201 -201
  250. data/generated/google/apis/serviceuser_v1.rb +1 -1
  251. data/generated/google/apis/serviceuser_v1/classes.rb +2645 -2641
  252. data/generated/google/apis/serviceuser_v1/representations.rb +234 -234
  253. data/generated/google/apis/serviceuser_v1/service.rb +37 -37
  254. data/generated/google/apis/sheets_v4.rb +1 -1
  255. data/generated/google/apis/sheets_v4/classes.rb +5042 -4111
  256. data/generated/google/apis/sheets_v4/representations.rb +994 -824
  257. data/generated/google/apis/sheets_v4/service.rb +80 -80
  258. data/generated/google/apis/site_verification_v1/classes.rb +6 -6
  259. data/generated/google/apis/site_verification_v1/representations.rb +8 -8
  260. data/generated/google/apis/site_verification_v1/service.rb +12 -12
  261. data/generated/google/apis/slides_v1.rb +1 -1
  262. data/generated/google/apis/slides_v1/classes.rb +2885 -2885
  263. data/generated/google/apis/slides_v1/representations.rb +310 -310
  264. data/generated/google/apis/slides_v1/service.rb +54 -54
  265. data/generated/google/apis/sourcerepo_v1/classes.rb +206 -206
  266. data/generated/google/apis/sourcerepo_v1/representations.rb +52 -52
  267. data/generated/google/apis/sourcerepo_v1/service.rb +5 -5
  268. data/generated/google/apis/spanner_v1.rb +1 -1
  269. data/generated/google/apis/spanner_v1/classes.rb +2142 -2141
  270. data/generated/google/apis/spanner_v1/representations.rb +174 -174
  271. data/generated/google/apis/spanner_v1/service.rb +497 -497
  272. data/generated/google/apis/speech_v1beta1.rb +1 -1
  273. data/generated/google/apis/speech_v1beta1/classes.rb +227 -227
  274. data/generated/google/apis/speech_v1beta1/representations.rb +50 -50
  275. data/generated/google/apis/speech_v1beta1/service.rb +33 -33
  276. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  277. data/generated/google/apis/sqladmin_v1beta4/classes.rb +21 -21
  278. data/generated/google/apis/sqladmin_v1beta4/representations.rb +29 -29
  279. data/generated/google/apis/sqladmin_v1beta4/service.rb +56 -56
  280. data/generated/google/apis/storage_v1.rb +1 -1
  281. data/generated/google/apis/storage_v1/classes.rb +40 -6
  282. data/generated/google/apis/storage_v1/representations.rb +20 -4
  283. data/generated/google/apis/storage_v1/service.rb +61 -46
  284. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  285. data/generated/google/apis/storagetransfer_v1/classes.rb +184 -184
  286. data/generated/google/apis/storagetransfer_v1/representations.rb +35 -35
  287. data/generated/google/apis/storagetransfer_v1/service.rb +70 -70
  288. data/generated/google/apis/tagmanager_v1/service.rb +33 -33
  289. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  290. data/generated/google/apis/translate_v2/classes.rb +12 -12
  291. data/generated/google/apis/translate_v2/representations.rb +10 -10
  292. data/generated/google/apis/translate_v2/service.rb +62 -62
  293. data/generated/google/apis/vision_v1.rb +1 -1
  294. data/generated/google/apis/vision_v1/classes.rb +1267 -1267
  295. data/generated/google/apis/vision_v1/representations.rb +200 -200
  296. data/generated/google/apis/vision_v1/service.rb +10 -10
  297. data/generated/google/apis/webmasters_v3.rb +1 -1
  298. data/generated/google/apis/webmasters_v3/classes.rb +4 -4
  299. data/generated/google/apis/webmasters_v3/representations.rb +8 -8
  300. data/generated/google/apis/webmasters_v3/service.rb +21 -21
  301. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  302. data/generated/google/apis/youtube_analytics_v1/classes.rb +2 -2
  303. data/generated/google/apis/youtube_analytics_v1/representations.rb +4 -4
  304. data/generated/google/apis/youtube_analytics_v1/service.rb +8 -8
  305. data/generated/google/apis/youtube_v3/classes.rb +20 -20
  306. data/generated/google/apis/youtube_v3/representations.rb +40 -40
  307. data/generated/google/apis/youtube_v3/service.rb +80 -80
  308. data/generated/google/apis/youtubereporting_v1.rb +1 -1
  309. data/generated/google/apis/youtubereporting_v1/classes.rb +129 -129
  310. data/generated/google/apis/youtubereporting_v1/representations.rb +38 -38
  311. data/generated/google/apis/youtubereporting_v1/service.rb +97 -97
  312. data/lib/google/apis/generator/annotator.rb +2 -2
  313. data/lib/google/apis/generator/model.rb +2 -2
  314. data/lib/google/apis/version.rb +1 -1
  315. metadata +2 -2
@@ -22,80 +22,19 @@ module Google
22
22
  module Apis
23
23
  module AnalyticsreportingV4
24
24
 
25
- # The data part of the report.
26
- class ReportData
25
+ # The headers for each of the pivot sections defined in the request.
26
+ class PivotHeader
27
27
  include Google::Apis::Core::Hashable
28
28
 
29
- # Indicates if response to this request is golden or not. Data is
30
- # golden when the exact same request will not produce any new results if
31
- # asked at a later point in time.
32
- # Corresponds to the JSON property `isDataGolden`
33
- # @return [Boolean]
34
- attr_accessor :is_data_golden
35
- alias_method :is_data_golden?, :is_data_golden
36
-
37
- # There's one ReportRow for every unique combination of dimensions.
38
- # Corresponds to the JSON property `rows`
39
- # @return [Array<Google::Apis::AnalyticsreportingV4::ReportRow>]
40
- attr_accessor :rows
29
+ # A single pivot section header.
30
+ # Corresponds to the JSON property `pivotHeaderEntries`
31
+ # @return [Array<Google::Apis::AnalyticsreportingV4::PivotHeaderEntry>]
32
+ attr_accessor :pivot_header_entries
41
33
 
42
- # Total number of matching rows for this query.
43
- # Corresponds to the JSON property `rowCount`
34
+ # The total number of groups for this pivot.
35
+ # Corresponds to the JSON property `totalPivotGroupsCount`
44
36
  # @return [Fixnum]
45
- attr_accessor :row_count
46
-
47
- # The last time the data in the report was refreshed. All the hits received
48
- # before this timestamp are included in the calculation of the report.
49
- # Corresponds to the JSON property `dataLastRefreshed`
50
- # @return [String]
51
- attr_accessor :data_last_refreshed
52
-
53
- # Minimum and maximum values seen over all matching rows. These are both
54
- # empty when `hideValueRanges` in the request is false, or when
55
- # rowCount is zero.
56
- # Corresponds to the JSON property `maximums`
57
- # @return [Array<Google::Apis::AnalyticsreportingV4::DateRangeValues>]
58
- attr_accessor :maximums
59
-
60
- # Minimum and maximum values seen over all matching rows. These are both
61
- # empty when `hideValueRanges` in the request is false, or when
62
- # rowCount is zero.
63
- # Corresponds to the JSON property `minimums`
64
- # @return [Array<Google::Apis::AnalyticsreportingV4::DateRangeValues>]
65
- attr_accessor :minimums
66
-
67
- # If the results are
68
- # [sampled](https://support.google.com/analytics/answer/2637192),
69
- # this returns the total number of
70
- # samples present, one entry per date range. If the results are not sampled
71
- # this field will not be defined. See
72
- # [developer guide](/analytics/devguides/reporting/core/v4/basics#sampling)
73
- # for details.
74
- # Corresponds to the JSON property `samplingSpaceSizes`
75
- # @return [Array<Fixnum>]
76
- attr_accessor :sampling_space_sizes
77
-
78
- # For each requested date range, for the set of all rows that match
79
- # the query, every requested value format gets a total. The total
80
- # for a value format is computed by first totaling the metrics
81
- # mentioned in the value format and then evaluating the value
82
- # format as a scalar expression. E.g., The "totals" for
83
- # `3 / (ga:sessions + 2)` we compute
84
- # `3 / ((sum of all relevant ga:sessions) + 2)`.
85
- # Totals are computed before pagination.
86
- # Corresponds to the JSON property `totals`
87
- # @return [Array<Google::Apis::AnalyticsreportingV4::DateRangeValues>]
88
- attr_accessor :totals
89
-
90
- # If the results are
91
- # [sampled](https://support.google.com/analytics/answer/2637192),
92
- # this returns the total number of samples read, one entry per date range.
93
- # If the results are not sampled this field will not be defined. See
94
- # [developer guide](/analytics/devguides/reporting/core/v4/basics#sampling)
95
- # for details.
96
- # Corresponds to the JSON property `samplesReadCounts`
97
- # @return [Array<Fixnum>]
98
- attr_accessor :samples_read_counts
37
+ attr_accessor :total_pivot_groups_count
99
38
 
100
39
  def initialize(**args)
101
40
  update!(**args)
@@ -103,52 +42,26 @@ module Google
103
42
 
104
43
  # Update properties of this object
105
44
  def update!(**args)
106
- @is_data_golden = args[:is_data_golden] if args.key?(:is_data_golden)
107
- @rows = args[:rows] if args.key?(:rows)
108
- @row_count = args[:row_count] if args.key?(:row_count)
109
- @data_last_refreshed = args[:data_last_refreshed] if args.key?(:data_last_refreshed)
110
- @maximums = args[:maximums] if args.key?(:maximums)
111
- @minimums = args[:minimums] if args.key?(:minimums)
112
- @sampling_space_sizes = args[:sampling_space_sizes] if args.key?(:sampling_space_sizes)
113
- @totals = args[:totals] if args.key?(:totals)
114
- @samples_read_counts = args[:samples_read_counts] if args.key?(:samples_read_counts)
45
+ @pivot_header_entries = args[:pivot_header_entries] if args.key?(:pivot_header_entries)
46
+ @total_pivot_groups_count = args[:total_pivot_groups_count] if args.key?(:total_pivot_groups_count)
115
47
  end
116
48
  end
117
49
 
118
- # Dimension filter specifies the filtering options on a dimension.
119
- class DimensionFilter
50
+ # A contiguous set of days: startDate, startDate + 1 day, ..., endDate.
51
+ # The start and end dates are specified in
52
+ # [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) date format `YYYY-MM-DD`.
53
+ class DateRange
120
54
  include Google::Apis::Core::Hashable
121
55
 
122
- # The dimension to filter on. A DimensionFilter must contain a dimension.
123
- # Corresponds to the JSON property `dimensionName`
56
+ # The start date for the query in the format `YYYY-MM-DD`.
57
+ # Corresponds to the JSON property `startDate`
124
58
  # @return [String]
125
- attr_accessor :dimension_name
59
+ attr_accessor :start_date
126
60
 
127
- # How to match the dimension to the expression. The default is REGEXP.
128
- # Corresponds to the JSON property `operator`
61
+ # The end date for the query in the format `YYYY-MM-DD`.
62
+ # Corresponds to the JSON property `endDate`
129
63
  # @return [String]
130
- attr_accessor :operator
131
-
132
- # Logical `NOT` operator. If this boolean is set to true, then the matching
133
- # dimension values will be excluded in the report. The default is false.
134
- # Corresponds to the JSON property `not`
135
- # @return [Boolean]
136
- attr_accessor :not
137
- alias_method :not?, :not
138
-
139
- # Strings or regular expression to match against. Only the first value of
140
- # the list is used for comparison unless the operator is `IN_LIST`.
141
- # If `IN_LIST` operator, then the entire list is used to filter the
142
- # dimensions as explained in the description of the `IN_LIST` operator.
143
- # Corresponds to the JSON property `expressions`
144
- # @return [Array<String>]
145
- attr_accessor :expressions
146
-
147
- # Should the match be case sensitive? Default is false.
148
- # Corresponds to the JSON property `caseSensitive`
149
- # @return [Boolean]
150
- attr_accessor :case_sensitive
151
- alias_method :case_sensitive?, :case_sensitive
64
+ attr_accessor :end_date
152
65
 
153
66
  def initialize(**args)
154
67
  update!(**args)
@@ -156,48 +69,41 @@ module Google
156
69
 
157
70
  # Update properties of this object
158
71
  def update!(**args)
159
- @dimension_name = args[:dimension_name] if args.key?(:dimension_name)
160
- @operator = args[:operator] if args.key?(:operator)
161
- @not = args[:not] if args.key?(:not)
162
- @expressions = args[:expressions] if args.key?(:expressions)
163
- @case_sensitive = args[:case_sensitive] if args.key?(:case_sensitive)
72
+ @start_date = args[:start_date] if args.key?(:start_date)
73
+ @end_date = args[:end_date] if args.key?(:end_date)
164
74
  end
165
75
  end
166
76
 
167
- # Dimension filter specifies the filtering options on a dimension.
168
- class SegmentDimensionFilter
77
+ # MetricFilter specifies the filter on a metric.
78
+ class MetricFilter
169
79
  include Google::Apis::Core::Hashable
170
80
 
171
- # Should the match be case sensitive, ignored for `IN_LIST` operator.
172
- # Corresponds to the JSON property `caseSensitive`
173
- # @return [Boolean]
174
- attr_accessor :case_sensitive
175
- alias_method :case_sensitive?, :case_sensitive
176
-
177
- # Minimum comparison values for `BETWEEN` match type.
178
- # Corresponds to the JSON property `minComparisonValue`
179
- # @return [String]
180
- attr_accessor :min_comparison_value
181
-
182
- # Maximum comparison values for `BETWEEN` match type.
183
- # Corresponds to the JSON property `maxComparisonValue`
81
+ # The metric that will be filtered on. A metricFilter must contain a metric
82
+ # name. A metric name can be an alias earlier defined as a metric or it can
83
+ # also be a metric expression.
84
+ # Corresponds to the JSON property `metricName`
184
85
  # @return [String]
185
- attr_accessor :max_comparison_value
86
+ attr_accessor :metric_name
186
87
 
187
- # Name of the dimension for which the filter is being applied.
188
- # Corresponds to the JSON property `dimensionName`
88
+ # The value to compare against.
89
+ # Corresponds to the JSON property `comparisonValue`
189
90
  # @return [String]
190
- attr_accessor :dimension_name
91
+ attr_accessor :comparison_value
191
92
 
192
- # The operator to use to match the dimension with the expressions.
93
+ # Is the metric `EQUAL`, `LESS_THAN` or `GREATER_THAN` the
94
+ # comparisonValue, the default is `EQUAL`. If the operator is
95
+ # `IS_MISSING`, checks if the metric is missing and would ignore the
96
+ # comparisonValue.
193
97
  # Corresponds to the JSON property `operator`
194
98
  # @return [String]
195
99
  attr_accessor :operator
196
100
 
197
- # The list of expressions, only the first element is used for all operators
198
- # Corresponds to the JSON property `expressions`
199
- # @return [Array<String>]
200
- attr_accessor :expressions
101
+ # Logical `NOT` operator. If this boolean is set to true, then the matching
102
+ # metric values will be excluded in the report. The default is false.
103
+ # Corresponds to the JSON property `not`
104
+ # @return [Boolean]
105
+ attr_accessor :not
106
+ alias_method :not?, :not
201
107
 
202
108
  def initialize(**args)
203
109
  update!(**args)
@@ -205,65 +111,171 @@ module Google
205
111
 
206
112
  # Update properties of this object
207
113
  def update!(**args)
208
- @case_sensitive = args[:case_sensitive] if args.key?(:case_sensitive)
209
- @min_comparison_value = args[:min_comparison_value] if args.key?(:min_comparison_value)
210
- @max_comparison_value = args[:max_comparison_value] if args.key?(:max_comparison_value)
211
- @dimension_name = args[:dimension_name] if args.key?(:dimension_name)
114
+ @metric_name = args[:metric_name] if args.key?(:metric_name)
115
+ @comparison_value = args[:comparison_value] if args.key?(:comparison_value)
212
116
  @operator = args[:operator] if args.key?(:operator)
213
- @expressions = args[:expressions] if args.key?(:expressions)
117
+ @not = args[:not] if args.key?(:not)
214
118
  end
215
119
  end
216
120
 
217
- # Specifies the sorting options.
218
- class OrderBy
121
+ # The main request class which specifies the Reporting API request.
122
+ class ReportRequest
219
123
  include Google::Apis::Core::Hashable
220
124
 
221
- # The sorting order for the field.
222
- # Corresponds to the JSON property `sortOrder`
223
- # @return [String]
224
- attr_accessor :sort_order
225
-
226
- # The field which to sort by. The default sort order is ascending. Example:
227
- # `ga:browser`.
228
- # Note, that you can only specify one field for sort here. For example,
229
- # `ga:browser, ga:city` is not valid.
230
- # Corresponds to the JSON property `fieldName`
231
- # @return [String]
232
- attr_accessor :field_name
233
-
234
- # The order type. The default orderType is `VALUE`.
235
- # Corresponds to the JSON property `orderType`
236
- # @return [String]
237
- attr_accessor :order_type
125
+ # The metric filter clauses. They are logically combined with the `AND`
126
+ # operator. Metric filters look at only the first date range and not the
127
+ # comparing date range. Note that filtering on metrics occurs after the
128
+ # metrics are aggregated.
129
+ # Corresponds to the JSON property `metricFilterClauses`
130
+ # @return [Array<Google::Apis::AnalyticsreportingV4::MetricFilterClause>]
131
+ attr_accessor :metric_filter_clauses
238
132
 
239
- def initialize(**args)
240
- update!(**args)
241
- end
133
+ # Page size is for paging and specifies the maximum number of returned rows.
134
+ # Page size should be >= 0. A query returns the default of 1,000 rows.
135
+ # The Analytics Core Reporting API returns a maximum of 10,000 rows per
136
+ # request, no matter how many you ask for. It can also return fewer rows
137
+ # than requested, if there aren't as many dimension segments as you expect.
138
+ # For instance, there are fewer than 300 possible values for `ga:country`,
139
+ # so when segmenting only by country, you can't get more than 300 rows,
140
+ # even if you set `pageSize` to a higher value.
141
+ # Corresponds to the JSON property `pageSize`
142
+ # @return [Fixnum]
143
+ attr_accessor :page_size
242
144
 
243
- # Update properties of this object
244
- def update!(**args)
245
- @sort_order = args[:sort_order] if args.key?(:sort_order)
246
- @field_name = args[:field_name] if args.key?(:field_name)
247
- @order_type = args[:order_type] if args.key?(:order_type)
248
- end
249
- end
145
+ # If set to true, hides the total of all metrics for all the matching rows,
146
+ # for every date range. The default false and will return the totals.
147
+ # Corresponds to the JSON property `hideTotals`
148
+ # @return [Boolean]
149
+ attr_accessor :hide_totals
150
+ alias_method :hide_totals?, :hide_totals
250
151
 
251
- # The segment definition, if the report needs to be segmented.
252
- # A Segment is a subset of the Analytics data. For example, of the entire
253
- # set of users, one Segment might be users from a particular country or city.
254
- class Segment
255
- include Google::Apis::Core::Hashable
152
+ # If set to true, hides the minimum and maximum across all matching rows.
153
+ # The default is false and the value ranges are returned.
154
+ # Corresponds to the JSON property `hideValueRanges`
155
+ # @return [Boolean]
156
+ attr_accessor :hide_value_ranges
157
+ alias_method :hide_value_ranges?, :hide_value_ranges
256
158
 
257
- # Dynamic segment definition for defining the segment within the request.
258
- # A segment can select users, sessions or both.
259
- # Corresponds to the JSON property `dynamicSegment`
260
- # @return [Google::Apis::AnalyticsreportingV4::DynamicSegment]
261
- attr_accessor :dynamic_segment
159
+ # Defines a cohort group.
160
+ # For example:
161
+ # "cohortGroup": `
162
+ # "cohorts": [`
163
+ # "name": "cohort 1",
164
+ # "type": "FIRST_VISIT_DATE",
165
+ # "dateRange": ` "startDate": "2015-08-01", "endDate": "2015-08-01" `
166
+ # `,`
167
+ # "name": "cohort 2"
168
+ # "type": "FIRST_VISIT_DATE"
169
+ # "dateRange": ` "startDate": "2015-07-01", "endDate": "2015-07-01" `
170
+ # `]
171
+ # `
172
+ # Corresponds to the JSON property `cohortGroup`
173
+ # @return [Google::Apis::AnalyticsreportingV4::CohortGroup]
174
+ attr_accessor :cohort_group
262
175
 
263
- # The segment ID of a built-in or custom segment, for example `gaid::-3`.
264
- # Corresponds to the JSON property `segmentId`
176
+ # Dimension or metric filters that restrict the data returned for your
177
+ # request. To use the `filtersExpression`, supply a dimension or metric on
178
+ # which to filter, followed by the filter expression. For example, the
179
+ # following expression selects `ga:browser` dimension which starts with
180
+ # Firefox; `ga:browser=~^Firefox`. For more information on dimensions
181
+ # and metric filters, see
182
+ # [Filters reference](https://developers.google.com/analytics/devguides/
183
+ # reporting/core/v3/reference#filters).
184
+ # Corresponds to the JSON property `filtersExpression`
265
185
  # @return [String]
266
- attr_accessor :segment_id
186
+ attr_accessor :filters_expression
187
+
188
+ # The Analytics
189
+ # [view ID](https://support.google.com/analytics/answer/1009618)
190
+ # from which to retrieve data. Every [ReportRequest](#ReportRequest)
191
+ # within a `batchGet` method must contain the same `viewId`.
192
+ # Corresponds to the JSON property `viewId`
193
+ # @return [String]
194
+ attr_accessor :view_id
195
+
196
+ # The metrics requested.
197
+ # Requests must specify at least one metric. Requests can have a
198
+ # total of 10 metrics.
199
+ # Corresponds to the JSON property `metrics`
200
+ # @return [Array<Google::Apis::AnalyticsreportingV4::Metric>]
201
+ attr_accessor :metrics
202
+
203
+ # The dimension filter clauses for filtering Dimension Values. They are
204
+ # logically combined with the `AND` operator. Note that filtering occurs
205
+ # before any dimensions are aggregated, so that the returned metrics
206
+ # represent the total for only the relevant dimensions.
207
+ # Corresponds to the JSON property `dimensionFilterClauses`
208
+ # @return [Array<Google::Apis::AnalyticsreportingV4::DimensionFilterClause>]
209
+ attr_accessor :dimension_filter_clauses
210
+
211
+ # Sort order on output rows. To compare two rows, the elements of the
212
+ # following are applied in order until a difference is found. All date
213
+ # ranges in the output get the same row order.
214
+ # Corresponds to the JSON property `orderBys`
215
+ # @return [Array<Google::Apis::AnalyticsreportingV4::OrderBy>]
216
+ attr_accessor :order_bys
217
+
218
+ # Segment the data returned for the request. A segment definition helps look
219
+ # at a subset of the segment request. A request can contain up to four
220
+ # segments. Every [ReportRequest](#ReportRequest) within a
221
+ # `batchGet` method must contain the same `segments` definition. Requests
222
+ # with segments must have the `ga:segment` dimension.
223
+ # Corresponds to the JSON property `segments`
224
+ # @return [Array<Google::Apis::AnalyticsreportingV4::Segment>]
225
+ attr_accessor :segments
226
+
227
+ # The desired report
228
+ # [sample](https://support.google.com/analytics/answer/2637192) size.
229
+ # If the the `samplingLevel` field is unspecified the `DEFAULT` sampling
230
+ # level is used. Every [ReportRequest](#ReportRequest) within a
231
+ # `batchGet` method must contain the same `samplingLevel` definition. See
232
+ # [developer guide](/analytics/devguides/reporting/core/v4/basics#sampling)
233
+ # for details.
234
+ # Corresponds to the JSON property `samplingLevel`
235
+ # @return [String]
236
+ attr_accessor :sampling_level
237
+
238
+ # The dimensions requested.
239
+ # Requests can have a total of 7 dimensions.
240
+ # Corresponds to the JSON property `dimensions`
241
+ # @return [Array<Google::Apis::AnalyticsreportingV4::Dimension>]
242
+ attr_accessor :dimensions
243
+
244
+ # Date ranges in the request. The request can have a maximum of 2 date
245
+ # ranges. The response will contain a set of metric values for each
246
+ # combination of the dimensions for each date range in the request. So, if
247
+ # there are two date ranges, there will be two set of metric values, one for
248
+ # the original date range and one for the second date range.
249
+ # The `reportRequest.dateRanges` field should not be specified for cohorts
250
+ # or Lifetime value requests.
251
+ # If a date range is not provided, the default date range is (startDate:
252
+ # current date - 7 days, endDate: current date - 1 day). Every
253
+ # [ReportRequest](#ReportRequest) within a `batchGet` method must
254
+ # contain the same `dateRanges` definition.
255
+ # Corresponds to the JSON property `dateRanges`
256
+ # @return [Array<Google::Apis::AnalyticsreportingV4::DateRange>]
257
+ attr_accessor :date_ranges
258
+
259
+ # A continuation token to get the next page of the results. Adding this to
260
+ # the request will return the rows after the pageToken. The pageToken should
261
+ # be the value returned in the nextPageToken parameter in the response to
262
+ # the GetReports request.
263
+ # Corresponds to the JSON property `pageToken`
264
+ # @return [String]
265
+ attr_accessor :page_token
266
+
267
+ # The pivot definitions. Requests can have a maximum of 2 pivots.
268
+ # Corresponds to the JSON property `pivots`
269
+ # @return [Array<Google::Apis::AnalyticsreportingV4::Pivot>]
270
+ attr_accessor :pivots
271
+
272
+ # If set to false, the response does not include rows if all the retrieved
273
+ # metrics are equal to zero. The default is false which will exclude these
274
+ # rows.
275
+ # Corresponds to the JSON property `includeEmptyRows`
276
+ # @return [Boolean]
277
+ attr_accessor :include_empty_rows
278
+ alias_method :include_empty_rows?, :include_empty_rows
267
279
 
268
280
  def initialize(**args)
269
281
  update!(**args)
@@ -271,27 +283,89 @@ module Google
271
283
 
272
284
  # Update properties of this object
273
285
  def update!(**args)
274
- @dynamic_segment = args[:dynamic_segment] if args.key?(:dynamic_segment)
275
- @segment_id = args[:segment_id] if args.key?(:segment_id)
286
+ @metric_filter_clauses = args[:metric_filter_clauses] if args.key?(:metric_filter_clauses)
287
+ @page_size = args[:page_size] if args.key?(:page_size)
288
+ @hide_totals = args[:hide_totals] if args.key?(:hide_totals)
289
+ @hide_value_ranges = args[:hide_value_ranges] if args.key?(:hide_value_ranges)
290
+ @cohort_group = args[:cohort_group] if args.key?(:cohort_group)
291
+ @filters_expression = args[:filters_expression] if args.key?(:filters_expression)
292
+ @view_id = args[:view_id] if args.key?(:view_id)
293
+ @metrics = args[:metrics] if args.key?(:metrics)
294
+ @dimension_filter_clauses = args[:dimension_filter_clauses] if args.key?(:dimension_filter_clauses)
295
+ @order_bys = args[:order_bys] if args.key?(:order_bys)
296
+ @segments = args[:segments] if args.key?(:segments)
297
+ @sampling_level = args[:sampling_level] if args.key?(:sampling_level)
298
+ @dimensions = args[:dimensions] if args.key?(:dimensions)
299
+ @date_ranges = args[:date_ranges] if args.key?(:date_ranges)
300
+ @page_token = args[:page_token] if args.key?(:page_token)
301
+ @pivots = args[:pivots] if args.key?(:pivots)
302
+ @include_empty_rows = args[:include_empty_rows] if args.key?(:include_empty_rows)
276
303
  end
277
304
  end
278
305
 
279
- # A segment sequence definition.
280
- class SegmentSequenceStep
306
+ # [Dimensions](https://support.google.com/analytics/answer/1033861)
307
+ # are attributes of your data. For example, the dimension `ga:city`
308
+ # indicates the city, for example, "Paris" or "New York", from which
309
+ # a session originates.
310
+ class Dimension
281
311
  include Google::Apis::Core::Hashable
282
312
 
283
- # A sequence is specified with a list of Or grouped filters which are
284
- # combined with `AND` operator.
313
+ # If non-empty, we place dimension values into buckets after string to
314
+ # int64. Dimension values that are not the string representation of an
315
+ # integral value will be converted to zero. The bucket values have to be in
316
+ # increasing order. Each bucket is closed on the lower end, and open on the
317
+ # upper end. The "first" bucket includes all values less than the first
318
+ # boundary, the "last" bucket includes all values up to infinity. Dimension
319
+ # values that fall in a bucket get transformed to a new dimension value. For
320
+ # example, if one gives a list of "0, 1, 3, 4, 7", then we return the
321
+ # following buckets:
322
+ # - bucket #1: values < 0, dimension value "<0"
323
+ # - bucket #2: values in [0,1), dimension value "0"
324
+ # - bucket #3: values in [1,3), dimension value "1-2"
325
+ # - bucket #4: values in [3,4), dimension value "3"
326
+ # - bucket #5: values in [4,7), dimension value "4-6"
327
+ # - bucket #6: values >= 7, dimension value "7+"
328
+ # NOTE: If you are applying histogram mutation on any dimension, and using
329
+ # that dimension in sort, you will want to use the sort type
330
+ # `HISTOGRAM_BUCKET` for that purpose. Without that the dimension values
331
+ # will be sorted according to dictionary
332
+ # (lexicographic) order. For example the ascending dictionary order is:
333
+ # "<50", "1001+", "121-1000", "50-120"
334
+ # And the ascending `HISTOGRAM_BUCKET` order is:
335
+ # "<50", "50-120", "121-1000", "1001+"
336
+ # The client has to explicitly request `"orderType": "HISTOGRAM_BUCKET"`
337
+ # for a histogram-mutated dimension.
338
+ # Corresponds to the JSON property `histogramBuckets`
339
+ # @return [Array<Fixnum>]
340
+ attr_accessor :histogram_buckets
341
+
342
+ # Name of the dimension to fetch, for example `ga:browser`.
343
+ # Corresponds to the JSON property `name`
344
+ # @return [String]
345
+ attr_accessor :name
346
+
347
+ def initialize(**args)
348
+ update!(**args)
349
+ end
350
+
351
+ # Update properties of this object
352
+ def update!(**args)
353
+ @histogram_buckets = args[:histogram_buckets] if args.key?(:histogram_buckets)
354
+ @name = args[:name] if args.key?(:name)
355
+ end
356
+ end
357
+
358
+ # A Simple segment conditions consist of one or more dimension/metric
359
+ # conditions that can be combined.
360
+ class SimpleSegment
361
+ include Google::Apis::Core::Hashable
362
+
363
+ # A list of segment filters groups which are combined with logical `AND`
364
+ # operator.
285
365
  # Corresponds to the JSON property `orFiltersForSegment`
286
366
  # @return [Array<Google::Apis::AnalyticsreportingV4::OrFiltersForSegment>]
287
367
  attr_accessor :or_filters_for_segment
288
368
 
289
- # Specifies if the step immediately precedes or can be any time before the
290
- # next step.
291
- # Corresponds to the JSON property `matchType`
292
- # @return [String]
293
- attr_accessor :match_type
294
-
295
369
  def initialize(**args)
296
370
  update!(**args)
297
371
  end
@@ -299,42 +373,30 @@ module Google
299
373
  # Update properties of this object
300
374
  def update!(**args)
301
375
  @or_filters_for_segment = args[:or_filters_for_segment] if args.key?(:or_filters_for_segment)
302
- @match_type = args[:match_type] if args.key?(:match_type)
303
376
  end
304
377
  end
305
378
 
306
- # [Metrics](https://support.google.com/analytics/answer/1033861)
307
- # are the quantitative measurements. For example, the metric `ga:users`
308
- # indicates the total number of users for the requested time period.
309
- class Metric
379
+ # Dynamic segment definition for defining the segment within the request.
380
+ # A segment can select users, sessions or both.
381
+ class DynamicSegment
310
382
  include Google::Apis::Core::Hashable
311
383
 
312
- # Specifies how the metric expression should be formatted, for example
313
- # `INTEGER`.
314
- # Corresponds to the JSON property `formattingType`
315
- # @return [String]
316
- attr_accessor :formatting_type
384
+ # SegmentDefinition defines the segment to be a set of SegmentFilters which
385
+ # are combined together with a logical `AND` operation.
386
+ # Corresponds to the JSON property `sessionSegment`
387
+ # @return [Google::Apis::AnalyticsreportingV4::SegmentDefinition]
388
+ attr_accessor :session_segment
317
389
 
318
- # An alias for the metric expression is an alternate name for the
319
- # expression. The alias can be used for filtering and sorting. This field
320
- # is optional and is useful if the expression is not a single metric but
321
- # a complex expression which cannot be used in filtering and sorting.
322
- # The alias is also used in the response column header.
323
- # Corresponds to the JSON property `alias`
390
+ # The name of the dynamic segment.
391
+ # Corresponds to the JSON property `name`
324
392
  # @return [String]
325
- attr_accessor :alias
393
+ attr_accessor :name
326
394
 
327
- # A metric expression in the request. An expression is constructed from one
328
- # or more metrics and numbers. Accepted operators include: Plus (+), Minus
329
- # (-), Negation (Unary -), Divided by (/), Multiplied by (*), Parenthesis,
330
- # Positive cardinal numbers (0-9), can include decimals and is limited to
331
- # 1024 characters. Example `ga:totalRefunds/ga:users`, in most cases the
332
- # metric expression is just a single metric name like `ga:users`.
333
- # Adding mixed `MetricType` (E.g., `CURRENCY` + `PERCENTAGE`) metrics
334
- # will result in unexpected results.
335
- # Corresponds to the JSON property `expression`
336
- # @return [String]
337
- attr_accessor :expression
395
+ # SegmentDefinition defines the segment to be a set of SegmentFilters which
396
+ # are combined together with a logical `AND` operation.
397
+ # Corresponds to the JSON property `userSegment`
398
+ # @return [Google::Apis::AnalyticsreportingV4::SegmentDefinition]
399
+ attr_accessor :user_segment
338
400
 
339
401
  def initialize(**args)
340
402
  update!(**args)
@@ -342,20 +404,25 @@ module Google
342
404
 
343
405
  # Update properties of this object
344
406
  def update!(**args)
345
- @formatting_type = args[:formatting_type] if args.key?(:formatting_type)
346
- @alias = args[:alias] if args.key?(:alias)
347
- @expression = args[:expression] if args.key?(:expression)
407
+ @session_segment = args[:session_segment] if args.key?(:session_segment)
408
+ @name = args[:name] if args.key?(:name)
409
+ @user_segment = args[:user_segment] if args.key?(:user_segment)
348
410
  end
349
411
  end
350
412
 
351
- # The metric values in the pivot region.
352
- class PivotValueRegion
413
+ # Column headers.
414
+ class ColumnHeader
353
415
  include Google::Apis::Core::Hashable
354
416
 
355
- # The values of the metrics in each of the pivot regions.
356
- # Corresponds to the JSON property `values`
417
+ # The dimension names in the response.
418
+ # Corresponds to the JSON property `dimensions`
357
419
  # @return [Array<String>]
358
- attr_accessor :values
420
+ attr_accessor :dimensions
421
+
422
+ # The headers for the metrics.
423
+ # Corresponds to the JSON property `metricHeader`
424
+ # @return [Google::Apis::AnalyticsreportingV4::MetricHeader]
425
+ attr_accessor :metric_header
359
426
 
360
427
  def initialize(**args)
361
428
  update!(**args)
@@ -363,28 +430,69 @@ module Google
363
430
 
364
431
  # Update properties of this object
365
432
  def update!(**args)
366
- @values = args[:values] if args.key?(:values)
433
+ @dimensions = args[:dimensions] if args.key?(:dimensions)
434
+ @metric_header = args[:metric_header] if args.key?(:metric_header)
367
435
  end
368
436
  end
369
437
 
370
- # The data response corresponding to the request.
371
- class Report
438
+ # Filter Clause to be used in a segment definition, can be wither a metric or
439
+ # a dimension filter.
440
+ class SegmentFilterClause
372
441
  include Google::Apis::Core::Hashable
373
442
 
374
- # The data part of the report.
375
- # Corresponds to the JSON property `data`
376
- # @return [Google::Apis::AnalyticsreportingV4::ReportData]
377
- attr_accessor :data
443
+ # Matches the complement (`!`) of the filter.
444
+ # Corresponds to the JSON property `not`
445
+ # @return [Boolean]
446
+ attr_accessor :not
447
+ alias_method :not?, :not
378
448
 
379
- # Page token to retrieve the next page of results in the list.
380
- # Corresponds to the JSON property `nextPageToken`
449
+ # Dimension filter specifies the filtering options on a dimension.
450
+ # Corresponds to the JSON property `dimensionFilter`
451
+ # @return [Google::Apis::AnalyticsreportingV4::SegmentDimensionFilter]
452
+ attr_accessor :dimension_filter
453
+
454
+ # Metric filter to be used in a segment filter clause.
455
+ # Corresponds to the JSON property `metricFilter`
456
+ # @return [Google::Apis::AnalyticsreportingV4::SegmentMetricFilter]
457
+ attr_accessor :metric_filter
458
+
459
+ def initialize(**args)
460
+ update!(**args)
461
+ end
462
+
463
+ # Update properties of this object
464
+ def update!(**args)
465
+ @not = args[:not] if args.key?(:not)
466
+ @dimension_filter = args[:dimension_filter] if args.key?(:dimension_filter)
467
+ @metric_filter = args[:metric_filter] if args.key?(:metric_filter)
468
+ end
469
+ end
470
+
471
+ # Defines a cohort. A cohort is a group of users who share a common
472
+ # characteristic. For example, all users with the same acquisition date
473
+ # belong to the same cohort.
474
+ class Cohort
475
+ include Google::Apis::Core::Hashable
476
+
477
+ # A unique name for the cohort. If not defined name will be auto-generated
478
+ # with values cohort_[1234...].
479
+ # Corresponds to the JSON property `name`
381
480
  # @return [String]
382
- attr_accessor :next_page_token
481
+ attr_accessor :name
383
482
 
384
- # Column headers.
385
- # Corresponds to the JSON property `columnHeader`
386
- # @return [Google::Apis::AnalyticsreportingV4::ColumnHeader]
387
- attr_accessor :column_header
483
+ # A contiguous set of days: startDate, startDate + 1 day, ..., endDate.
484
+ # The start and end dates are specified in
485
+ # [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) date format `YYYY-MM-DD`.
486
+ # Corresponds to the JSON property `dateRange`
487
+ # @return [Google::Apis::AnalyticsreportingV4::DateRange]
488
+ attr_accessor :date_range
489
+
490
+ # Type of the cohort. The only supported type as of now is
491
+ # `FIRST_VISIT_DATE`. If this field is unspecified the cohort is treated
492
+ # as `FIRST_VISIT_DATE` type cohort.
493
+ # Corresponds to the JSON property `type`
494
+ # @return [String]
495
+ attr_accessor :type
388
496
 
389
497
  def initialize(**args)
390
498
  update!(**args)
@@ -392,25 +500,25 @@ module Google
392
500
 
393
501
  # Update properties of this object
394
502
  def update!(**args)
395
- @data = args[:data] if args.key?(:data)
396
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
397
- @column_header = args[:column_header] if args.key?(:column_header)
503
+ @name = args[:name] if args.key?(:name)
504
+ @date_range = args[:date_range] if args.key?(:date_range)
505
+ @type = args[:type] if args.key?(:type)
398
506
  end
399
507
  end
400
508
 
401
- # The headers for each of the pivot sections defined in the request.
402
- class PivotHeader
509
+ # A row in the report.
510
+ class ReportRow
403
511
  include Google::Apis::Core::Hashable
404
512
 
405
- # A single pivot section header.
406
- # Corresponds to the JSON property `pivotHeaderEntries`
407
- # @return [Array<Google::Apis::AnalyticsreportingV4::PivotHeaderEntry>]
408
- attr_accessor :pivot_header_entries
513
+ # List of metrics for each requested DateRange.
514
+ # Corresponds to the JSON property `metrics`
515
+ # @return [Array<Google::Apis::AnalyticsreportingV4::DateRangeValues>]
516
+ attr_accessor :metrics
409
517
 
410
- # The total number of groups for this pivot.
411
- # Corresponds to the JSON property `totalPivotGroupsCount`
412
- # @return [Fixnum]
413
- attr_accessor :total_pivot_groups_count
518
+ # List of requested dimensions.
519
+ # Corresponds to the JSON property `dimensions`
520
+ # @return [Array<String>]
521
+ attr_accessor :dimensions
414
522
 
415
523
  def initialize(**args)
416
524
  update!(**args)
@@ -418,26 +526,27 @@ module Google
418
526
 
419
527
  # Update properties of this object
420
528
  def update!(**args)
421
- @pivot_header_entries = args[:pivot_header_entries] if args.key?(:pivot_header_entries)
422
- @total_pivot_groups_count = args[:total_pivot_groups_count] if args.key?(:total_pivot_groups_count)
529
+ @metrics = args[:metrics] if args.key?(:metrics)
530
+ @dimensions = args[:dimensions] if args.key?(:dimensions)
423
531
  end
424
532
  end
425
533
 
426
- # A contiguous set of days: startDate, startDate + 1 day, ..., endDate.
427
- # The start and end dates are specified in
428
- # [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) date format `YYYY-MM-DD`.
429
- class DateRange
534
+ # Represents a group of metric filters.
535
+ # Set the operator value to specify how the filters are logically combined.
536
+ class MetricFilterClause
430
537
  include Google::Apis::Core::Hashable
431
538
 
432
- # The start date for the query in the format `YYYY-MM-DD`.
433
- # Corresponds to the JSON property `startDate`
539
+ # The operator for combining multiple metric filters. If unspecified, it is
540
+ # treated as an `OR`.
541
+ # Corresponds to the JSON property `operator`
434
542
  # @return [String]
435
- attr_accessor :start_date
543
+ attr_accessor :operator
436
544
 
437
- # The end date for the query in the format `YYYY-MM-DD`.
438
- # Corresponds to the JSON property `endDate`
439
- # @return [String]
440
- attr_accessor :end_date
545
+ # The repeated set of filters. They are logically combined based on the
546
+ # operator specified.
547
+ # Corresponds to the JSON property `filters`
548
+ # @return [Array<Google::Apis::AnalyticsreportingV4::MetricFilter>]
549
+ attr_accessor :filters
441
550
 
442
551
  def initialize(**args)
443
552
  update!(**args)
@@ -445,41 +554,20 @@ module Google
445
554
 
446
555
  # Update properties of this object
447
556
  def update!(**args)
448
- @start_date = args[:start_date] if args.key?(:start_date)
449
- @end_date = args[:end_date] if args.key?(:end_date)
557
+ @operator = args[:operator] if args.key?(:operator)
558
+ @filters = args[:filters] if args.key?(:filters)
450
559
  end
451
560
  end
452
561
 
453
- # MetricFilter specifies the filter on a metric.
454
- class MetricFilter
562
+ # A list of segment filters in the `OR` group are combined with the logical OR
563
+ # operator.
564
+ class OrFiltersForSegment
455
565
  include Google::Apis::Core::Hashable
456
566
 
457
- # The metric that will be filtered on. A metricFilter must contain a metric
458
- # name. A metric name can be an alias earlier defined as a metric or it can
459
- # also be a metric expression.
460
- # Corresponds to the JSON property `metricName`
461
- # @return [String]
462
- attr_accessor :metric_name
463
-
464
- # The value to compare against.
465
- # Corresponds to the JSON property `comparisonValue`
466
- # @return [String]
467
- attr_accessor :comparison_value
468
-
469
- # Is the metric `EQUAL`, `LESS_THAN` or `GREATER_THAN` the
470
- # comparisonValue, the default is `EQUAL`. If the operator is
471
- # `IS_MISSING`, checks if the metric is missing and would ignore the
472
- # comparisonValue.
473
- # Corresponds to the JSON property `operator`
474
- # @return [String]
475
- attr_accessor :operator
476
-
477
- # Logical `NOT` operator. If this boolean is set to true, then the matching
478
- # metric values will be excluded in the report. The default is false.
479
- # Corresponds to the JSON property `not`
480
- # @return [Boolean]
481
- attr_accessor :not
482
- alias_method :not?, :not
567
+ # List of segment filters to be combined with a `OR` operator.
568
+ # Corresponds to the JSON property `segmentFilterClauses`
569
+ # @return [Array<Google::Apis::AnalyticsreportingV4::SegmentFilterClause>]
570
+ attr_accessor :segment_filter_clauses
483
571
 
484
572
  def initialize(**args)
485
573
  update!(**args)
@@ -487,171 +575,23 @@ module Google
487
575
 
488
576
  # Update properties of this object
489
577
  def update!(**args)
490
- @metric_name = args[:metric_name] if args.key?(:metric_name)
491
- @comparison_value = args[:comparison_value] if args.key?(:comparison_value)
492
- @operator = args[:operator] if args.key?(:operator)
493
- @not = args[:not] if args.key?(:not)
578
+ @segment_filter_clauses = args[:segment_filter_clauses] if args.key?(:segment_filter_clauses)
494
579
  end
495
580
  end
496
581
 
497
- # The main request class which specifies the Reporting API request.
498
- class ReportRequest
582
+ # The headers for the metrics.
583
+ class MetricHeader
499
584
  include Google::Apis::Core::Hashable
500
585
 
501
- # The metric filter clauses. They are logically combined with the `AND`
502
- # operator. Metric filters look at only the first date range and not the
503
- # comparing date range. Note that filtering on metrics occurs after the
504
- # metrics are aggregated.
505
- # Corresponds to the JSON property `metricFilterClauses`
506
- # @return [Array<Google::Apis::AnalyticsreportingV4::MetricFilterClause>]
507
- attr_accessor :metric_filter_clauses
508
-
509
- # Page size is for paging and specifies the maximum number of returned rows.
510
- # Page size should be >= 0. A query returns the default of 1,000 rows.
511
- # The Analytics Core Reporting API returns a maximum of 10,000 rows per
512
- # request, no matter how many you ask for. It can also return fewer rows
513
- # than requested, if there aren't as many dimension segments as you expect.
514
- # For instance, there are fewer than 300 possible values for `ga:country`,
515
- # so when segmenting only by country, you can't get more than 300 rows,
516
- # even if you set `pageSize` to a higher value.
517
- # Corresponds to the JSON property `pageSize`
518
- # @return [Fixnum]
519
- attr_accessor :page_size
520
-
521
- # If set to true, hides the total of all metrics for all the matching rows,
522
- # for every date range. The default false and will return the totals.
523
- # Corresponds to the JSON property `hideTotals`
524
- # @return [Boolean]
525
- attr_accessor :hide_totals
526
- alias_method :hide_totals?, :hide_totals
527
-
528
- # If set to true, hides the minimum and maximum across all matching rows.
529
- # The default is false and the value ranges are returned.
530
- # Corresponds to the JSON property `hideValueRanges`
531
- # @return [Boolean]
532
- attr_accessor :hide_value_ranges
533
- alias_method :hide_value_ranges?, :hide_value_ranges
534
-
535
- # Dimension or metric filters that restrict the data returned for your
536
- # request. To use the `filtersExpression`, supply a dimension or metric on
537
- # which to filter, followed by the filter expression. For example, the
538
- # following expression selects `ga:browser` dimension which starts with
539
- # Firefox; `ga:browser=~^Firefox`. For more information on dimensions
540
- # and metric filters, see
541
- # [Filters reference](https://developers.google.com/analytics/devguides/
542
- # reporting/core/v3/reference#filters).
543
- # Corresponds to the JSON property `filtersExpression`
544
- # @return [String]
545
- attr_accessor :filters_expression
546
-
547
- # Defines a cohort group.
548
- # For example:
549
- # "cohortGroup": `
550
- # "cohorts": [`
551
- # "name": "cohort 1",
552
- # "type": "FIRST_VISIT_DATE",
553
- # "dateRange": ` "startDate": "2015-08-01", "endDate": "2015-08-01" `
554
- # `,`
555
- # "name": "cohort 2"
556
- # "type": "FIRST_VISIT_DATE"
557
- # "dateRange": ` "startDate": "2015-07-01", "endDate": "2015-07-01" `
558
- # `]
559
- # `
560
- # Corresponds to the JSON property `cohortGroup`
561
- # @return [Google::Apis::AnalyticsreportingV4::CohortGroup]
562
- attr_accessor :cohort_group
563
-
564
- # The Analytics
565
- # [view ID](https://support.google.com/analytics/answer/1009618)
566
- # from which to retrieve data. Every [ReportRequest](#ReportRequest)
567
- # within a `batchGet` method must contain the same `viewId`.
568
- # Corresponds to the JSON property `viewId`
569
- # @return [String]
570
- attr_accessor :view_id
571
-
572
- # The metrics requested.
573
- # Requests must specify at least one metric. Requests can have a
574
- # total of 10 metrics.
575
- # Corresponds to the JSON property `metrics`
576
- # @return [Array<Google::Apis::AnalyticsreportingV4::Metric>]
577
- attr_accessor :metrics
578
-
579
- # The dimension filter clauses for filtering Dimension Values. They are
580
- # logically combined with the `AND` operator. Note that filtering occurs
581
- # before any dimensions are aggregated, so that the returned metrics
582
- # represent the total for only the relevant dimensions.
583
- # Corresponds to the JSON property `dimensionFilterClauses`
584
- # @return [Array<Google::Apis::AnalyticsreportingV4::DimensionFilterClause>]
585
- attr_accessor :dimension_filter_clauses
586
-
587
- # Sort order on output rows. To compare two rows, the elements of the
588
- # following are applied in order until a difference is found. All date
589
- # ranges in the output get the same row order.
590
- # Corresponds to the JSON property `orderBys`
591
- # @return [Array<Google::Apis::AnalyticsreportingV4::OrderBy>]
592
- attr_accessor :order_bys
593
-
594
- # Segment the data returned for the request. A segment definition helps look
595
- # at a subset of the segment request. A request can contain up to four
596
- # segments. Every [ReportRequest](#ReportRequest) within a
597
- # `batchGet` method must contain the same `segments` definition. Requests
598
- # with segments must have the `ga:segment` dimension.
599
- # Corresponds to the JSON property `segments`
600
- # @return [Array<Google::Apis::AnalyticsreportingV4::Segment>]
601
- attr_accessor :segments
602
-
603
- # The desired report
604
- # [sample](https://support.google.com/analytics/answer/2637192) size.
605
- # If the the `samplingLevel` field is unspecified the `DEFAULT` sampling
606
- # level is used. Every [ReportRequest](#ReportRequest) within a
607
- # `batchGet` method must contain the same `samplingLevel` definition. See
608
- # [developer guide](/analytics/devguides/reporting/core/v4/basics#sampling)
609
- # for details.
610
- # Corresponds to the JSON property `samplingLevel`
611
- # @return [String]
612
- attr_accessor :sampling_level
613
-
614
- # The dimensions requested.
615
- # Requests can have a total of 7 dimensions.
616
- # Corresponds to the JSON property `dimensions`
617
- # @return [Array<Google::Apis::AnalyticsreportingV4::Dimension>]
618
- attr_accessor :dimensions
619
-
620
- # A continuation token to get the next page of the results. Adding this to
621
- # the request will return the rows after the pageToken. The pageToken should
622
- # be the value returned in the nextPageToken parameter in the response to
623
- # the GetReports request.
624
- # Corresponds to the JSON property `pageToken`
625
- # @return [String]
626
- attr_accessor :page_token
627
-
628
- # Date ranges in the request. The request can have a maximum of 2 date
629
- # ranges. The response will contain a set of metric values for each
630
- # combination of the dimensions for each date range in the request. So, if
631
- # there are two date ranges, there will be two set of metric values, one for
632
- # the original date range and one for the second date range.
633
- # The `reportRequest.dateRanges` field should not be specified for cohorts
634
- # or Lifetime value requests.
635
- # If a date range is not provided, the default date range is (startDate:
636
- # current date - 7 days, endDate: current date - 1 day). Every
637
- # [ReportRequest](#ReportRequest) within a `batchGet` method must
638
- # contain the same `dateRanges` definition.
639
- # Corresponds to the JSON property `dateRanges`
640
- # @return [Array<Google::Apis::AnalyticsreportingV4::DateRange>]
641
- attr_accessor :date_ranges
642
-
643
- # The pivot definitions. Requests can have a maximum of 2 pivots.
644
- # Corresponds to the JSON property `pivots`
645
- # @return [Array<Google::Apis::AnalyticsreportingV4::Pivot>]
646
- attr_accessor :pivots
586
+ # Headers for the pivots in the response.
587
+ # Corresponds to the JSON property `pivotHeaders`
588
+ # @return [Array<Google::Apis::AnalyticsreportingV4::PivotHeader>]
589
+ attr_accessor :pivot_headers
647
590
 
648
- # If set to false, the response does not include rows if all the retrieved
649
- # metrics are equal to zero. The default is false which will exclude these
650
- # rows.
651
- # Corresponds to the JSON property `includeEmptyRows`
652
- # @return [Boolean]
653
- attr_accessor :include_empty_rows
654
- alias_method :include_empty_rows?, :include_empty_rows
591
+ # Headers for the metrics in the response.
592
+ # Corresponds to the JSON property `metricHeaderEntries`
593
+ # @return [Array<Google::Apis::AnalyticsreportingV4::MetricHeaderEntry>]
594
+ attr_accessor :metric_header_entries
655
595
 
656
596
  def initialize(**args)
657
597
  update!(**args)
@@ -659,66 +599,27 @@ module Google
659
599
 
660
600
  # Update properties of this object
661
601
  def update!(**args)
662
- @metric_filter_clauses = args[:metric_filter_clauses] if args.key?(:metric_filter_clauses)
663
- @page_size = args[:page_size] if args.key?(:page_size)
664
- @hide_totals = args[:hide_totals] if args.key?(:hide_totals)
665
- @hide_value_ranges = args[:hide_value_ranges] if args.key?(:hide_value_ranges)
666
- @filters_expression = args[:filters_expression] if args.key?(:filters_expression)
667
- @cohort_group = args[:cohort_group] if args.key?(:cohort_group)
668
- @view_id = args[:view_id] if args.key?(:view_id)
669
- @metrics = args[:metrics] if args.key?(:metrics)
670
- @dimension_filter_clauses = args[:dimension_filter_clauses] if args.key?(:dimension_filter_clauses)
671
- @order_bys = args[:order_bys] if args.key?(:order_bys)
672
- @segments = args[:segments] if args.key?(:segments)
673
- @sampling_level = args[:sampling_level] if args.key?(:sampling_level)
674
- @dimensions = args[:dimensions] if args.key?(:dimensions)
675
- @page_token = args[:page_token] if args.key?(:page_token)
676
- @date_ranges = args[:date_ranges] if args.key?(:date_ranges)
677
- @pivots = args[:pivots] if args.key?(:pivots)
678
- @include_empty_rows = args[:include_empty_rows] if args.key?(:include_empty_rows)
602
+ @pivot_headers = args[:pivot_headers] if args.key?(:pivot_headers)
603
+ @metric_header_entries = args[:metric_header_entries] if args.key?(:metric_header_entries)
679
604
  end
680
605
  end
681
606
 
682
- # [Dimensions](https://support.google.com/analytics/answer/1033861)
683
- # are attributes of your data. For example, the dimension `ga:city`
684
- # indicates the city, for example, "Paris" or "New York", from which
685
- # a session originates.
686
- class Dimension
607
+ # A group of dimension filters. Set the operator value to specify how
608
+ # the filters are logically combined.
609
+ class DimensionFilterClause
687
610
  include Google::Apis::Core::Hashable
688
611
 
689
- # If non-empty, we place dimension values into buckets after string to
690
- # int64. Dimension values that are not the string representation of an
691
- # integral value will be converted to zero. The bucket values have to be in
692
- # increasing order. Each bucket is closed on the lower end, and open on the
693
- # upper end. The "first" bucket includes all values less than the first
694
- # boundary, the "last" bucket includes all values up to infinity. Dimension
695
- # values that fall in a bucket get transformed to a new dimension value. For
696
- # example, if one gives a list of "0, 1, 3, 4, 7", then we return the
697
- # following buckets:
698
- # - bucket #1: values < 0, dimension value "<0"
699
- # - bucket #2: values in [0,1), dimension value "0"
700
- # - bucket #3: values in [1,3), dimension value "1-2"
701
- # - bucket #4: values in [3,4), dimension value "3"
702
- # - bucket #5: values in [4,7), dimension value "4-6"
703
- # - bucket #6: values >= 7, dimension value "7+"
704
- # NOTE: If you are applying histogram mutation on any dimension, and using
705
- # that dimension in sort, you will want to use the sort type
706
- # `HISTOGRAM_BUCKET` for that purpose. Without that the dimension values
707
- # will be sorted according to dictionary
708
- # (lexicographic) order. For example the ascending dictionary order is:
709
- # "<50", "1001+", "121-1000", "50-120"
710
- # And the ascending `HISTOGRAM_BUCKET` order is:
711
- # "<50", "50-120", "121-1000", "1001+"
712
- # The client has to explicitly request `"orderType": "HISTOGRAM_BUCKET"`
713
- # for a histogram-mutated dimension.
714
- # Corresponds to the JSON property `histogramBuckets`
715
- # @return [Array<Fixnum>]
716
- attr_accessor :histogram_buckets
717
-
718
- # Name of the dimension to fetch, for example `ga:browser`.
719
- # Corresponds to the JSON property `name`
612
+ # The operator for combining multiple dimension filters. If unspecified, it
613
+ # is treated as an `OR`.
614
+ # Corresponds to the JSON property `operator`
720
615
  # @return [String]
721
- attr_accessor :name
616
+ attr_accessor :operator
617
+
618
+ # The repeated set of filters. They are logically combined based on the
619
+ # operator specified.
620
+ # Corresponds to the JSON property `filters`
621
+ # @return [Array<Google::Apis::AnalyticsreportingV4::DimensionFilter>]
622
+ attr_accessor :filters
722
623
 
723
624
  def initialize(**args)
724
625
  update!(**args)
@@ -726,21 +627,20 @@ module Google
726
627
 
727
628
  # Update properties of this object
728
629
  def update!(**args)
729
- @histogram_buckets = args[:histogram_buckets] if args.key?(:histogram_buckets)
730
- @name = args[:name] if args.key?(:name)
630
+ @operator = args[:operator] if args.key?(:operator)
631
+ @filters = args[:filters] if args.key?(:filters)
731
632
  end
732
633
  end
733
634
 
734
- # A Simple segment conditions consist of one or more dimension/metric
735
- # conditions that can be combined.
736
- class SimpleSegment
635
+ # The main response class which holds the reports from the Reporting API
636
+ # `batchGet` call.
637
+ class GetReportsResponse
737
638
  include Google::Apis::Core::Hashable
738
639
 
739
- # A list of segment filters groups which are combined with logical `AND`
740
- # operator.
741
- # Corresponds to the JSON property `orFiltersForSegment`
742
- # @return [Array<Google::Apis::AnalyticsreportingV4::OrFiltersForSegment>]
743
- attr_accessor :or_filters_for_segment
640
+ # Responses corresponding to each of the request.
641
+ # Corresponds to the JSON property `reports`
642
+ # @return [Array<Google::Apis::AnalyticsreportingV4::Report>]
643
+ attr_accessor :reports
744
644
 
745
645
  def initialize(**args)
746
646
  update!(**args)
@@ -748,31 +648,73 @@ module Google
748
648
 
749
649
  # Update properties of this object
750
650
  def update!(**args)
751
- @or_filters_for_segment = args[:or_filters_for_segment] if args.key?(:or_filters_for_segment)
651
+ @reports = args[:reports] if args.key?(:reports)
752
652
  end
753
653
  end
754
654
 
755
- # Dynamic segment definition for defining the segment within the request.
756
- # A segment can select users, sessions or both.
757
- class DynamicSegment
655
+ # Sequence conditions consist of one or more steps, where each step is defined
656
+ # by one or more dimension/metric conditions. Multiple steps can be combined
657
+ # with special sequence operators.
658
+ class SequenceSegment
758
659
  include Google::Apis::Core::Hashable
759
660
 
760
- # SegmentDefinition defines the segment to be a set of SegmentFilters which
761
- # are combined together with a logical `AND` operation.
762
- # Corresponds to the JSON property `sessionSegment`
763
- # @return [Google::Apis::AnalyticsreportingV4::SegmentDefinition]
764
- attr_accessor :session_segment
661
+ # The list of steps in the sequence.
662
+ # Corresponds to the JSON property `segmentSequenceSteps`
663
+ # @return [Array<Google::Apis::AnalyticsreportingV4::SegmentSequenceStep>]
664
+ attr_accessor :segment_sequence_steps
765
665
 
766
- # The name of the dynamic segment.
767
- # Corresponds to the JSON property `name`
666
+ # If set, first step condition must match the first hit of the visitor (in
667
+ # the date range).
668
+ # Corresponds to the JSON property `firstStepShouldMatchFirstHit`
669
+ # @return [Boolean]
670
+ attr_accessor :first_step_should_match_first_hit
671
+ alias_method :first_step_should_match_first_hit?, :first_step_should_match_first_hit
672
+
673
+ def initialize(**args)
674
+ update!(**args)
675
+ end
676
+
677
+ # Update properties of this object
678
+ def update!(**args)
679
+ @segment_sequence_steps = args[:segment_sequence_steps] if args.key?(:segment_sequence_steps)
680
+ @first_step_should_match_first_hit = args[:first_step_should_match_first_hit] if args.key?(:first_step_should_match_first_hit)
681
+ end
682
+ end
683
+
684
+ # Metric filter to be used in a segment filter clause.
685
+ class SegmentMetricFilter
686
+ include Google::Apis::Core::Hashable
687
+
688
+ # The metric that will be filtered on. A `metricFilter` must contain a
689
+ # metric name.
690
+ # Corresponds to the JSON property `metricName`
768
691
  # @return [String]
769
- attr_accessor :name
692
+ attr_accessor :metric_name
770
693
 
771
- # SegmentDefinition defines the segment to be a set of SegmentFilters which
772
- # are combined together with a logical `AND` operation.
773
- # Corresponds to the JSON property `userSegment`
774
- # @return [Google::Apis::AnalyticsreportingV4::SegmentDefinition]
775
- attr_accessor :user_segment
694
+ # Scope for a metric defines the level at which that metric is defined. The
695
+ # specified metric scope must be equal to or greater than its primary scope
696
+ # as defined in the data model. The primary scope is defined by if the
697
+ # segment is selecting users or sessions.
698
+ # Corresponds to the JSON property `scope`
699
+ # @return [String]
700
+ attr_accessor :scope
701
+
702
+ # Max comparison value is only used for `BETWEEN` operator.
703
+ # Corresponds to the JSON property `maxComparisonValue`
704
+ # @return [String]
705
+ attr_accessor :max_comparison_value
706
+
707
+ # The value to compare against. If the operator is `BETWEEN`, this value is
708
+ # treated as minimum comparison value.
709
+ # Corresponds to the JSON property `comparisonValue`
710
+ # @return [String]
711
+ attr_accessor :comparison_value
712
+
713
+ # Specifies is the operation to perform to compare the metric. The default
714
+ # is `EQUAL`.
715
+ # Corresponds to the JSON property `operator`
716
+ # @return [String]
717
+ attr_accessor :operator
776
718
 
777
719
  def initialize(**args)
778
720
  update!(**args)
@@ -780,25 +722,28 @@ module Google
780
722
 
781
723
  # Update properties of this object
782
724
  def update!(**args)
783
- @session_segment = args[:session_segment] if args.key?(:session_segment)
784
- @name = args[:name] if args.key?(:name)
785
- @user_segment = args[:user_segment] if args.key?(:user_segment)
725
+ @metric_name = args[:metric_name] if args.key?(:metric_name)
726
+ @scope = args[:scope] if args.key?(:scope)
727
+ @max_comparison_value = args[:max_comparison_value] if args.key?(:max_comparison_value)
728
+ @comparison_value = args[:comparison_value] if args.key?(:comparison_value)
729
+ @operator = args[:operator] if args.key?(:operator)
786
730
  end
787
731
  end
788
732
 
789
- # Column headers.
790
- class ColumnHeader
733
+ # Used to return a list of metrics for a single DateRange / dimension
734
+ # combination
735
+ class DateRangeValues
791
736
  include Google::Apis::Core::Hashable
792
737
 
793
- # The dimension names in the response.
794
- # Corresponds to the JSON property `dimensions`
738
+ # Each value corresponds to each Metric in the request.
739
+ # Corresponds to the JSON property `values`
795
740
  # @return [Array<String>]
796
- attr_accessor :dimensions
741
+ attr_accessor :values
797
742
 
798
- # The headers for the metrics.
799
- # Corresponds to the JSON property `metricHeader`
800
- # @return [Google::Apis::AnalyticsreportingV4::MetricHeader]
801
- attr_accessor :metric_header
743
+ # The values of each pivot region.
744
+ # Corresponds to the JSON property `pivotValueRegions`
745
+ # @return [Array<Google::Apis::AnalyticsreportingV4::PivotValueRegion>]
746
+ attr_accessor :pivot_value_regions
802
747
 
803
748
  def initialize(**args)
804
749
  update!(**args)
@@ -806,31 +751,63 @@ module Google
806
751
 
807
752
  # Update properties of this object
808
753
  def update!(**args)
809
- @dimensions = args[:dimensions] if args.key?(:dimensions)
810
- @metric_header = args[:metric_header] if args.key?(:metric_header)
754
+ @values = args[:values] if args.key?(:values)
755
+ @pivot_value_regions = args[:pivot_value_regions] if args.key?(:pivot_value_regions)
811
756
  end
812
757
  end
813
758
 
814
- # Filter Clause to be used in a segment definition, can be wither a metric or
815
- # a dimension filter.
816
- class SegmentFilterClause
759
+ # Defines a cohort group.
760
+ # For example:
761
+ # "cohortGroup": `
762
+ # "cohorts": [`
763
+ # "name": "cohort 1",
764
+ # "type": "FIRST_VISIT_DATE",
765
+ # "dateRange": ` "startDate": "2015-08-01", "endDate": "2015-08-01" `
766
+ # `,`
767
+ # "name": "cohort 2"
768
+ # "type": "FIRST_VISIT_DATE"
769
+ # "dateRange": ` "startDate": "2015-07-01", "endDate": "2015-07-01" `
770
+ # `]
771
+ # `
772
+ class CohortGroup
817
773
  include Google::Apis::Core::Hashable
818
774
 
819
- # Metric filter to be used in a segment filter clause.
820
- # Corresponds to the JSON property `metricFilter`
821
- # @return [Google::Apis::AnalyticsreportingV4::SegmentMetricFilter]
822
- attr_accessor :metric_filter
823
-
824
- # Matches the complement (`!`) of the filter.
825
- # Corresponds to the JSON property `not`
775
+ # Enable Life Time Value (LTV). LTV measures lifetime value for users
776
+ # acquired through different channels.
777
+ # Please see:
778
+ # [Cohort Analysis](https://support.google.com/analytics/answer/6074676) and
779
+ # [Lifetime Value](https://support.google.com/analytics/answer/6182550)
780
+ # If the value of lifetimeValue is false:
781
+ # - The metric values are similar to the values in the web interface cohort
782
+ # report.
783
+ # - The cohort definition date ranges must be aligned to the calendar week
784
+ # and month. i.e. while requesting `ga:cohortNthWeek` the `startDate` in
785
+ # the cohort definition should be a Sunday and the `endDate` should be the
786
+ # following Saturday, and for `ga:cohortNthMonth`, the `startDate`
787
+ # should be the 1st of the month and `endDate` should be the last day
788
+ # of the month.
789
+ # When the lifetimeValue is true:
790
+ # - The metric values will correspond to the values in the web interface
791
+ # LifeTime value report.
792
+ # - The Lifetime Value report shows you how user value (Revenue) and
793
+ # engagement (Appviews, Goal Completions, Sessions, and Session Duration)
794
+ # grow during the 90 days after a user is acquired.
795
+ # - The metrics are calculated as a cumulative average per user per the time
796
+ # increment.
797
+ # - The cohort definition date ranges need not be aligned to the calendar
798
+ # week and month boundaries.
799
+ # - The `viewId` must be an
800
+ # [app view ID](https://support.google.com/analytics/answer/2649553#
801
+ # WebVersusAppViews)
802
+ # Corresponds to the JSON property `lifetimeValue`
826
803
  # @return [Boolean]
827
- attr_accessor :not
828
- alias_method :not?, :not
804
+ attr_accessor :lifetime_value
805
+ alias_method :lifetime_value?, :lifetime_value
829
806
 
830
- # Dimension filter specifies the filtering options on a dimension.
831
- # Corresponds to the JSON property `dimensionFilter`
832
- # @return [Google::Apis::AnalyticsreportingV4::SegmentDimensionFilter]
833
- attr_accessor :dimension_filter
807
+ # The definition for the cohort.
808
+ # Corresponds to the JSON property `cohorts`
809
+ # @return [Array<Google::Apis::AnalyticsreportingV4::Cohort>]
810
+ attr_accessor :cohorts
834
811
 
835
812
  def initialize(**args)
836
813
  update!(**args)
@@ -838,37 +815,21 @@ module Google
838
815
 
839
816
  # Update properties of this object
840
817
  def update!(**args)
841
- @metric_filter = args[:metric_filter] if args.key?(:metric_filter)
842
- @not = args[:not] if args.key?(:not)
843
- @dimension_filter = args[:dimension_filter] if args.key?(:dimension_filter)
818
+ @lifetime_value = args[:lifetime_value] if args.key?(:lifetime_value)
819
+ @cohorts = args[:cohorts] if args.key?(:cohorts)
844
820
  end
845
821
  end
846
822
 
847
- # Defines a cohort. A cohort is a group of users who share a common
848
- # characteristic. For example, all users with the same acquisition date
849
- # belong to the same cohort.
850
- class Cohort
823
+ # The batch request containing multiple report request.
824
+ class GetReportsRequest
851
825
  include Google::Apis::Core::Hashable
852
826
 
853
- # A unique name for the cohort. If not defined name will be auto-generated
854
- # with values cohort_[1234...].
855
- # Corresponds to the JSON property `name`
856
- # @return [String]
857
- attr_accessor :name
858
-
859
- # A contiguous set of days: startDate, startDate + 1 day, ..., endDate.
860
- # The start and end dates are specified in
861
- # [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) date format `YYYY-MM-DD`.
862
- # Corresponds to the JSON property `dateRange`
863
- # @return [Google::Apis::AnalyticsreportingV4::DateRange]
864
- attr_accessor :date_range
865
-
866
- # Type of the cohort. The only supported type as of now is
867
- # `FIRST_VISIT_DATE`. If this field is unspecified the cohort is treated
868
- # as `FIRST_VISIT_DATE` type cohort.
869
- # Corresponds to the JSON property `type`
870
- # @return [String]
871
- attr_accessor :type
827
+ # Requests, each request will have a separate response.
828
+ # There can be a maximum of 5 requests. All requests should have the same
829
+ # `dateRanges`, `viewId`, `segments`, `samplingLevel`, and `cohortGroup`.
830
+ # Corresponds to the JSON property `reportRequests`
831
+ # @return [Array<Google::Apis::AnalyticsreportingV4::ReportRequest>]
832
+ attr_accessor :report_requests
872
833
 
873
834
  def initialize(**args)
874
835
  update!(**args)
@@ -876,74 +837,95 @@ module Google
876
837
 
877
838
  # Update properties of this object
878
839
  def update!(**args)
879
- @name = args[:name] if args.key?(:name)
880
- @date_range = args[:date_range] if args.key?(:date_range)
881
- @type = args[:type] if args.key?(:type)
840
+ @report_requests = args[:report_requests] if args.key?(:report_requests)
882
841
  end
883
842
  end
884
843
 
885
- # A row in the report.
886
- class ReportRow
844
+ # The Pivot describes the pivot section in the request.
845
+ # The Pivot helps rearrange the information in the table for certain reports
846
+ # by pivoting your data on a second dimension.
847
+ class Pivot
887
848
  include Google::Apis::Core::Hashable
888
849
 
889
- # List of metrics for each requested DateRange.
850
+ # If k metrics were requested, then the response will contain some
851
+ # data-dependent multiple of k columns in the report. E.g., if you pivoted
852
+ # on the dimension `ga:browser` then you'd get k columns for "Firefox", k
853
+ # columns for "IE", k columns for "Chrome", etc. The ordering of the groups
854
+ # of columns is determined by descending order of "total" for the first of
855
+ # the k values. Ties are broken by lexicographic ordering of the first
856
+ # pivot dimension, then lexicographic ordering of the second pivot
857
+ # dimension, and so on. E.g., if the totals for the first value for
858
+ # Firefox, IE, and Chrome were 8, 2, 8, respectively, the order of columns
859
+ # would be Chrome, Firefox, IE.
860
+ # The following let you choose which of the groups of k columns are
861
+ # included in the response.
862
+ # Corresponds to the JSON property `startGroup`
863
+ # @return [Fixnum]
864
+ attr_accessor :start_group
865
+
866
+ # The pivot metrics. Pivot metrics are part of the
867
+ # restriction on total number of metrics allowed in the request.
890
868
  # Corresponds to the JSON property `metrics`
891
- # @return [Array<Google::Apis::AnalyticsreportingV4::DateRangeValues>]
869
+ # @return [Array<Google::Apis::AnalyticsreportingV4::Metric>]
892
870
  attr_accessor :metrics
893
871
 
894
- # List of requested dimensions.
872
+ # A list of dimensions to show as pivot columns. A Pivot can have a maximum
873
+ # of 4 dimensions. Pivot dimensions are part of the restriction on the
874
+ # total number of dimensions allowed in the request.
895
875
  # Corresponds to the JSON property `dimensions`
896
- # @return [Array<String>]
876
+ # @return [Array<Google::Apis::AnalyticsreportingV4::Dimension>]
897
877
  attr_accessor :dimensions
898
878
 
879
+ # DimensionFilterClauses are logically combined with an `AND` operator: only
880
+ # data that is included by all these DimensionFilterClauses contributes to
881
+ # the values in this pivot region. Dimension filters can be used to restrict
882
+ # the columns shown in the pivot region. For example if you have
883
+ # `ga:browser` as the requested dimension in the pivot region, and you
884
+ # specify key filters to restrict `ga:browser` to only "IE" or "Firefox",
885
+ # then only those two browsers would show up as columns.
886
+ # Corresponds to the JSON property `dimensionFilterClauses`
887
+ # @return [Array<Google::Apis::AnalyticsreportingV4::DimensionFilterClause>]
888
+ attr_accessor :dimension_filter_clauses
889
+
890
+ # Specifies the maximum number of groups to return.
891
+ # The default value is 10, also the maximum value is 1,000.
892
+ # Corresponds to the JSON property `maxGroupCount`
893
+ # @return [Fixnum]
894
+ attr_accessor :max_group_count
895
+
899
896
  def initialize(**args)
900
897
  update!(**args)
901
898
  end
902
899
 
903
900
  # Update properties of this object
904
901
  def update!(**args)
902
+ @start_group = args[:start_group] if args.key?(:start_group)
905
903
  @metrics = args[:metrics] if args.key?(:metrics)
906
904
  @dimensions = args[:dimensions] if args.key?(:dimensions)
905
+ @dimension_filter_clauses = args[:dimension_filter_clauses] if args.key?(:dimension_filter_clauses)
906
+ @max_group_count = args[:max_group_count] if args.key?(:max_group_count)
907
907
  end
908
908
  end
909
909
 
910
- # Represents a group of metric filters.
911
- # Set the operator value to specify how the filters are logically combined.
912
- class MetricFilterClause
910
+ # The headers for the each of the metric column corresponding to the metrics
911
+ # requested in the pivots section of the response.
912
+ class PivotHeaderEntry
913
913
  include Google::Apis::Core::Hashable
914
914
 
915
- # The operator for combining multiple metric filters. If unspecified, it is
916
- # treated as an `OR`.
917
- # Corresponds to the JSON property `operator`
918
- # @return [String]
919
- attr_accessor :operator
920
-
921
- # The repeated set of filters. They are logically combined based on the
922
- # operator specified.
923
- # Corresponds to the JSON property `filters`
924
- # @return [Array<Google::Apis::AnalyticsreportingV4::MetricFilter>]
925
- attr_accessor :filters
926
-
927
- def initialize(**args)
928
- update!(**args)
929
- end
930
-
931
- # Update properties of this object
932
- def update!(**args)
933
- @operator = args[:operator] if args.key?(:operator)
934
- @filters = args[:filters] if args.key?(:filters)
935
- end
936
- end
915
+ # The name of the dimensions in the pivot response.
916
+ # Corresponds to the JSON property `dimensionNames`
917
+ # @return [Array<String>]
918
+ attr_accessor :dimension_names
937
919
 
938
- # A list of segment filters in the `OR` group are combined with the logical OR
939
- # operator.
940
- class OrFiltersForSegment
941
- include Google::Apis::Core::Hashable
920
+ # Header for the metrics.
921
+ # Corresponds to the JSON property `metric`
922
+ # @return [Google::Apis::AnalyticsreportingV4::MetricHeaderEntry]
923
+ attr_accessor :metric
942
924
 
943
- # List of segment filters to be combined with a `OR` operator.
944
- # Corresponds to the JSON property `segmentFilterClauses`
945
- # @return [Array<Google::Apis::AnalyticsreportingV4::SegmentFilterClause>]
946
- attr_accessor :segment_filter_clauses
925
+ # The values for the dimensions in the pivot.
926
+ # Corresponds to the JSON property `dimensionValues`
927
+ # @return [Array<String>]
928
+ attr_accessor :dimension_values
947
929
 
948
930
  def initialize(**args)
949
931
  update!(**args)
@@ -951,23 +933,54 @@ module Google
951
933
 
952
934
  # Update properties of this object
953
935
  def update!(**args)
954
- @segment_filter_clauses = args[:segment_filter_clauses] if args.key?(:segment_filter_clauses)
936
+ @dimension_names = args[:dimension_names] if args.key?(:dimension_names)
937
+ @metric = args[:metric] if args.key?(:metric)
938
+ @dimension_values = args[:dimension_values] if args.key?(:dimension_values)
955
939
  end
956
940
  end
957
941
 
958
- # The headers for the metrics.
959
- class MetricHeader
942
+ # SegmentFilter defines the segment to be either a simple or a sequence
943
+ # segment. A simple segment condition contains dimension and metric conditions
944
+ # to select the sessions or users. A sequence segment condition can be used to
945
+ # select users or sessions based on sequential conditions.
946
+ class SegmentFilter
960
947
  include Google::Apis::Core::Hashable
961
948
 
962
- # Headers for the pivots in the response.
963
- # Corresponds to the JSON property `pivotHeaders`
964
- # @return [Array<Google::Apis::AnalyticsreportingV4::PivotHeader>]
965
- attr_accessor :pivot_headers
949
+ # If true, match the complement of simple or sequence segment.
950
+ # For example, to match all visits not from "New York", we can define the
951
+ # segment as follows:
952
+ # "sessionSegment": `
953
+ # "segmentFilters": [`
954
+ # "simpleSegment" :`
955
+ # "orFiltersForSegment": [`
956
+ # "segmentFilterClauses":[`
957
+ # "dimensionFilter": `
958
+ # "dimensionName": "ga:city",
959
+ # "expressions": ["New York"]
960
+ # `
961
+ # `]
962
+ # `]
963
+ # `,
964
+ # "not": "True"
965
+ # `]
966
+ # `,
967
+ # Corresponds to the JSON property `not`
968
+ # @return [Boolean]
969
+ attr_accessor :not
970
+ alias_method :not?, :not
966
971
 
967
- # Headers for the metrics in the response.
968
- # Corresponds to the JSON property `metricHeaderEntries`
969
- # @return [Array<Google::Apis::AnalyticsreportingV4::MetricHeaderEntry>]
970
- attr_accessor :metric_header_entries
972
+ # A Simple segment conditions consist of one or more dimension/metric
973
+ # conditions that can be combined.
974
+ # Corresponds to the JSON property `simpleSegment`
975
+ # @return [Google::Apis::AnalyticsreportingV4::SimpleSegment]
976
+ attr_accessor :simple_segment
977
+
978
+ # Sequence conditions consist of one or more steps, where each step is defined
979
+ # by one or more dimension/metric conditions. Multiple steps can be combined
980
+ # with special sequence operators.
981
+ # Corresponds to the JSON property `sequenceSegment`
982
+ # @return [Google::Apis::AnalyticsreportingV4::SequenceSegment]
983
+ attr_accessor :sequence_segment
971
984
 
972
985
  def initialize(**args)
973
986
  update!(**args)
@@ -975,27 +988,22 @@ module Google
975
988
 
976
989
  # Update properties of this object
977
990
  def update!(**args)
978
- @pivot_headers = args[:pivot_headers] if args.key?(:pivot_headers)
979
- @metric_header_entries = args[:metric_header_entries] if args.key?(:metric_header_entries)
991
+ @not = args[:not] if args.key?(:not)
992
+ @simple_segment = args[:simple_segment] if args.key?(:simple_segment)
993
+ @sequence_segment = args[:sequence_segment] if args.key?(:sequence_segment)
980
994
  end
981
995
  end
982
996
 
983
- # A group of dimension filters. Set the operator value to specify how
984
- # the filters are logically combined.
985
- class DimensionFilterClause
997
+ # SegmentDefinition defines the segment to be a set of SegmentFilters which
998
+ # are combined together with a logical `AND` operation.
999
+ class SegmentDefinition
986
1000
  include Google::Apis::Core::Hashable
987
1001
 
988
- # The operator for combining multiple dimension filters. If unspecified, it
989
- # is treated as an `OR`.
990
- # Corresponds to the JSON property `operator`
991
- # @return [String]
992
- attr_accessor :operator
993
-
994
- # The repeated set of filters. They are logically combined based on the
995
- # operator specified.
996
- # Corresponds to the JSON property `filters`
997
- # @return [Array<Google::Apis::AnalyticsreportingV4::DimensionFilter>]
998
- attr_accessor :filters
1002
+ # A segment is defined by a set of segment filters which are combined
1003
+ # together with a logical `AND` operation.
1004
+ # Corresponds to the JSON property `segmentFilters`
1005
+ # @return [Array<Google::Apis::AnalyticsreportingV4::SegmentFilter>]
1006
+ attr_accessor :segment_filters
999
1007
 
1000
1008
  def initialize(**args)
1001
1009
  update!(**args)
@@ -1003,20 +1011,23 @@ module Google
1003
1011
 
1004
1012
  # Update properties of this object
1005
1013
  def update!(**args)
1006
- @operator = args[:operator] if args.key?(:operator)
1007
- @filters = args[:filters] if args.key?(:filters)
1014
+ @segment_filters = args[:segment_filters] if args.key?(:segment_filters)
1008
1015
  end
1009
1016
  end
1010
1017
 
1011
- # The main response class which holds the reports from the Reporting API
1012
- # `batchGet` call.
1013
- class GetReportsResponse
1018
+ # Header for the metrics.
1019
+ class MetricHeaderEntry
1014
1020
  include Google::Apis::Core::Hashable
1015
1021
 
1016
- # Responses corresponding to each of the request.
1017
- # Corresponds to the JSON property `reports`
1018
- # @return [Array<Google::Apis::AnalyticsreportingV4::Report>]
1019
- attr_accessor :reports
1022
+ # The name of the header.
1023
+ # Corresponds to the JSON property `name`
1024
+ # @return [String]
1025
+ attr_accessor :name
1026
+
1027
+ # The type of the metric, for example `INTEGER`.
1028
+ # Corresponds to the JSON property `type`
1029
+ # @return [String]
1030
+ attr_accessor :type
1020
1031
 
1021
1032
  def initialize(**args)
1022
1033
  update!(**args)
@@ -1024,27 +1035,85 @@ module Google
1024
1035
 
1025
1036
  # Update properties of this object
1026
1037
  def update!(**args)
1027
- @reports = args[:reports] if args.key?(:reports)
1038
+ @name = args[:name] if args.key?(:name)
1039
+ @type = args[:type] if args.key?(:type)
1028
1040
  end
1029
1041
  end
1030
1042
 
1031
- # Sequence conditions consist of one or more steps, where each step is defined
1032
- # by one or more dimension/metric conditions. Multiple steps can be combined
1033
- # with special sequence operators.
1034
- class SequenceSegment
1043
+ # The data part of the report.
1044
+ class ReportData
1035
1045
  include Google::Apis::Core::Hashable
1036
1046
 
1037
- # If set, first step condition must match the first hit of the visitor (in
1038
- # the date range).
1039
- # Corresponds to the JSON property `firstStepShouldMatchFirstHit`
1047
+ # If the results are
1048
+ # [sampled](https://support.google.com/analytics/answer/2637192),
1049
+ # this returns the total number of
1050
+ # samples present, one entry per date range. If the results are not sampled
1051
+ # this field will not be defined. See
1052
+ # [developer guide](/analytics/devguides/reporting/core/v4/basics#sampling)
1053
+ # for details.
1054
+ # Corresponds to the JSON property `samplingSpaceSizes`
1055
+ # @return [Array<Fixnum>]
1056
+ attr_accessor :sampling_space_sizes
1057
+
1058
+ # Minimum and maximum values seen over all matching rows. These are both
1059
+ # empty when `hideValueRanges` in the request is false, or when
1060
+ # rowCount is zero.
1061
+ # Corresponds to the JSON property `minimums`
1062
+ # @return [Array<Google::Apis::AnalyticsreportingV4::DateRangeValues>]
1063
+ attr_accessor :minimums
1064
+
1065
+ # For each requested date range, for the set of all rows that match
1066
+ # the query, every requested value format gets a total. The total
1067
+ # for a value format is computed by first totaling the metrics
1068
+ # mentioned in the value format and then evaluating the value
1069
+ # format as a scalar expression. E.g., The "totals" for
1070
+ # `3 / (ga:sessions + 2)` we compute
1071
+ # `3 / ((sum of all relevant ga:sessions) + 2)`.
1072
+ # Totals are computed before pagination.
1073
+ # Corresponds to the JSON property `totals`
1074
+ # @return [Array<Google::Apis::AnalyticsreportingV4::DateRangeValues>]
1075
+ attr_accessor :totals
1076
+
1077
+ # If the results are
1078
+ # [sampled](https://support.google.com/analytics/answer/2637192),
1079
+ # this returns the total number of samples read, one entry per date range.
1080
+ # If the results are not sampled this field will not be defined. See
1081
+ # [developer guide](/analytics/devguides/reporting/core/v4/basics#sampling)
1082
+ # for details.
1083
+ # Corresponds to the JSON property `samplesReadCounts`
1084
+ # @return [Array<Fixnum>]
1085
+ attr_accessor :samples_read_counts
1086
+
1087
+ # Total number of matching rows for this query.
1088
+ # Corresponds to the JSON property `rowCount`
1089
+ # @return [Fixnum]
1090
+ attr_accessor :row_count
1091
+
1092
+ # There's one ReportRow for every unique combination of dimensions.
1093
+ # Corresponds to the JSON property `rows`
1094
+ # @return [Array<Google::Apis::AnalyticsreportingV4::ReportRow>]
1095
+ attr_accessor :rows
1096
+
1097
+ # Indicates if response to this request is golden or not. Data is
1098
+ # golden when the exact same request will not produce any new results if
1099
+ # asked at a later point in time.
1100
+ # Corresponds to the JSON property `isDataGolden`
1040
1101
  # @return [Boolean]
1041
- attr_accessor :first_step_should_match_first_hit
1042
- alias_method :first_step_should_match_first_hit?, :first_step_should_match_first_hit
1102
+ attr_accessor :is_data_golden
1103
+ alias_method :is_data_golden?, :is_data_golden
1043
1104
 
1044
- # The list of steps in the sequence.
1045
- # Corresponds to the JSON property `segmentSequenceSteps`
1046
- # @return [Array<Google::Apis::AnalyticsreportingV4::SegmentSequenceStep>]
1047
- attr_accessor :segment_sequence_steps
1105
+ # The last time the data in the report was refreshed. All the hits received
1106
+ # before this timestamp are included in the calculation of the report.
1107
+ # Corresponds to the JSON property `dataLastRefreshed`
1108
+ # @return [String]
1109
+ attr_accessor :data_last_refreshed
1110
+
1111
+ # Minimum and maximum values seen over all matching rows. These are both
1112
+ # empty when `hideValueRanges` in the request is false, or when
1113
+ # rowCount is zero.
1114
+ # Corresponds to the JSON property `maximums`
1115
+ # @return [Array<Google::Apis::AnalyticsreportingV4::DateRangeValues>]
1116
+ attr_accessor :maximums
1048
1117
 
1049
1118
  def initialize(**args)
1050
1119
  update!(**args)
@@ -1052,45 +1121,52 @@ module Google
1052
1121
 
1053
1122
  # Update properties of this object
1054
1123
  def update!(**args)
1055
- @first_step_should_match_first_hit = args[:first_step_should_match_first_hit] if args.key?(:first_step_should_match_first_hit)
1056
- @segment_sequence_steps = args[:segment_sequence_steps] if args.key?(:segment_sequence_steps)
1124
+ @sampling_space_sizes = args[:sampling_space_sizes] if args.key?(:sampling_space_sizes)
1125
+ @minimums = args[:minimums] if args.key?(:minimums)
1126
+ @totals = args[:totals] if args.key?(:totals)
1127
+ @samples_read_counts = args[:samples_read_counts] if args.key?(:samples_read_counts)
1128
+ @row_count = args[:row_count] if args.key?(:row_count)
1129
+ @rows = args[:rows] if args.key?(:rows)
1130
+ @is_data_golden = args[:is_data_golden] if args.key?(:is_data_golden)
1131
+ @data_last_refreshed = args[:data_last_refreshed] if args.key?(:data_last_refreshed)
1132
+ @maximums = args[:maximums] if args.key?(:maximums)
1057
1133
  end
1058
1134
  end
1059
1135
 
1060
- # Metric filter to be used in a segment filter clause.
1061
- class SegmentMetricFilter
1136
+ # Dimension filter specifies the filtering options on a dimension.
1137
+ class DimensionFilter
1062
1138
  include Google::Apis::Core::Hashable
1063
1139
 
1064
- # The metric that will be filtered on. A `metricFilter` must contain a
1065
- # metric name.
1066
- # Corresponds to the JSON property `metricName`
1140
+ # The dimension to filter on. A DimensionFilter must contain a dimension.
1141
+ # Corresponds to the JSON property `dimensionName`
1067
1142
  # @return [String]
1068
- attr_accessor :metric_name
1143
+ attr_accessor :dimension_name
1069
1144
 
1070
- # Scope for a metric defines the level at which that metric is defined. The
1071
- # specified metric scope must be equal to or greater than its primary scope
1072
- # as defined in the data model. The primary scope is defined by if the
1073
- # segment is selecting users or sessions.
1074
- # Corresponds to the JSON property `scope`
1145
+ # How to match the dimension to the expression. The default is REGEXP.
1146
+ # Corresponds to the JSON property `operator`
1075
1147
  # @return [String]
1076
- attr_accessor :scope
1148
+ attr_accessor :operator
1077
1149
 
1078
- # Max comparison value is only used for `BETWEEN` operator.
1079
- # Corresponds to the JSON property `maxComparisonValue`
1080
- # @return [String]
1081
- attr_accessor :max_comparison_value
1150
+ # Logical `NOT` operator. If this boolean is set to true, then the matching
1151
+ # dimension values will be excluded in the report. The default is false.
1152
+ # Corresponds to the JSON property `not`
1153
+ # @return [Boolean]
1154
+ attr_accessor :not
1155
+ alias_method :not?, :not
1082
1156
 
1083
- # The value to compare against. If the operator is `BETWEEN`, this value is
1084
- # treated as minimum comparison value.
1085
- # Corresponds to the JSON property `comparisonValue`
1086
- # @return [String]
1087
- attr_accessor :comparison_value
1157
+ # Strings or regular expression to match against. Only the first value of
1158
+ # the list is used for comparison unless the operator is `IN_LIST`.
1159
+ # If `IN_LIST` operator, then the entire list is used to filter the
1160
+ # dimensions as explained in the description of the `IN_LIST` operator.
1161
+ # Corresponds to the JSON property `expressions`
1162
+ # @return [Array<String>]
1163
+ attr_accessor :expressions
1088
1164
 
1089
- # Specifies is the operation to perform to compare the metric. The default
1090
- # is `EQUAL`.
1091
- # Corresponds to the JSON property `operator`
1092
- # @return [String]
1093
- attr_accessor :operator
1165
+ # Should the match be case sensitive? Default is false.
1166
+ # Corresponds to the JSON property `caseSensitive`
1167
+ # @return [Boolean]
1168
+ attr_accessor :case_sensitive
1169
+ alias_method :case_sensitive?, :case_sensitive
1094
1170
 
1095
1171
  def initialize(**args)
1096
1172
  update!(**args)
@@ -1098,92 +1174,48 @@ module Google
1098
1174
 
1099
1175
  # Update properties of this object
1100
1176
  def update!(**args)
1101
- @metric_name = args[:metric_name] if args.key?(:metric_name)
1102
- @scope = args[:scope] if args.key?(:scope)
1103
- @max_comparison_value = args[:max_comparison_value] if args.key?(:max_comparison_value)
1104
- @comparison_value = args[:comparison_value] if args.key?(:comparison_value)
1177
+ @dimension_name = args[:dimension_name] if args.key?(:dimension_name)
1105
1178
  @operator = args[:operator] if args.key?(:operator)
1179
+ @not = args[:not] if args.key?(:not)
1180
+ @expressions = args[:expressions] if args.key?(:expressions)
1181
+ @case_sensitive = args[:case_sensitive] if args.key?(:case_sensitive)
1106
1182
  end
1107
1183
  end
1108
1184
 
1109
- # Used to return a list of metrics for a single DateRange / dimension
1110
- # combination
1111
- class DateRangeValues
1185
+ # Dimension filter specifies the filtering options on a dimension.
1186
+ class SegmentDimensionFilter
1112
1187
  include Google::Apis::Core::Hashable
1113
1188
 
1114
- # Each value corresponds to each Metric in the request.
1115
- # Corresponds to the JSON property `values`
1116
- # @return [Array<String>]
1117
- attr_accessor :values
1118
-
1119
- # The values of each pivot region.
1120
- # Corresponds to the JSON property `pivotValueRegions`
1121
- # @return [Array<Google::Apis::AnalyticsreportingV4::PivotValueRegion>]
1122
- attr_accessor :pivot_value_regions
1123
-
1124
- def initialize(**args)
1125
- update!(**args)
1126
- end
1189
+ # Name of the dimension for which the filter is being applied.
1190
+ # Corresponds to the JSON property `dimensionName`
1191
+ # @return [String]
1192
+ attr_accessor :dimension_name
1127
1193
 
1128
- # Update properties of this object
1129
- def update!(**args)
1130
- @values = args[:values] if args.key?(:values)
1131
- @pivot_value_regions = args[:pivot_value_regions] if args.key?(:pivot_value_regions)
1132
- end
1133
- end
1194
+ # The operator to use to match the dimension with the expressions.
1195
+ # Corresponds to the JSON property `operator`
1196
+ # @return [String]
1197
+ attr_accessor :operator
1134
1198
 
1135
- # Defines a cohort group.
1136
- # For example:
1137
- # "cohortGroup": `
1138
- # "cohorts": [`
1139
- # "name": "cohort 1",
1140
- # "type": "FIRST_VISIT_DATE",
1141
- # "dateRange": ` "startDate": "2015-08-01", "endDate": "2015-08-01" `
1142
- # `,`
1143
- # "name": "cohort 2"
1144
- # "type": "FIRST_VISIT_DATE"
1145
- # "dateRange": ` "startDate": "2015-07-01", "endDate": "2015-07-01" `
1146
- # `]
1147
- # `
1148
- class CohortGroup
1149
- include Google::Apis::Core::Hashable
1199
+ # The list of expressions, only the first element is used for all operators
1200
+ # Corresponds to the JSON property `expressions`
1201
+ # @return [Array<String>]
1202
+ attr_accessor :expressions
1150
1203
 
1151
- # Enable Life Time Value (LTV). LTV measures lifetime value for users
1152
- # acquired through different channels.
1153
- # Please see:
1154
- # [Cohort Analysis](https://support.google.com/analytics/answer/6074676) and
1155
- # [Lifetime Value](https://support.google.com/analytics/answer/6182550)
1156
- # If the value of lifetimeValue is false:
1157
- # - The metric values are similar to the values in the web interface cohort
1158
- # report.
1159
- # - The cohort definition date ranges must be aligned to the calendar week
1160
- # and month. i.e. while requesting `ga:cohortNthWeek` the `startDate` in
1161
- # the cohort definition should be a Sunday and the `endDate` should be the
1162
- # following Saturday, and for `ga:cohortNthMonth`, the `startDate`
1163
- # should be the 1st of the month and `endDate` should be the last day
1164
- # of the month.
1165
- # When the lifetimeValue is true:
1166
- # - The metric values will correspond to the values in the web interface
1167
- # LifeTime value report.
1168
- # - The Lifetime Value report shows you how user value (Revenue) and
1169
- # engagement (Appviews, Goal Completions, Sessions, and Session Duration)
1170
- # grow during the 90 days after a user is acquired.
1171
- # - The metrics are calculated as a cumulative average per user per the time
1172
- # increment.
1173
- # - The cohort definition date ranges need not be aligned to the calendar
1174
- # week and month boundaries.
1175
- # - The `viewId` must be an
1176
- # [app view ID](https://support.google.com/analytics/answer/2649553#
1177
- # WebVersusAppViews)
1178
- # Corresponds to the JSON property `lifetimeValue`
1204
+ # Should the match be case sensitive, ignored for `IN_LIST` operator.
1205
+ # Corresponds to the JSON property `caseSensitive`
1179
1206
  # @return [Boolean]
1180
- attr_accessor :lifetime_value
1181
- alias_method :lifetime_value?, :lifetime_value
1207
+ attr_accessor :case_sensitive
1208
+ alias_method :case_sensitive?, :case_sensitive
1182
1209
 
1183
- # The definition for the cohort.
1184
- # Corresponds to the JSON property `cohorts`
1185
- # @return [Array<Google::Apis::AnalyticsreportingV4::Cohort>]
1186
- attr_accessor :cohorts
1210
+ # Minimum comparison values for `BETWEEN` match type.
1211
+ # Corresponds to the JSON property `minComparisonValue`
1212
+ # @return [String]
1213
+ attr_accessor :min_comparison_value
1214
+
1215
+ # Maximum comparison values for `BETWEEN` match type.
1216
+ # Corresponds to the JSON property `maxComparisonValue`
1217
+ # @return [String]
1218
+ attr_accessor :max_comparison_value
1187
1219
 
1188
1220
  def initialize(**args)
1189
1221
  update!(**args)
@@ -1191,21 +1223,36 @@ module Google
1191
1223
 
1192
1224
  # Update properties of this object
1193
1225
  def update!(**args)
1194
- @lifetime_value = args[:lifetime_value] if args.key?(:lifetime_value)
1195
- @cohorts = args[:cohorts] if args.key?(:cohorts)
1226
+ @dimension_name = args[:dimension_name] if args.key?(:dimension_name)
1227
+ @operator = args[:operator] if args.key?(:operator)
1228
+ @expressions = args[:expressions] if args.key?(:expressions)
1229
+ @case_sensitive = args[:case_sensitive] if args.key?(:case_sensitive)
1230
+ @min_comparison_value = args[:min_comparison_value] if args.key?(:min_comparison_value)
1231
+ @max_comparison_value = args[:max_comparison_value] if args.key?(:max_comparison_value)
1196
1232
  end
1197
1233
  end
1198
1234
 
1199
- # The batch request containing multiple report request.
1200
- class GetReportsRequest
1235
+ # Specifies the sorting options.
1236
+ class OrderBy
1201
1237
  include Google::Apis::Core::Hashable
1202
1238
 
1203
- # Requests, each request will have a separate response.
1204
- # There can be a maximum of 5 requests. All requests should have the same
1205
- # `dateRanges`, `viewId`, `segments`, `samplingLevel`, and `cohortGroup`.
1206
- # Corresponds to the JSON property `reportRequests`
1207
- # @return [Array<Google::Apis::AnalyticsreportingV4::ReportRequest>]
1208
- attr_accessor :report_requests
1239
+ # The sorting order for the field.
1240
+ # Corresponds to the JSON property `sortOrder`
1241
+ # @return [String]
1242
+ attr_accessor :sort_order
1243
+
1244
+ # The field which to sort by. The default sort order is ascending. Example:
1245
+ # `ga:browser`.
1246
+ # Note, that you can only specify one field for sort here. For example,
1247
+ # `ga:browser, ga:city` is not valid.
1248
+ # Corresponds to the JSON property `fieldName`
1249
+ # @return [String]
1250
+ attr_accessor :field_name
1251
+
1252
+ # The order type. The default orderType is `VALUE`.
1253
+ # Corresponds to the JSON property `orderType`
1254
+ # @return [String]
1255
+ attr_accessor :order_type
1209
1256
 
1210
1257
  def initialize(**args)
1211
1258
  update!(**args)
@@ -1213,61 +1260,28 @@ module Google
1213
1260
 
1214
1261
  # Update properties of this object
1215
1262
  def update!(**args)
1216
- @report_requests = args[:report_requests] if args.key?(:report_requests)
1263
+ @sort_order = args[:sort_order] if args.key?(:sort_order)
1264
+ @field_name = args[:field_name] if args.key?(:field_name)
1265
+ @order_type = args[:order_type] if args.key?(:order_type)
1217
1266
  end
1218
1267
  end
1219
1268
 
1220
- # The Pivot describes the pivot section in the request.
1221
- # The Pivot helps rearrange the information in the table for certain reports
1222
- # by pivoting your data on a second dimension.
1223
- class Pivot
1269
+ # The segment definition, if the report needs to be segmented.
1270
+ # A Segment is a subset of the Analytics data. For example, of the entire
1271
+ # set of users, one Segment might be users from a particular country or city.
1272
+ class Segment
1224
1273
  include Google::Apis::Core::Hashable
1225
1274
 
1226
- # A list of dimensions to show as pivot columns. A Pivot can have a maximum
1227
- # of 4 dimensions. Pivot dimensions are part of the restriction on the
1228
- # total number of dimensions allowed in the request.
1229
- # Corresponds to the JSON property `dimensions`
1230
- # @return [Array<Google::Apis::AnalyticsreportingV4::Dimension>]
1231
- attr_accessor :dimensions
1232
-
1233
- # DimensionFilterClauses are logically combined with an `AND` operator: only
1234
- # data that is included by all these DimensionFilterClauses contributes to
1235
- # the values in this pivot region. Dimension filters can be used to restrict
1236
- # the columns shown in the pivot region. For example if you have
1237
- # `ga:browser` as the requested dimension in the pivot region, and you
1238
- # specify key filters to restrict `ga:browser` to only "IE" or "Firefox",
1239
- # then only those two browsers would show up as columns.
1240
- # Corresponds to the JSON property `dimensionFilterClauses`
1241
- # @return [Array<Google::Apis::AnalyticsreportingV4::DimensionFilterClause>]
1242
- attr_accessor :dimension_filter_clauses
1243
-
1244
- # Specifies the maximum number of groups to return.
1245
- # The default value is 10, also the maximum value is 1,000.
1246
- # Corresponds to the JSON property `maxGroupCount`
1247
- # @return [Fixnum]
1248
- attr_accessor :max_group_count
1249
-
1250
- # If k metrics were requested, then the response will contain some
1251
- # data-dependent multiple of k columns in the report. E.g., if you pivoted
1252
- # on the dimension `ga:browser` then you'd get k columns for "Firefox", k
1253
- # columns for "IE", k columns for "Chrome", etc. The ordering of the groups
1254
- # of columns is determined by descending order of "total" for the first of
1255
- # the k values. Ties are broken by lexicographic ordering of the first
1256
- # pivot dimension, then lexicographic ordering of the second pivot
1257
- # dimension, and so on. E.g., if the totals for the first value for
1258
- # Firefox, IE, and Chrome were 8, 2, 8, respectively, the order of columns
1259
- # would be Chrome, Firefox, IE.
1260
- # The following let you choose which of the groups of k columns are
1261
- # included in the response.
1262
- # Corresponds to the JSON property `startGroup`
1263
- # @return [Fixnum]
1264
- attr_accessor :start_group
1275
+ # Dynamic segment definition for defining the segment within the request.
1276
+ # A segment can select users, sessions or both.
1277
+ # Corresponds to the JSON property `dynamicSegment`
1278
+ # @return [Google::Apis::AnalyticsreportingV4::DynamicSegment]
1279
+ attr_accessor :dynamic_segment
1265
1280
 
1266
- # The pivot metrics. Pivot metrics are part of the
1267
- # restriction on total number of metrics allowed in the request.
1268
- # Corresponds to the JSON property `metrics`
1269
- # @return [Array<Google::Apis::AnalyticsreportingV4::Metric>]
1270
- attr_accessor :metrics
1281
+ # The segment ID of a built-in or custom segment, for example `gaid::-3`.
1282
+ # Corresponds to the JSON property `segmentId`
1283
+ # @return [String]
1284
+ attr_accessor :segment_id
1271
1285
 
1272
1286
  def initialize(**args)
1273
1287
  update!(**args)
@@ -1275,33 +1289,26 @@ module Google
1275
1289
 
1276
1290
  # Update properties of this object
1277
1291
  def update!(**args)
1278
- @dimensions = args[:dimensions] if args.key?(:dimensions)
1279
- @dimension_filter_clauses = args[:dimension_filter_clauses] if args.key?(:dimension_filter_clauses)
1280
- @max_group_count = args[:max_group_count] if args.key?(:max_group_count)
1281
- @start_group = args[:start_group] if args.key?(:start_group)
1282
- @metrics = args[:metrics] if args.key?(:metrics)
1292
+ @dynamic_segment = args[:dynamic_segment] if args.key?(:dynamic_segment)
1293
+ @segment_id = args[:segment_id] if args.key?(:segment_id)
1283
1294
  end
1284
1295
  end
1285
1296
 
1286
- # The headers for the each of the metric column corresponding to the metrics
1287
- # requested in the pivots section of the response.
1288
- class PivotHeaderEntry
1297
+ # A segment sequence definition.
1298
+ class SegmentSequenceStep
1289
1299
  include Google::Apis::Core::Hashable
1290
1300
 
1291
- # The values for the dimensions in the pivot.
1292
- # Corresponds to the JSON property `dimensionValues`
1293
- # @return [Array<String>]
1294
- attr_accessor :dimension_values
1295
-
1296
- # The name of the dimensions in the pivot response.
1297
- # Corresponds to the JSON property `dimensionNames`
1298
- # @return [Array<String>]
1299
- attr_accessor :dimension_names
1301
+ # A sequence is specified with a list of Or grouped filters which are
1302
+ # combined with `AND` operator.
1303
+ # Corresponds to the JSON property `orFiltersForSegment`
1304
+ # @return [Array<Google::Apis::AnalyticsreportingV4::OrFiltersForSegment>]
1305
+ attr_accessor :or_filters_for_segment
1300
1306
 
1301
- # Header for the metrics.
1302
- # Corresponds to the JSON property `metric`
1303
- # @return [Google::Apis::AnalyticsreportingV4::MetricHeaderEntry]
1304
- attr_accessor :metric
1307
+ # Specifies if the step immediately precedes or can be any time before the
1308
+ # next step.
1309
+ # Corresponds to the JSON property `matchType`
1310
+ # @return [String]
1311
+ attr_accessor :match_type
1305
1312
 
1306
1313
  def initialize(**args)
1307
1314
  update!(**args)
@@ -1309,54 +1316,43 @@ module Google
1309
1316
 
1310
1317
  # Update properties of this object
1311
1318
  def update!(**args)
1312
- @dimension_values = args[:dimension_values] if args.key?(:dimension_values)
1313
- @dimension_names = args[:dimension_names] if args.key?(:dimension_names)
1314
- @metric = args[:metric] if args.key?(:metric)
1319
+ @or_filters_for_segment = args[:or_filters_for_segment] if args.key?(:or_filters_for_segment)
1320
+ @match_type = args[:match_type] if args.key?(:match_type)
1315
1321
  end
1316
1322
  end
1317
1323
 
1318
- # SegmentFilter defines the segment to be either a simple or a sequence
1319
- # segment. A simple segment condition contains dimension and metric conditions
1320
- # to select the sessions or users. A sequence segment condition can be used to
1321
- # select users or sessions based on sequential conditions.
1322
- class SegmentFilter
1324
+ # [Metrics](https://support.google.com/analytics/answer/1033861)
1325
+ # are the quantitative measurements. For example, the metric `ga:users`
1326
+ # indicates the total number of users for the requested time period.
1327
+ class Metric
1323
1328
  include Google::Apis::Core::Hashable
1324
1329
 
1325
- # If true, match the complement of simple or sequence segment.
1326
- # For example, to match all visits not from "New York", we can define the
1327
- # segment as follows:
1328
- # "sessionSegment": `
1329
- # "segmentFilters": [`
1330
- # "simpleSegment" :`
1331
- # "orFiltersForSegment": [`
1332
- # "segmentFilterClauses":[`
1333
- # "dimensionFilter": `
1334
- # "dimensionName": "ga:city",
1335
- # "expressions": ["New York"]
1336
- # `
1337
- # `]
1338
- # `]
1339
- # `,
1340
- # "not": "True"
1341
- # `]
1342
- # `,
1343
- # Corresponds to the JSON property `not`
1344
- # @return [Boolean]
1345
- attr_accessor :not
1346
- alias_method :not?, :not
1330
+ # An alias for the metric expression is an alternate name for the
1331
+ # expression. The alias can be used for filtering and sorting. This field
1332
+ # is optional and is useful if the expression is not a single metric but
1333
+ # a complex expression which cannot be used in filtering and sorting.
1334
+ # The alias is also used in the response column header.
1335
+ # Corresponds to the JSON property `alias`
1336
+ # @return [String]
1337
+ attr_accessor :alias
1347
1338
 
1348
- # A Simple segment conditions consist of one or more dimension/metric
1349
- # conditions that can be combined.
1350
- # Corresponds to the JSON property `simpleSegment`
1351
- # @return [Google::Apis::AnalyticsreportingV4::SimpleSegment]
1352
- attr_accessor :simple_segment
1339
+ # A metric expression in the request. An expression is constructed from one
1340
+ # or more metrics and numbers. Accepted operators include: Plus (+), Minus
1341
+ # (-), Negation (Unary -), Divided by (/), Multiplied by (*), Parenthesis,
1342
+ # Positive cardinal numbers (0-9), can include decimals and is limited to
1343
+ # 1024 characters. Example `ga:totalRefunds/ga:users`, in most cases the
1344
+ # metric expression is just a single metric name like `ga:users`.
1345
+ # Adding mixed `MetricType` (E.g., `CURRENCY` + `PERCENTAGE`) metrics
1346
+ # will result in unexpected results.
1347
+ # Corresponds to the JSON property `expression`
1348
+ # @return [String]
1349
+ attr_accessor :expression
1353
1350
 
1354
- # Sequence conditions consist of one or more steps, where each step is defined
1355
- # by one or more dimension/metric conditions. Multiple steps can be combined
1356
- # with special sequence operators.
1357
- # Corresponds to the JSON property `sequenceSegment`
1358
- # @return [Google::Apis::AnalyticsreportingV4::SequenceSegment]
1359
- attr_accessor :sequence_segment
1351
+ # Specifies how the metric expression should be formatted, for example
1352
+ # `INTEGER`.
1353
+ # Corresponds to the JSON property `formattingType`
1354
+ # @return [String]
1355
+ attr_accessor :formatting_type
1360
1356
 
1361
1357
  def initialize(**args)
1362
1358
  update!(**args)
@@ -1364,22 +1360,20 @@ module Google
1364
1360
 
1365
1361
  # Update properties of this object
1366
1362
  def update!(**args)
1367
- @not = args[:not] if args.key?(:not)
1368
- @simple_segment = args[:simple_segment] if args.key?(:simple_segment)
1369
- @sequence_segment = args[:sequence_segment] if args.key?(:sequence_segment)
1363
+ @alias = args[:alias] if args.key?(:alias)
1364
+ @expression = args[:expression] if args.key?(:expression)
1365
+ @formatting_type = args[:formatting_type] if args.key?(:formatting_type)
1370
1366
  end
1371
1367
  end
1372
1368
 
1373
- # SegmentDefinition defines the segment to be a set of SegmentFilters which
1374
- # are combined together with a logical `AND` operation.
1375
- class SegmentDefinition
1369
+ # The metric values in the pivot region.
1370
+ class PivotValueRegion
1376
1371
  include Google::Apis::Core::Hashable
1377
1372
 
1378
- # A segment is defined by a set of segment filters which are combined
1379
- # together with a logical `AND` operation.
1380
- # Corresponds to the JSON property `segmentFilters`
1381
- # @return [Array<Google::Apis::AnalyticsreportingV4::SegmentFilter>]
1382
- attr_accessor :segment_filters
1373
+ # The values of the metrics in each of the pivot regions.
1374
+ # Corresponds to the JSON property `values`
1375
+ # @return [Array<String>]
1376
+ attr_accessor :values
1383
1377
 
1384
1378
  def initialize(**args)
1385
1379
  update!(**args)
@@ -1387,23 +1381,28 @@ module Google
1387
1381
 
1388
1382
  # Update properties of this object
1389
1383
  def update!(**args)
1390
- @segment_filters = args[:segment_filters] if args.key?(:segment_filters)
1384
+ @values = args[:values] if args.key?(:values)
1391
1385
  end
1392
1386
  end
1393
1387
 
1394
- # Header for the metrics.
1395
- class MetricHeaderEntry
1388
+ # The data response corresponding to the request.
1389
+ class Report
1396
1390
  include Google::Apis::Core::Hashable
1397
1391
 
1398
- # The name of the header.
1399
- # Corresponds to the JSON property `name`
1400
- # @return [String]
1401
- attr_accessor :name
1392
+ # Column headers.
1393
+ # Corresponds to the JSON property `columnHeader`
1394
+ # @return [Google::Apis::AnalyticsreportingV4::ColumnHeader]
1395
+ attr_accessor :column_header
1402
1396
 
1403
- # The type of the metric, for example `INTEGER`.
1404
- # Corresponds to the JSON property `type`
1397
+ # The data part of the report.
1398
+ # Corresponds to the JSON property `data`
1399
+ # @return [Google::Apis::AnalyticsreportingV4::ReportData]
1400
+ attr_accessor :data
1401
+
1402
+ # Page token to retrieve the next page of results in the list.
1403
+ # Corresponds to the JSON property `nextPageToken`
1405
1404
  # @return [String]
1406
- attr_accessor :type
1405
+ attr_accessor :next_page_token
1407
1406
 
1408
1407
  def initialize(**args)
1409
1408
  update!(**args)
@@ -1411,8 +1410,9 @@ module Google
1411
1410
 
1412
1411
  # Update properties of this object
1413
1412
  def update!(**args)
1414
- @name = args[:name] if args.key?(:name)
1415
- @type = args[:type] if args.key?(:type)
1413
+ @column_header = args[:column_header] if args.key?(:column_header)
1414
+ @data = args[:data] if args.key?(:data)
1415
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1416
1416
  end
1417
1417
  end
1418
1418
  end