google-api-client 0.8.7 → 0.9.pre1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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