google-api-client 0.8.7 → 0.9.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (397) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +20 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +7 -0
  5. data/.rubocop_todo.yml +63 -0
  6. data/.travis.yml +21 -0
  7. data/.yardopts +12 -0
  8. data/CHANGELOG.md +6 -3
  9. data/CONTRIBUTING.md +31 -0
  10. data/Gemfile +28 -2
  11. data/MIGRATING.md +171 -0
  12. data/README.md +158 -150
  13. data/Rakefile +1 -40
  14. data/api_names.yaml +872 -0
  15. data/api_names_out.yaml +20843 -0
  16. data/bin/generate-api +93 -0
  17. data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
  18. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1124 -0
  19. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +375 -0
  20. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +893 -0
  21. data/generated/google/apis/adexchangeseller_v2_0.rb +38 -0
  22. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +792 -0
  23. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +309 -0
  24. data/generated/google/apis/adexchangeseller_v2_0/service.rb +682 -0
  25. data/generated/google/apis/admin_directory_v1.rb +89 -0
  26. data/generated/google/apis/admin_directory_v1/classes.rb +2389 -0
  27. data/generated/google/apis/admin_directory_v1/representations.rb +780 -0
  28. data/generated/google/apis/admin_directory_v1/service.rb +2805 -0
  29. data/generated/google/apis/admin_reports_v1.rb +38 -0
  30. data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
  31. data/generated/google/apis/admin_reports_v1/representations.rb +231 -0
  32. data/generated/google/apis/admin_reports_v1/service.rb +341 -0
  33. data/generated/google/apis/adsense_v1_4.rb +38 -0
  34. data/generated/google/apis/adsense_v1_4/classes.rb +1279 -0
  35. data/generated/google/apis/adsense_v1_4/representations.rb +493 -0
  36. data/generated/google/apis/adsense_v1_4/service.rb +1752 -0
  37. data/generated/google/apis/adsensehost_v4_1.rb +35 -0
  38. data/generated/google/apis/adsensehost_v4_1/classes.rb +834 -0
  39. data/generated/google/apis/adsensehost_v4_1/representations.rb +327 -0
  40. data/generated/google/apis/adsensehost_v4_1/service.rb +1190 -0
  41. data/generated/google/apis/analytics_v3.rb +49 -0
  42. data/generated/google/apis/analytics_v3/classes.rb +5113 -0
  43. data/generated/google/apis/analytics_v3/representations.rb +1661 -0
  44. data/generated/google/apis/analytics_v3/service.rb +3600 -0
  45. data/generated/google/apis/androidenterprise_v1.rb +34 -0
  46. data/generated/google/apis/androidenterprise_v1/classes.rb +1162 -0
  47. data/generated/google/apis/androidenterprise_v1/representations.rb +431 -0
  48. data/generated/google/apis/androidenterprise_v1/service.rb +1979 -0
  49. data/generated/google/apis/androidpublisher_v2.rb +34 -0
  50. data/generated/google/apis/androidpublisher_v2/classes.rb +1374 -0
  51. data/generated/google/apis/androidpublisher_v2/representations.rb +630 -0
  52. data/generated/google/apis/androidpublisher_v2/service.rb +2390 -0
  53. data/generated/google/apis/appsactivity_v1.rb +46 -0
  54. data/generated/google/apis/appsactivity_v1/classes.rb +392 -0
  55. data/generated/google/apis/appsactivity_v1/representations.rb +184 -0
  56. data/generated/google/apis/appsactivity_v1/service.rb +129 -0
  57. data/generated/google/apis/appstate_v1.rb +34 -0
  58. data/generated/google/apis/appstate_v1/classes.rb +154 -0
  59. data/generated/google/apis/appstate_v1/representations.rb +79 -0
  60. data/generated/google/apis/appstate_v1/service.rb +265 -0
  61. data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
  62. data/generated/google/apis/autoscaler_v1beta2/classes.rb +747 -0
  63. data/generated/google/apis/autoscaler_v1beta2/representations.rb +281 -0
  64. data/generated/google/apis/autoscaler_v1beta2/service.rb +488 -0
  65. data/generated/google/apis/bigquery_v2.rb +49 -0
  66. data/generated/google/apis/bigquery_v2/classes.rb +2255 -0
  67. data/generated/google/apis/bigquery_v2/representations.rb +754 -0
  68. data/generated/google/apis/bigquery_v2/service.rb +1003 -0
  69. data/generated/google/apis/blogger_v3.rb +37 -0
  70. data/generated/google/apis/blogger_v3/classes.rb +1354 -0
  71. data/generated/google/apis/blogger_v3/representations.rb +562 -0
  72. data/generated/google/apis/blogger_v3/service.rb +1620 -0
  73. data/generated/google/apis/books_v1.rb +34 -0
  74. data/generated/google/apis/books_v1/classes.rb +3515 -0
  75. data/generated/google/apis/books_v1/representations.rb +1361 -0
  76. data/generated/google/apis/books_v1/service.rb +2170 -0
  77. data/generated/google/apis/calendar_v3.rb +37 -0
  78. data/generated/google/apis/calendar_v3/classes.rb +1702 -0
  79. data/generated/google/apis/calendar_v3/representations.rb +566 -0
  80. data/generated/google/apis/calendar_v3/service.rb +1943 -0
  81. data/generated/google/apis/civicinfo_v2.rb +31 -0
  82. data/generated/google/apis/civicinfo_v2/classes.rb +1057 -0
  83. data/generated/google/apis/civicinfo_v2/representations.rb +374 -0
  84. data/generated/google/apis/civicinfo_v2/service.rb +284 -0
  85. data/generated/google/apis/cloudmonitoring_v2beta2.rb +34 -0
  86. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
  87. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +311 -0
  88. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +458 -0
  89. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
  90. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +139 -0
  91. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +65 -0
  92. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +301 -0
  93. data/generated/google/apis/compute_v1.rb +49 -0
  94. data/generated/google/apis/compute_v1/classes.rb +6391 -0
  95. data/generated/google/apis/compute_v1/representations.rb +2209 -0
  96. data/generated/google/apis/compute_v1/service.rb +6352 -0
  97. data/generated/google/apis/container_v1beta1.rb +35 -0
  98. data/generated/google/apis/container_v1beta1/classes.rb +466 -0
  99. data/generated/google/apis/container_v1beta1/representations.rb +177 -0
  100. data/generated/google/apis/container_v1beta1/service.rb +394 -0
  101. data/generated/google/apis/content_v2.rb +35 -0
  102. data/generated/google/apis/content_v2/classes.rb +3780 -0
  103. data/generated/google/apis/content_v2/representations.rb +1456 -0
  104. data/generated/google/apis/content_v2/service.rb +1706 -0
  105. data/generated/google/apis/coordinate_v1.rb +37 -0
  106. data/generated/google/apis/coordinate_v1/classes.rb +669 -0
  107. data/generated/google/apis/coordinate_v1/representations.rb +285 -0
  108. data/generated/google/apis/coordinate_v1/service.rb +687 -0
  109. data/{lib/google/api_client/auth/compute_service_account.rb → generated/google/apis/customsearch_v1.rb} +13 -10
  110. data/generated/google/apis/customsearch_v1/classes.rb +771 -0
  111. data/generated/google/apis/customsearch_v1/representations.rb +276 -0
  112. data/generated/google/apis/customsearch_v1/service.rb +208 -0
  113. data/generated/google/apis/datastore_v1beta2.rb +40 -0
  114. data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
  115. data/generated/google/apis/datastore_v1beta2/representations.rb +526 -0
  116. data/generated/google/apis/datastore_v1beta2/service.rb +300 -0
  117. data/generated/google/apis/deploymentmanager_v2beta2.rb +41 -0
  118. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +820 -0
  119. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +303 -0
  120. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +647 -0
  121. data/generated/google/apis/dfareporting_v2_1.rb +37 -0
  122. data/generated/google/apis/dfareporting_v2_1/classes.rb +10755 -0
  123. data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
  124. data/generated/google/apis/dfareporting_v2_1/service.rb +8775 -0
  125. data/generated/google/apis/discovery_v1.rb +32 -0
  126. data/generated/google/apis/discovery_v1/classes.rb +947 -0
  127. data/generated/google/apis/discovery_v1/representations.rb +355 -0
  128. data/generated/google/apis/discovery_v1/service.rb +144 -0
  129. data/generated/google/apis/dns_v1.rb +41 -0
  130. data/generated/google/apis/dns_v1/classes.rb +406 -0
  131. data/generated/google/apis/dns_v1/representations.rb +151 -0
  132. data/generated/google/apis/dns_v1/service.rb +460 -0
  133. data/{spec/google/api_client/request_spec.rb → generated/google/apis/doubleclickbidmanager_v1.rb} +15 -13
  134. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +709 -0
  135. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +297 -0
  136. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +349 -0
  137. data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
  138. data/generated/google/apis/doubleclicksearch_v2/classes.rb +947 -0
  139. data/generated/google/apis/doubleclicksearch_v2/representations.rb +315 -0
  140. data/generated/google/apis/doubleclicksearch_v2/service.rb +490 -0
  141. data/generated/google/apis/drive_v2.rb +55 -0
  142. data/generated/google/apis/drive_v2/classes.rb +2519 -0
  143. data/generated/google/apis/drive_v2/representations.rb +781 -0
  144. data/generated/google/apis/drive_v2/service.rb +2685 -0
  145. data/generated/google/apis/fitness_v1.rb +49 -0
  146. data/generated/google/apis/fitness_v1/classes.rb +809 -0
  147. data/generated/google/apis/fitness_v1/representations.rb +295 -0
  148. data/generated/google/apis/fitness_v1/service.rb +684 -0
  149. data/generated/google/apis/fusiontables_v2.rb +37 -0
  150. data/generated/google/apis/fusiontables_v2/classes.rb +1048 -0
  151. data/generated/google/apis/fusiontables_v2/representations.rb +409 -0
  152. data/generated/google/apis/fusiontables_v2/service.rb +1496 -0
  153. data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
  154. data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
  155. data/generated/google/apis/games_configuration_v1configuration/representations.rb +206 -0
  156. data/generated/google/apis/games_configuration_v1configuration/service.rb +578 -0
  157. data/generated/google/apis/games_v1.rb +40 -0
  158. data/generated/google/apis/games_v1/classes.rb +4578 -0
  159. data/generated/google/apis/games_v1/representations.rb +1570 -0
  160. data/generated/google/apis/games_v1/service.rb +2306 -0
  161. data/generated/google/apis/gan_v1beta1.rb +31 -0
  162. data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
  163. data/generated/google/apis/gan_v1beta1/representations.rb +428 -0
  164. data/generated/google/apis/gan_v1beta1/service.rb +692 -0
  165. data/generated/google/apis/genomics_v1beta2.rb +46 -0
  166. data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
  167. data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
  168. data/generated/google/apis/genomics_v1beta2/service.rb +2356 -0
  169. data/generated/google/apis/gmail_v1.rb +49 -0
  170. data/generated/google/apis/gmail_v1/classes.rb +794 -0
  171. data/generated/google/apis/gmail_v1/representations.rb +339 -0
  172. data/generated/google/apis/gmail_v1/service.rb +1502 -0
  173. data/generated/google/apis/groupsmigration_v1.rb +34 -0
  174. data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
  175. data/generated/google/apis/groupsmigration_v1/representations.rb +38 -0
  176. data/generated/google/apis/groupsmigration_v1/service.rb +111 -0
  177. data/generated/google/apis/groupssettings_v1.rb +34 -0
  178. data/generated/google/apis/groupssettings_v1/classes.rb +221 -0
  179. data/generated/google/apis/groupssettings_v1/representations.rb +64 -0
  180. data/generated/google/apis/groupssettings_v1/service.rb +179 -0
  181. data/generated/google/apis/identitytoolkit_v3.rb +31 -0
  182. data/generated/google/apis/identitytoolkit_v3/classes.rb +1229 -0
  183. data/generated/google/apis/identitytoolkit_v3/representations.rb +422 -0
  184. data/generated/google/apis/identitytoolkit_v3/service.rb +491 -0
  185. data/generated/google/apis/licensing_v1.rb +34 -0
  186. data/generated/google/apis/licensing_v1/classes.rb +132 -0
  187. data/generated/google/apis/licensing_v1/representations.rb +68 -0
  188. data/generated/google/apis/licensing_v1/service.rb +376 -0
  189. data/generated/google/apis/logging_v1beta3.rb +35 -0
  190. data/generated/google/apis/logging_v1beta3/classes.rb +505 -0
  191. data/generated/google/apis/logging_v1beta3/representations.rb +222 -0
  192. data/generated/google/apis/logging_v1beta3/service.rb +670 -0
  193. data/generated/google/apis/manager_v1beta2.rb +50 -0
  194. data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
  195. data/generated/google/apis/manager_v1beta2/representations.rb +536 -0
  196. data/generated/google/apis/manager_v1beta2/service.rb +380 -0
  197. data/generated/google/apis/mapsengine_v1.rb +38 -0
  198. data/generated/google/apis/mapsengine_v1/classes.rb +2873 -0
  199. data/generated/google/apis/mapsengine_v1/representations.rb +1235 -0
  200. data/generated/google/apis/mapsengine_v1/service.rb +3465 -0
  201. data/generated/google/apis/mirror_v1.rb +37 -0
  202. data/generated/google/apis/mirror_v1/classes.rb +1072 -0
  203. data/generated/google/apis/mirror_v1/representations.rb +350 -0
  204. data/generated/google/apis/mirror_v1/service.rb +1001 -0
  205. data/generated/google/apis/oauth2_v2.rb +43 -0
  206. data/generated/google/apis/oauth2_v2/classes.rb +245 -0
  207. data/generated/google/apis/oauth2_v2/representations.rb +94 -0
  208. data/generated/google/apis/oauth2_v2/service.rb +203 -0
  209. data/generated/google/apis/pagespeedonline_v2.rb +32 -0
  210. data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
  211. data/generated/google/apis/pagespeedonline_v2/representations.rb +244 -0
  212. data/generated/google/apis/pagespeedonline_v2/service.rb +120 -0
  213. data/generated/google/apis/plus_domains_v1.rb +61 -0
  214. data/generated/google/apis/plus_domains_v1/classes.rb +2402 -0
  215. data/generated/google/apis/plus_domains_v1/representations.rb +873 -0
  216. data/generated/google/apis/plus_domains_v1/service.rb +924 -0
  217. data/generated/google/apis/plus_v1.rb +43 -0
  218. data/generated/google/apis/plus_v1/classes.rb +2384 -0
  219. data/generated/google/apis/plus_v1/representations.rb +812 -0
  220. data/generated/google/apis/plus_v1/service.rb +616 -0
  221. data/generated/google/apis/prediction_v1_6.rb +44 -0
  222. data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
  223. data/generated/google/apis/prediction_v1_6/representations.rb +327 -0
  224. data/generated/google/apis/prediction_v1_6/service.rb +388 -0
  225. data/generated/google/apis/pubsub_v1beta2.rb +37 -0
  226. data/generated/google/apis/pubsub_v1beta2/classes.rb +824 -0
  227. data/generated/google/apis/pubsub_v1beta2/representations.rb +366 -0
  228. data/generated/google/apis/pubsub_v1beta2/service.rb +778 -0
  229. data/generated/google/apis/qpx_express_v1.rb +31 -0
  230. data/generated/google/apis/qpx_express_v1/classes.rb +1268 -0
  231. data/generated/google/apis/qpx_express_v1/representations.rb +424 -0
  232. data/generated/google/apis/qpx_express_v1/service.rb +101 -0
  233. data/generated/google/apis/replicapool_v1beta2.rb +41 -0
  234. data/generated/google/apis/replicapool_v1beta2/classes.rb +621 -0
  235. data/generated/google/apis/replicapool_v1beta2/representations.rb +235 -0
  236. data/generated/google/apis/replicapool_v1beta2/service.rb +620 -0
  237. data/generated/google/apis/replicapoolupdater_v1beta1.rb +41 -0
  238. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +682 -0
  239. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +247 -0
  240. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +472 -0
  241. data/generated/google/apis/reseller_v1.rb +37 -0
  242. data/generated/google/apis/reseller_v1/classes.rb +502 -0
  243. data/generated/google/apis/reseller_v1/representations.rb +199 -0
  244. data/generated/google/apis/reseller_v1/service.rb +637 -0
  245. data/generated/google/apis/resourceviews_v1beta2.rb +47 -0
  246. data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
  247. data/generated/google/apis/resourceviews_v1beta2/representations.rb +269 -0
  248. data/generated/google/apis/resourceviews_v1beta2/service.rb +574 -0
  249. data/generated/google/apis/site_verification_v1.rb +37 -0
  250. data/generated/google/apis/site_verification_v1/classes.rb +185 -0
  251. data/generated/google/apis/site_verification_v1/representations.rb +101 -0
  252. data/generated/google/apis/site_verification_v1/service.rb +322 -0
  253. data/generated/google/apis/sqladmin_v1beta4.rb +37 -0
  254. data/generated/google/apis/sqladmin_v1beta4/classes.rb +1817 -0
  255. data/generated/google/apis/sqladmin_v1beta4/representations.rb +688 -0
  256. data/generated/google/apis/sqladmin_v1beta4/service.rb +1534 -0
  257. data/generated/google/apis/storage_v1.rb +43 -0
  258. data/generated/google/apis/storage_v1/classes.rb +1177 -0
  259. data/generated/google/apis/storage_v1/representations.rb +427 -0
  260. data/generated/google/apis/storage_v1/service.rb +1920 -0
  261. data/generated/google/apis/tagmanager_v1.rb +52 -0
  262. data/generated/google/apis/tagmanager_v1/classes.rb +1226 -0
  263. data/generated/google/apis/tagmanager_v1/representations.rb +461 -0
  264. data/generated/google/apis/tagmanager_v1/service.rb +1978 -0
  265. data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
  266. data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
  267. data/generated/google/apis/taskqueue_v1beta2/representations.rb +114 -0
  268. data/generated/google/apis/taskqueue_v1beta2/service.rb +416 -0
  269. data/generated/google/apis/tasks_v1.rb +37 -0
  270. data/generated/google/apis/tasks_v1/classes.rb +296 -0
  271. data/generated/google/apis/tasks_v1/representations.rb +115 -0
  272. data/generated/google/apis/tasks_v1/service.rb +657 -0
  273. data/generated/google/apis/translate_v2.rb +31 -0
  274. data/generated/google/apis/translate_v2/classes.rb +168 -0
  275. data/generated/google/apis/translate_v2/representations.rb +109 -0
  276. data/generated/google/apis/translate_v2/service.rb +185 -0
  277. data/generated/google/apis/urlshortener_v1.rb +34 -0
  278. data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
  279. data/generated/google/apis/urlshortener_v1/representations.rb +111 -0
  280. data/generated/google/apis/urlshortener_v1/service.rb +179 -0
  281. data/generated/google/apis/webmasters_v3.rb +37 -0
  282. data/generated/google/apis/webmasters_v3/classes.rb +563 -0
  283. data/generated/google/apis/webmasters_v3/representations.rb +250 -0
  284. data/generated/google/apis/webmasters_v3/service.rb +587 -0
  285. data/generated/google/apis/youtube_analytics_v1.rb +46 -0
  286. data/generated/google/apis/youtube_analytics_v1/classes.rb +540 -0
  287. data/generated/google/apis/youtube_analytics_v1/representations.rb +242 -0
  288. data/generated/google/apis/youtube_analytics_v1/service.rb +567 -0
  289. data/generated/google/apis/youtube_v3.rb +49 -0
  290. data/generated/google/apis/youtube_v3/classes.rb +7225 -0
  291. data/generated/google/apis/youtube_v3/representations.rb +2529 -0
  292. data/generated/google/apis/youtube_v3/service.rb +4051 -0
  293. data/google-api-client.gemspec +27 -39
  294. data/lib/google/api_client/auth/storage.rb +3 -2
  295. data/lib/google/api_client/auth/storages/file_store.rb +1 -3
  296. data/lib/google/api_client/auth/storages/redis_store.rb +6 -2
  297. data/lib/google/apis.rb +48 -0
  298. data/lib/google/apis/core/api_command.rb +128 -0
  299. data/lib/google/apis/core/base_service.rb +314 -0
  300. data/lib/google/apis/core/batch.rb +222 -0
  301. data/lib/google/apis/core/download.rb +94 -0
  302. data/lib/google/apis/core/hashable.rb +44 -0
  303. data/lib/google/apis/core/http_command.rb +275 -0
  304. data/lib/google/apis/core/json_representation.rb +122 -0
  305. data/lib/google/{api_client/version.rb → apis/core/logging.rb} +12 -8
  306. data/lib/google/apis/core/multipart.rb +173 -0
  307. data/lib/google/apis/core/upload.rb +275 -0
  308. data/lib/google/{api_client → apis}/errors.rb +32 -28
  309. data/lib/google/apis/generator.rb +70 -0
  310. data/lib/google/apis/generator/annotator.rb +271 -0
  311. data/lib/google/apis/generator/helpers.rb +74 -0
  312. data/lib/google/apis/generator/model.rb +130 -0
  313. data/lib/google/apis/generator/template.rb +124 -0
  314. data/lib/google/apis/generator/templates/_class.tmpl +40 -0
  315. data/lib/google/apis/generator/templates/_method.tmpl +90 -0
  316. data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
  317. data/lib/google/apis/generator/templates/_representation_stub.tmpl +15 -0
  318. data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
  319. data/lib/google/{api_client/reference.rb → apis/generator/templates/classes.rb.tmpl} +11 -9
  320. data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
  321. data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
  322. data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
  323. data/lib/google/apis/options.rb +79 -0
  324. data/lib/google/apis/version.rb +39 -0
  325. data/rakelib/metrics.rake +22 -0
  326. data/rakelib/rubocop.rake +10 -0
  327. data/rakelib/spec.rake +11 -0
  328. data/rakelib/yard.rake +11 -0
  329. data/samples/calendar/calendar.rb +43 -0
  330. data/samples/drive/drive.rb +40 -0
  331. data/samples/pubsub/pubsub.rb +52 -0
  332. data/{lib/google/api_client/discovery.rb → samples/translate/translate.rb} +14 -5
  333. data/script/generate +79 -0
  334. data/script/package +8 -0
  335. data/script/release +15 -0
  336. data/spec/fixtures/files/api_names.yaml +3 -0
  337. data/spec/fixtures/files/auth_stored_credentials.json +8 -0
  338. data/spec/fixtures/files/client_secrets.json +1 -0
  339. data/spec/fixtures/files/test.blah +1 -0
  340. data/spec/fixtures/files/test.txt +1 -0
  341. data/spec/fixtures/files/test_api.json +440 -0
  342. data/spec/google/api_client/auth/storage_spec.rb +1 -3
  343. data/spec/google/api_client/auth/storages/file_store_spec.rb +1 -2
  344. data/spec/google/api_client/auth/storages/redis_store_spec.rb +1 -3
  345. data/spec/google/apis/core/api_command_spec.rb +170 -0
  346. data/spec/google/apis/core/batch_spec.rb +128 -0
  347. data/spec/google/apis/core/download_spec.rb +90 -0
  348. data/spec/google/apis/core/hashable_spec.rb +60 -0
  349. data/spec/google/apis/core/http_command_spec.rb +238 -0
  350. data/spec/google/apis/core/json_representation_spec.rb +192 -0
  351. data/spec/google/apis/core/service_spec.rb +247 -0
  352. data/spec/google/apis/core/upload_spec.rb +238 -0
  353. data/{lib/google/api_client/service_account.rb → spec/google/apis/generated_spec.rb} +14 -8
  354. data/spec/google/apis/generator/generator_spec.rb +272 -0
  355. data/spec/google/apis/logging_spec.rb +45 -0
  356. data/spec/google/apis/options_spec.rb +40 -0
  357. data/spec/integration_tests/drive_spec.rb +35 -0
  358. data/spec/integration_tests/pubsub_spec.rb +48 -0
  359. data/spec/integration_tests/url_shortener_spec.rb +31 -0
  360. data/spec/spec_helper.rb +102 -46
  361. metadata +433 -178
  362. data/lib/compat/multi_json.rb +0 -19
  363. data/lib/google/api_client.rb +0 -750
  364. data/lib/google/api_client/auth/file_storage.rb +0 -59
  365. data/lib/google/api_client/auth/jwt_asserter.rb +0 -126
  366. data/lib/google/api_client/auth/key_utils.rb +0 -93
  367. data/lib/google/api_client/auth/pkcs12.rb +0 -41
  368. data/lib/google/api_client/batch.rb +0 -326
  369. data/lib/google/api_client/charset.rb +0 -33
  370. data/lib/google/api_client/discovery/api.rb +0 -310
  371. data/lib/google/api_client/discovery/media.rb +0 -77
  372. data/lib/google/api_client/discovery/method.rb +0 -363
  373. data/lib/google/api_client/discovery/resource.rb +0 -156
  374. data/lib/google/api_client/discovery/schema.rb +0 -117
  375. data/lib/google/api_client/environment.rb +0 -42
  376. data/lib/google/api_client/gzip.rb +0 -28
  377. data/lib/google/api_client/logging.rb +0 -32
  378. data/lib/google/api_client/media.rb +0 -259
  379. data/lib/google/api_client/railtie.rb +0 -18
  380. data/lib/google/api_client/request.rb +0 -350
  381. data/lib/google/api_client/result.rb +0 -255
  382. data/lib/google/api_client/service.rb +0 -233
  383. data/lib/google/api_client/service/batch.rb +0 -110
  384. data/lib/google/api_client/service/request.rb +0 -144
  385. data/lib/google/api_client/service/resource.rb +0 -40
  386. data/lib/google/api_client/service/result.rb +0 -162
  387. data/lib/google/api_client/service/simple_file_store.rb +0 -151
  388. data/lib/google/api_client/service/stub_generator.rb +0 -61
  389. data/spec/google/api_client/batch_spec.rb +0 -248
  390. data/spec/google/api_client/discovery_spec.rb +0 -708
  391. data/spec/google/api_client/gzip_spec.rb +0 -98
  392. data/spec/google/api_client/media_spec.rb +0 -178
  393. data/spec/google/api_client/result_spec.rb +0 -207
  394. data/spec/google/api_client/service_account_spec.rb +0 -169
  395. data/spec/google/api_client/service_spec.rb +0 -618
  396. data/spec/google/api_client/simple_file_store_spec.rb +0 -133
  397. data/spec/google/api_client_spec.rb +0 -352
@@ -0,0 +1,242 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module YoutubeAnalyticsV1
24
+
25
+ class BatchReport
26
+ class Representation < Google::Apis::Core::JsonRepresentation; end
27
+
28
+ class Output
29
+ class Representation < Google::Apis::Core::JsonRepresentation; end
30
+ end
31
+
32
+ class TimeSpan
33
+ class Representation < Google::Apis::Core::JsonRepresentation; end
34
+ end
35
+ end
36
+
37
+ class BatchReportDefinition
38
+ class Representation < Google::Apis::Core::JsonRepresentation; end
39
+ end
40
+
41
+ class BatchReportDefinitionList
42
+ class Representation < Google::Apis::Core::JsonRepresentation; end
43
+ end
44
+
45
+ class BatchReportList
46
+ class Representation < Google::Apis::Core::JsonRepresentation; end
47
+ end
48
+
49
+ class Group
50
+ class Representation < Google::Apis::Core::JsonRepresentation; end
51
+
52
+ class ContentDetails
53
+ class Representation < Google::Apis::Core::JsonRepresentation; end
54
+ end
55
+
56
+ class Snippet
57
+ class Representation < Google::Apis::Core::JsonRepresentation; end
58
+ end
59
+ end
60
+
61
+ class GroupItem
62
+ class Representation < Google::Apis::Core::JsonRepresentation; end
63
+
64
+ class Resource
65
+ class Representation < Google::Apis::Core::JsonRepresentation; end
66
+ end
67
+ end
68
+
69
+ class ListGroupItemResponse
70
+ class Representation < Google::Apis::Core::JsonRepresentation; end
71
+ end
72
+
73
+ class ListGroupsResponse
74
+ class Representation < Google::Apis::Core::JsonRepresentation; end
75
+ end
76
+
77
+ class ResultTable
78
+ class Representation < Google::Apis::Core::JsonRepresentation; end
79
+
80
+ class ColumnHeader
81
+ class Representation < Google::Apis::Core::JsonRepresentation; end
82
+ end
83
+ end
84
+
85
+ class BatchReport
86
+ # @private
87
+ class Representation < Google::Apis::Core::JsonRepresentation
88
+ property :id, as: 'id'
89
+ property :kind, as: 'kind'
90
+ collection :outputs, as: 'outputs', class: Google::Apis::YoutubeAnalyticsV1::BatchReport::Output, decorator: Google::Apis::YoutubeAnalyticsV1::BatchReport::Output::Representation
91
+
92
+ property :report_id, as: 'reportId'
93
+ property :time_span, as: 'timeSpan', class: Google::Apis::YoutubeAnalyticsV1::BatchReport::TimeSpan, decorator: Google::Apis::YoutubeAnalyticsV1::BatchReport::TimeSpan::Representation
94
+
95
+ property :time_updated, as: 'timeUpdated', type: DateTime
96
+
97
+ end
98
+
99
+ class Output
100
+ # @private
101
+ class Representation < Google::Apis::Core::JsonRepresentation
102
+ property :download_url, as: 'downloadUrl'
103
+ property :format, as: 'format'
104
+ property :type, as: 'type'
105
+ end
106
+ end
107
+
108
+ class TimeSpan
109
+ # @private
110
+ class Representation < Google::Apis::Core::JsonRepresentation
111
+ property :end_time, as: 'endTime', type: DateTime
112
+
113
+ property :start_time, as: 'startTime', type: DateTime
114
+
115
+ end
116
+ end
117
+ end
118
+
119
+ class BatchReportDefinition
120
+ # @private
121
+ class Representation < Google::Apis::Core::JsonRepresentation
122
+ property :id, as: 'id'
123
+ property :kind, as: 'kind'
124
+ property :name, as: 'name'
125
+ property :status, as: 'status'
126
+ property :type, as: 'type'
127
+ end
128
+ end
129
+
130
+ class BatchReportDefinitionList
131
+ # @private
132
+ class Representation < Google::Apis::Core::JsonRepresentation
133
+ collection :items, as: 'items', class: Google::Apis::YoutubeAnalyticsV1::BatchReportDefinition, decorator: Google::Apis::YoutubeAnalyticsV1::BatchReportDefinition::Representation
134
+
135
+ property :kind, as: 'kind'
136
+ end
137
+ end
138
+
139
+ class BatchReportList
140
+ # @private
141
+ class Representation < Google::Apis::Core::JsonRepresentation
142
+ collection :items, as: 'items', class: Google::Apis::YoutubeAnalyticsV1::BatchReport, decorator: Google::Apis::YoutubeAnalyticsV1::BatchReport::Representation
143
+
144
+ property :kind, as: 'kind'
145
+ end
146
+ end
147
+
148
+ class Group
149
+ # @private
150
+ class Representation < Google::Apis::Core::JsonRepresentation
151
+ property :content_details, as: 'contentDetails', class: Google::Apis::YoutubeAnalyticsV1::Group::ContentDetails, decorator: Google::Apis::YoutubeAnalyticsV1::Group::ContentDetails::Representation
152
+
153
+ property :etag, as: 'etag'
154
+ property :id, as: 'id'
155
+ property :kind, as: 'kind'
156
+ property :snippet, as: 'snippet', class: Google::Apis::YoutubeAnalyticsV1::Group::Snippet, decorator: Google::Apis::YoutubeAnalyticsV1::Group::Snippet::Representation
157
+
158
+ end
159
+
160
+ class ContentDetails
161
+ # @private
162
+ class Representation < Google::Apis::Core::JsonRepresentation
163
+ property :item_count, as: 'itemCount'
164
+ property :item_type, as: 'itemType'
165
+ end
166
+ end
167
+
168
+ class Snippet
169
+ # @private
170
+ class Representation < Google::Apis::Core::JsonRepresentation
171
+ property :published_at, as: 'publishedAt', type: DateTime
172
+
173
+ property :title, as: 'title'
174
+ end
175
+ end
176
+ end
177
+
178
+ class GroupItem
179
+ # @private
180
+ class Representation < Google::Apis::Core::JsonRepresentation
181
+ property :etag, as: 'etag'
182
+ property :group_id, as: 'groupId'
183
+ property :id, as: 'id'
184
+ property :kind, as: 'kind'
185
+ property :resource, as: 'resource', class: Google::Apis::YoutubeAnalyticsV1::GroupItem::Resource, decorator: Google::Apis::YoutubeAnalyticsV1::GroupItem::Resource::Representation
186
+
187
+ end
188
+
189
+ class Resource
190
+ # @private
191
+ class Representation < Google::Apis::Core::JsonRepresentation
192
+ property :id, as: 'id'
193
+ property :kind, as: 'kind'
194
+ end
195
+ end
196
+ end
197
+
198
+ class ListGroupItemResponse
199
+ # @private
200
+ class Representation < Google::Apis::Core::JsonRepresentation
201
+ property :etag, as: 'etag'
202
+ collection :items, as: 'items', class: Google::Apis::YoutubeAnalyticsV1::GroupItem, decorator: Google::Apis::YoutubeAnalyticsV1::GroupItem::Representation
203
+
204
+ property :kind, as: 'kind'
205
+ end
206
+ end
207
+
208
+ class ListGroupsResponse
209
+ # @private
210
+ class Representation < Google::Apis::Core::JsonRepresentation
211
+ property :etag, as: 'etag'
212
+ collection :items, as: 'items', class: Google::Apis::YoutubeAnalyticsV1::Group, decorator: Google::Apis::YoutubeAnalyticsV1::Group::Representation
213
+
214
+ property :kind, as: 'kind'
215
+ end
216
+ end
217
+
218
+ class ResultTable
219
+ # @private
220
+ class Representation < Google::Apis::Core::JsonRepresentation
221
+ collection :column_headers, as: 'columnHeaders', class: Google::Apis::YoutubeAnalyticsV1::ResultTable::ColumnHeader, decorator: Google::Apis::YoutubeAnalyticsV1::ResultTable::ColumnHeader::Representation
222
+
223
+ property :kind, as: 'kind'
224
+ collection :rows, as: 'rows', :class => Array do
225
+ include Representable::JSON::Collection
226
+ items
227
+ end
228
+
229
+ end
230
+
231
+ class ColumnHeader
232
+ # @private
233
+ class Representation < Google::Apis::Core::JsonRepresentation
234
+ property :column_type, as: 'columnType'
235
+ property :data_type, as: 'dataType'
236
+ property :name, as: 'name'
237
+ end
238
+ end
239
+ end
240
+ end
241
+ end
242
+ end
@@ -0,0 +1,567 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/core/base_service'
16
+ require 'google/apis/core/json_representation'
17
+ require 'google/apis/core/hashable'
18
+ require 'google/apis/errors'
19
+
20
+ module Google
21
+ module Apis
22
+ module YoutubeAnalyticsV1
23
+ # YouTube Analytics API
24
+ #
25
+ # Retrieve your YouTube Analytics reports.
26
+ #
27
+ # @example
28
+ # require 'google/apis/youtube_analytics_v1'
29
+ #
30
+ # YoutubeAnalytics = Google::Apis::YoutubeAnalyticsV1 # Alias the module
31
+ # service = YoutubeAnalytics::YouTubeAnalyticsService.new
32
+ #
33
+ # @see http://developers.google.com/youtube/analytics/
34
+ class YouTubeAnalyticsService < Google::Apis::Core::BaseService
35
+ # @return [String]
36
+ # API key. Your API key identifies your project and provides you with API access,
37
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
38
+ attr_accessor :key
39
+
40
+ # @return [String]
41
+ # Available to use for quota purposes for server-side applications. Can be any
42
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
43
+ # Overrides userIp if both are provided.
44
+ attr_accessor :quota_user
45
+
46
+ # @return [String]
47
+ # IP address of the site where the request originates. Use this if you want to
48
+ # enforce per-user limits.
49
+ attr_accessor :user_ip
50
+
51
+ def initialize
52
+ super('https://www.googleapis.com/', 'youtube/analytics/v1/')
53
+ end
54
+
55
+ # Retrieves a list of available batch report definitions.
56
+ # @param [String] on_behalf_of_content_owner
57
+ # The onBehalfOfContentOwner parameter identifies the content owner that the
58
+ # user is acting on behalf of.
59
+ # @param [String] fields
60
+ # Selector specifying which fields to include in a partial response.
61
+ # @param [String] quota_user
62
+ # Available to use for quota purposes for server-side applications. Can be any
63
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
64
+ # Overrides userIp if both are provided.
65
+ # @param [String] user_ip
66
+ # IP address of the site where the request originates. Use this if you want to
67
+ # enforce per-user limits.
68
+ # @param [Google::Apis::RequestOptions] options
69
+ # Request-specific options
70
+ #
71
+ # @yield [result, err] Result & error if block supplied
72
+ # @yieldparam result [Google::Apis::YoutubeAnalyticsV1::BatchReportDefinitionList] parsed result object
73
+ # @yieldparam err [StandardError] error object if request failed
74
+ #
75
+ # @return [Google::Apis::YoutubeAnalyticsV1::BatchReportDefinitionList]
76
+ #
77
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
78
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
79
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
80
+ def list_batch_report_definitions(on_behalf_of_content_owner: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
81
+ path = 'batchReportDefinitions'
82
+ command = make_simple_command(:get, path, options)
83
+ command.response_representation = Google::Apis::YoutubeAnalyticsV1::BatchReportDefinitionList::Representation
84
+ command.response_class = Google::Apis::YoutubeAnalyticsV1::BatchReportDefinitionList
85
+ command.query['onBehalfOfContentOwner'] = on_behalf_of_content_owner unless on_behalf_of_content_owner.nil?
86
+ command.query['fields'] = fields unless fields.nil?
87
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
88
+ command.query['userIp'] = user_ip unless user_ip.nil?
89
+ execute_or_queue_command(command, &block)
90
+ end
91
+
92
+ # Retrieves a list of processed batch reports.
93
+ # @param [String] batch_report_definition_id
94
+ # The batchReportDefinitionId parameter specifies the ID of the batch reportort
95
+ # definition for which you are retrieving reports.
96
+ # @param [String] on_behalf_of_content_owner
97
+ # The onBehalfOfContentOwner parameter identifies the content owner that the
98
+ # user is acting on behalf of.
99
+ # @param [String] fields
100
+ # Selector specifying which fields to include in a partial response.
101
+ # @param [String] quota_user
102
+ # Available to use for quota purposes for server-side applications. Can be any
103
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
104
+ # Overrides userIp if both are provided.
105
+ # @param [String] user_ip
106
+ # IP address of the site where the request originates. Use this if you want to
107
+ # enforce per-user limits.
108
+ # @param [Google::Apis::RequestOptions] options
109
+ # Request-specific options
110
+ #
111
+ # @yield [result, err] Result & error if block supplied
112
+ # @yieldparam result [Google::Apis::YoutubeAnalyticsV1::BatchReportList] parsed result object
113
+ # @yieldparam err [StandardError] error object if request failed
114
+ #
115
+ # @return [Google::Apis::YoutubeAnalyticsV1::BatchReportList]
116
+ #
117
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
118
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
119
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
120
+ def list_batch_reports(batch_report_definition_id: nil, on_behalf_of_content_owner: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
121
+ path = 'batchReports'
122
+ command = make_simple_command(:get, path, options)
123
+ command.response_representation = Google::Apis::YoutubeAnalyticsV1::BatchReportList::Representation
124
+ command.response_class = Google::Apis::YoutubeAnalyticsV1::BatchReportList
125
+ command.query['batchReportDefinitionId'] = batch_report_definition_id unless batch_report_definition_id.nil?
126
+ command.query['onBehalfOfContentOwner'] = on_behalf_of_content_owner unless on_behalf_of_content_owner.nil?
127
+ command.query['fields'] = fields unless fields.nil?
128
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
129
+ command.query['userIp'] = user_ip unless user_ip.nil?
130
+ execute_or_queue_command(command, &block)
131
+ end
132
+
133
+ # Removes an item from a group.
134
+ # @param [String] id
135
+ # The id parameter specifies the YouTube group item ID for the group that is
136
+ # being deleted.
137
+ # @param [String] on_behalf_of_content_owner
138
+ # Note: This parameter is intended exclusively for YouTube content partners.
139
+ # The onBehalfOfContentOwner parameter indicates that the request's
140
+ # authorization credentials identify a YouTube CMS user who is acting on behalf
141
+ # of the content owner specified in the parameter value. This parameter is
142
+ # intended for YouTube content partners that own and manage many different
143
+ # YouTube channels. It allows content owners to authenticate once and get access
144
+ # to all their video and channel data, without having to provide authentication
145
+ # credentials for each individual channel. The CMS account that the user
146
+ # authenticates with must be linked to the specified YouTube content owner.
147
+ # @param [String] fields
148
+ # Selector specifying which fields to include in a partial response.
149
+ # @param [String] quota_user
150
+ # Available to use for quota purposes for server-side applications. Can be any
151
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
152
+ # Overrides userIp if both are provided.
153
+ # @param [String] user_ip
154
+ # IP address of the site where the request originates. Use this if you want to
155
+ # enforce per-user limits.
156
+ # @param [Google::Apis::RequestOptions] options
157
+ # Request-specific options
158
+ #
159
+ # @yield [result, err] Result & error if block supplied
160
+ # @yieldparam result [NilClass] No result returned for this method
161
+ # @yieldparam err [StandardError] error object if request failed
162
+ #
163
+ # @return [void]
164
+ #
165
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
166
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
167
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
168
+ def delete_group_item(id: nil, on_behalf_of_content_owner: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
169
+ path = 'groupItems'
170
+ command = make_simple_command(:delete, path, options)
171
+ command.query['id'] = id unless id.nil?
172
+ command.query['onBehalfOfContentOwner'] = on_behalf_of_content_owner unless on_behalf_of_content_owner.nil?
173
+ command.query['fields'] = fields unless fields.nil?
174
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
175
+ command.query['userIp'] = user_ip unless user_ip.nil?
176
+ execute_or_queue_command(command, &block)
177
+ end
178
+
179
+ # Creates a group item.
180
+ # @param [Google::Apis::YoutubeAnalyticsV1::GroupItem] group_item_object
181
+ # @param [String] on_behalf_of_content_owner
182
+ # Note: This parameter is intended exclusively for YouTube content partners.
183
+ # The onBehalfOfContentOwner parameter indicates that the request's
184
+ # authorization credentials identify a YouTube CMS user who is acting on behalf
185
+ # of the content owner specified in the parameter value. This parameter is
186
+ # intended for YouTube content partners that own and manage many different
187
+ # YouTube channels. It allows content owners to authenticate once and get access
188
+ # to all their video and channel data, without having to provide authentication
189
+ # credentials for each individual channel. The CMS account that the user
190
+ # authenticates with must be linked to the specified YouTube content owner.
191
+ # @param [String] fields
192
+ # Selector specifying which fields to include in a partial response.
193
+ # @param [String] quota_user
194
+ # Available to use for quota purposes for server-side applications. Can be any
195
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
196
+ # Overrides userIp if both are provided.
197
+ # @param [String] user_ip
198
+ # IP address of the site where the request originates. Use this if you want to
199
+ # enforce per-user limits.
200
+ # @param [Google::Apis::RequestOptions] options
201
+ # Request-specific options
202
+ #
203
+ # @yield [result, err] Result & error if block supplied
204
+ # @yieldparam result [Google::Apis::YoutubeAnalyticsV1::GroupItem] parsed result object
205
+ # @yieldparam err [StandardError] error object if request failed
206
+ #
207
+ # @return [Google::Apis::YoutubeAnalyticsV1::GroupItem]
208
+ #
209
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
210
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
211
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
212
+ def insert_group_item(group_item_object = nil, on_behalf_of_content_owner: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
213
+ path = 'groupItems'
214
+ command = make_simple_command(:post, path, options)
215
+ command.request_representation = Google::Apis::YoutubeAnalyticsV1::GroupItem::Representation
216
+ command.request_object = group_item_object
217
+ command.response_representation = Google::Apis::YoutubeAnalyticsV1::GroupItem::Representation
218
+ command.response_class = Google::Apis::YoutubeAnalyticsV1::GroupItem
219
+ command.query['onBehalfOfContentOwner'] = on_behalf_of_content_owner unless on_behalf_of_content_owner.nil?
220
+ command.query['fields'] = fields unless fields.nil?
221
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
222
+ command.query['userIp'] = user_ip unless user_ip.nil?
223
+ execute_or_queue_command(command, &block)
224
+ end
225
+
226
+ # Returns a collection of group items that match the API request parameters.
227
+ # @param [String] group_id
228
+ # The id parameter specifies the unique ID of the group for which you want to
229
+ # retrieve group items.
230
+ # @param [String] on_behalf_of_content_owner
231
+ # Note: This parameter is intended exclusively for YouTube content partners.
232
+ # The onBehalfOfContentOwner parameter indicates that the request's
233
+ # authorization credentials identify a YouTube CMS user who is acting on behalf
234
+ # of the content owner specified in the parameter value. This parameter is
235
+ # intended for YouTube content partners that own and manage many different
236
+ # YouTube channels. It allows content owners to authenticate once and get access
237
+ # to all their video and channel data, without having to provide authentication
238
+ # credentials for each individual channel. The CMS account that the user
239
+ # authenticates with must be linked to the specified YouTube content owner.
240
+ # @param [String] fields
241
+ # Selector specifying which fields to include in a partial response.
242
+ # @param [String] quota_user
243
+ # Available to use for quota purposes for server-side applications. Can be any
244
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
245
+ # Overrides userIp if both are provided.
246
+ # @param [String] user_ip
247
+ # IP address of the site where the request originates. Use this if you want to
248
+ # enforce per-user limits.
249
+ # @param [Google::Apis::RequestOptions] options
250
+ # Request-specific options
251
+ #
252
+ # @yield [result, err] Result & error if block supplied
253
+ # @yieldparam result [Google::Apis::YoutubeAnalyticsV1::ListGroupItemResponse] parsed result object
254
+ # @yieldparam err [StandardError] error object if request failed
255
+ #
256
+ # @return [Google::Apis::YoutubeAnalyticsV1::ListGroupItemResponse]
257
+ #
258
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
259
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
260
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
261
+ def list_group_items(group_id: nil, on_behalf_of_content_owner: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
262
+ path = 'groupItems'
263
+ command = make_simple_command(:get, path, options)
264
+ command.response_representation = Google::Apis::YoutubeAnalyticsV1::ListGroupItemResponse::Representation
265
+ command.response_class = Google::Apis::YoutubeAnalyticsV1::ListGroupItemResponse
266
+ command.query['groupId'] = group_id unless group_id.nil?
267
+ command.query['onBehalfOfContentOwner'] = on_behalf_of_content_owner unless on_behalf_of_content_owner.nil?
268
+ command.query['fields'] = fields unless fields.nil?
269
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
270
+ command.query['userIp'] = user_ip unless user_ip.nil?
271
+ execute_or_queue_command(command, &block)
272
+ end
273
+
274
+ # Deletes a group.
275
+ # @param [String] id
276
+ # The id parameter specifies the YouTube group ID for the group that is being
277
+ # deleted.
278
+ # @param [String] on_behalf_of_content_owner
279
+ # Note: This parameter is intended exclusively for YouTube content partners.
280
+ # The onBehalfOfContentOwner parameter indicates that the request's
281
+ # authorization credentials identify a YouTube CMS user who is acting on behalf
282
+ # of the content owner specified in the parameter value. This parameter is
283
+ # intended for YouTube content partners that own and manage many different
284
+ # YouTube channels. It allows content owners to authenticate once and get access
285
+ # to all their video and channel data, without having to provide authentication
286
+ # credentials for each individual channel. The CMS account that the user
287
+ # authenticates with must be linked to the specified YouTube content owner.
288
+ # @param [String] fields
289
+ # Selector specifying which fields to include in a partial response.
290
+ # @param [String] quota_user
291
+ # Available to use for quota purposes for server-side applications. Can be any
292
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
293
+ # Overrides userIp if both are provided.
294
+ # @param [String] user_ip
295
+ # IP address of the site where the request originates. Use this if you want to
296
+ # enforce per-user limits.
297
+ # @param [Google::Apis::RequestOptions] options
298
+ # Request-specific options
299
+ #
300
+ # @yield [result, err] Result & error if block supplied
301
+ # @yieldparam result [NilClass] No result returned for this method
302
+ # @yieldparam err [StandardError] error object if request failed
303
+ #
304
+ # @return [void]
305
+ #
306
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
307
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
308
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
309
+ def delete_group(id: nil, on_behalf_of_content_owner: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
310
+ path = 'groups'
311
+ command = make_simple_command(:delete, path, options)
312
+ command.query['id'] = id unless id.nil?
313
+ command.query['onBehalfOfContentOwner'] = on_behalf_of_content_owner unless on_behalf_of_content_owner.nil?
314
+ command.query['fields'] = fields unless fields.nil?
315
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
316
+ command.query['userIp'] = user_ip unless user_ip.nil?
317
+ execute_or_queue_command(command, &block)
318
+ end
319
+
320
+ # Creates a group.
321
+ # @param [Google::Apis::YoutubeAnalyticsV1::Group] group_object
322
+ # @param [String] on_behalf_of_content_owner
323
+ # Note: This parameter is intended exclusively for YouTube content partners.
324
+ # The onBehalfOfContentOwner parameter indicates that the request's
325
+ # authorization credentials identify a YouTube CMS user who is acting on behalf
326
+ # of the content owner specified in the parameter value. This parameter is
327
+ # intended for YouTube content partners that own and manage many different
328
+ # YouTube channels. It allows content owners to authenticate once and get access
329
+ # to all their video and channel data, without having to provide authentication
330
+ # credentials for each individual channel. The CMS account that the user
331
+ # authenticates with must be linked to the specified YouTube content owner.
332
+ # @param [String] fields
333
+ # Selector specifying which fields to include in a partial response.
334
+ # @param [String] quota_user
335
+ # Available to use for quota purposes for server-side applications. Can be any
336
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
337
+ # Overrides userIp if both are provided.
338
+ # @param [String] user_ip
339
+ # IP address of the site where the request originates. Use this if you want to
340
+ # enforce per-user limits.
341
+ # @param [Google::Apis::RequestOptions] options
342
+ # Request-specific options
343
+ #
344
+ # @yield [result, err] Result & error if block supplied
345
+ # @yieldparam result [Google::Apis::YoutubeAnalyticsV1::Group] parsed result object
346
+ # @yieldparam err [StandardError] error object if request failed
347
+ #
348
+ # @return [Google::Apis::YoutubeAnalyticsV1::Group]
349
+ #
350
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
351
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
352
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
353
+ def insert_group(group_object = nil, on_behalf_of_content_owner: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
354
+ path = 'groups'
355
+ command = make_simple_command(:post, path, options)
356
+ command.request_representation = Google::Apis::YoutubeAnalyticsV1::Group::Representation
357
+ command.request_object = group_object
358
+ command.response_representation = Google::Apis::YoutubeAnalyticsV1::Group::Representation
359
+ command.response_class = Google::Apis::YoutubeAnalyticsV1::Group
360
+ command.query['onBehalfOfContentOwner'] = on_behalf_of_content_owner unless on_behalf_of_content_owner.nil?
361
+ command.query['fields'] = fields unless fields.nil?
362
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
363
+ command.query['userIp'] = user_ip unless user_ip.nil?
364
+ execute_or_queue_command(command, &block)
365
+ end
366
+
367
+ # Returns a collection of groups that match the API request parameters. For
368
+ # example, you can retrieve all groups that the authenticated user owns, or you
369
+ # can retrieve one or more groups by their unique IDs.
370
+ # @param [String] id
371
+ # The id parameter specifies a comma-separated list of the YouTube group ID(s)
372
+ # for the resource(s) that are being retrieved. In a group resource, the id
373
+ # property specifies the group's YouTube group ID.
374
+ # @param [Boolean] mine
375
+ # Set this parameter's value to true to instruct the API to only return groups
376
+ # owned by the authenticated user.
377
+ # @param [String] on_behalf_of_content_owner
378
+ # Note: This parameter is intended exclusively for YouTube content partners.
379
+ # The onBehalfOfContentOwner parameter indicates that the request's
380
+ # authorization credentials identify a YouTube CMS user who is acting on behalf
381
+ # of the content owner specified in the parameter value. This parameter is
382
+ # intended for YouTube content partners that own and manage many different
383
+ # YouTube channels. It allows content owners to authenticate once and get access
384
+ # to all their video and channel data, without having to provide authentication
385
+ # credentials for each individual channel. The CMS account that the user
386
+ # authenticates with must be linked to the specified YouTube content owner.
387
+ # @param [String] fields
388
+ # Selector specifying which fields to include in a partial response.
389
+ # @param [String] quota_user
390
+ # Available to use for quota purposes for server-side applications. Can be any
391
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
392
+ # Overrides userIp if both are provided.
393
+ # @param [String] user_ip
394
+ # IP address of the site where the request originates. Use this if you want to
395
+ # enforce per-user limits.
396
+ # @param [Google::Apis::RequestOptions] options
397
+ # Request-specific options
398
+ #
399
+ # @yield [result, err] Result & error if block supplied
400
+ # @yieldparam result [Google::Apis::YoutubeAnalyticsV1::ListGroupsResponse] parsed result object
401
+ # @yieldparam err [StandardError] error object if request failed
402
+ #
403
+ # @return [Google::Apis::YoutubeAnalyticsV1::ListGroupsResponse]
404
+ #
405
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
406
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
407
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
408
+ def list_groups(id: nil, mine: nil, on_behalf_of_content_owner: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
409
+ path = 'groups'
410
+ command = make_simple_command(:get, path, options)
411
+ command.response_representation = Google::Apis::YoutubeAnalyticsV1::ListGroupsResponse::Representation
412
+ command.response_class = Google::Apis::YoutubeAnalyticsV1::ListGroupsResponse
413
+ command.query['id'] = id unless id.nil?
414
+ command.query['mine'] = mine unless mine.nil?
415
+ command.query['onBehalfOfContentOwner'] = on_behalf_of_content_owner unless on_behalf_of_content_owner.nil?
416
+ command.query['fields'] = fields unless fields.nil?
417
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
418
+ command.query['userIp'] = user_ip unless user_ip.nil?
419
+ execute_or_queue_command(command, &block)
420
+ end
421
+
422
+ # Modifies a group. For example, you could change a group's title.
423
+ # @param [Google::Apis::YoutubeAnalyticsV1::Group] group_object
424
+ # @param [String] on_behalf_of_content_owner
425
+ # Note: This parameter is intended exclusively for YouTube content partners.
426
+ # The onBehalfOfContentOwner parameter indicates that the request's
427
+ # authorization credentials identify a YouTube CMS user who is acting on behalf
428
+ # of the content owner specified in the parameter value. This parameter is
429
+ # intended for YouTube content partners that own and manage many different
430
+ # YouTube channels. It allows content owners to authenticate once and get access
431
+ # to all their video and channel data, without having to provide authentication
432
+ # credentials for each individual channel. The CMS account that the user
433
+ # authenticates with must be linked to the specified YouTube content owner.
434
+ # @param [String] fields
435
+ # Selector specifying which fields to include in a partial response.
436
+ # @param [String] quota_user
437
+ # Available to use for quota purposes for server-side applications. Can be any
438
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
439
+ # Overrides userIp if both are provided.
440
+ # @param [String] user_ip
441
+ # IP address of the site where the request originates. Use this if you want to
442
+ # enforce per-user limits.
443
+ # @param [Google::Apis::RequestOptions] options
444
+ # Request-specific options
445
+ #
446
+ # @yield [result, err] Result & error if block supplied
447
+ # @yieldparam result [Google::Apis::YoutubeAnalyticsV1::Group] parsed result object
448
+ # @yieldparam err [StandardError] error object if request failed
449
+ #
450
+ # @return [Google::Apis::YoutubeAnalyticsV1::Group]
451
+ #
452
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
453
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
454
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
455
+ def update_group(group_object = nil, on_behalf_of_content_owner: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
456
+ path = 'groups'
457
+ command = make_simple_command(:put, path, options)
458
+ command.request_representation = Google::Apis::YoutubeAnalyticsV1::Group::Representation
459
+ command.request_object = group_object
460
+ command.response_representation = Google::Apis::YoutubeAnalyticsV1::Group::Representation
461
+ command.response_class = Google::Apis::YoutubeAnalyticsV1::Group
462
+ command.query['onBehalfOfContentOwner'] = on_behalf_of_content_owner unless on_behalf_of_content_owner.nil?
463
+ command.query['fields'] = fields unless fields.nil?
464
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
465
+ command.query['userIp'] = user_ip unless user_ip.nil?
466
+ execute_or_queue_command(command, &block)
467
+ end
468
+
469
+ # Retrieve your YouTube Analytics reports.
470
+ # @param [String] currency
471
+ # The currency to which financial metrics should be converted. The default is US
472
+ # Dollar (USD). If the result contains no financial metrics, this flag will be
473
+ # ignored. Responds with an error if the specified currency is not recognized.
474
+ # @param [String] dimensions
475
+ # A comma-separated list of YouTube Analytics dimensions, such as views or
476
+ # ageGroup,gender. See the Available Reports document for a list of the reports
477
+ # that you can retrieve and the dimensions used for those reports. Also see the
478
+ # Dimensions document for definitions of those dimensions.
479
+ # @param [String] end_date
480
+ # The end date for fetching YouTube Analytics data. The value should be in YYYY-
481
+ # MM-DD format.
482
+ # @param [String] filters
483
+ # A list of filters that should be applied when retrieving YouTube Analytics
484
+ # data. The Available Reports document identifies the dimensions that can be
485
+ # used to filter each report, and the Dimensions document defines those
486
+ # dimensions. If a request uses multiple filters, join them together with a
487
+ # semicolon (;), and the returned result table will satisfy both filters. For
488
+ # example, a filters parameter value of video==dMH0bHeiRNg;country==IT restricts
489
+ # the result set to include data for the given video in Italy.
490
+ # @param [String] ids
491
+ # Identifies the YouTube channel or content owner for which you are retrieving
492
+ # YouTube Analytics data.
493
+ # - To request data for a YouTube user, set the ids parameter value to channel==
494
+ # CHANNEL_ID, where CHANNEL_ID specifies the unique YouTube channel ID.
495
+ # - To request data for a YouTube CMS content owner, set the ids parameter value
496
+ # to contentOwner==OWNER_NAME, where OWNER_NAME is the CMS name of the content
497
+ # owner.
498
+ # @param [Fixnum] max_results
499
+ # The maximum number of rows to include in the response.
500
+ # @param [String] metrics
501
+ # A comma-separated list of YouTube Analytics metrics, such as views or likes,
502
+ # dislikes. See the Available Reports document for a list of the reports that
503
+ # you can retrieve and the metrics available in each report, and see the Metrics
504
+ # document for definitions of those metrics.
505
+ # @param [String] sort
506
+ # A comma-separated list of dimensions or metrics that determine the sort order
507
+ # for YouTube Analytics data. By default the sort order is ascending. The '-'
508
+ # prefix causes descending sort order.
509
+ # @param [String] start_date
510
+ # The start date for fetching YouTube Analytics data. The value should be in
511
+ # YYYY-MM-DD format.
512
+ # @param [Fixnum] start_index
513
+ # An index of the first entity to retrieve. Use this parameter as a pagination
514
+ # mechanism along with the max-results parameter (one-based, inclusive).
515
+ # @param [String] fields
516
+ # Selector specifying which fields to include in a partial response.
517
+ # @param [String] quota_user
518
+ # Available to use for quota purposes for server-side applications. Can be any
519
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
520
+ # Overrides userIp if both are provided.
521
+ # @param [String] user_ip
522
+ # IP address of the site where the request originates. Use this if you want to
523
+ # enforce per-user limits.
524
+ # @param [Google::Apis::RequestOptions] options
525
+ # Request-specific options
526
+ #
527
+ # @yield [result, err] Result & error if block supplied
528
+ # @yieldparam result [Google::Apis::YoutubeAnalyticsV1::ResultTable] parsed result object
529
+ # @yieldparam err [StandardError] error object if request failed
530
+ #
531
+ # @return [Google::Apis::YoutubeAnalyticsV1::ResultTable]
532
+ #
533
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
534
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
535
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
536
+ def query_report(currency: nil, dimensions: nil, end_date: nil, filters: nil, ids: nil, max_results: nil, metrics: nil, sort: nil, start_date: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
537
+ path = 'reports'
538
+ command = make_simple_command(:get, path, options)
539
+ command.response_representation = Google::Apis::YoutubeAnalyticsV1::ResultTable::Representation
540
+ command.response_class = Google::Apis::YoutubeAnalyticsV1::ResultTable
541
+ command.query['currency'] = currency unless currency.nil?
542
+ command.query['dimensions'] = dimensions unless dimensions.nil?
543
+ command.query['end-date'] = end_date unless end_date.nil?
544
+ command.query['filters'] = filters unless filters.nil?
545
+ command.query['ids'] = ids unless ids.nil?
546
+ command.query['max-results'] = max_results unless max_results.nil?
547
+ command.query['metrics'] = metrics unless metrics.nil?
548
+ command.query['sort'] = sort unless sort.nil?
549
+ command.query['start-date'] = start_date unless start_date.nil?
550
+ command.query['start-index'] = start_index unless start_index.nil?
551
+ command.query['fields'] = fields unless fields.nil?
552
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
553
+ command.query['userIp'] = user_ip unless user_ip.nil?
554
+ execute_or_queue_command(command, &block)
555
+ end
556
+
557
+ protected
558
+
559
+ def apply_command_defaults(command)
560
+ command.query['key'] = key unless key.nil?
561
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
562
+ command.query['userIp'] = user_ip unless user_ip.nil?
563
+ end
564
+ end
565
+ end
566
+ end
567
+ end