google-adwords-api 1.4.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (438) hide show
  1. checksums.yaml +4 -4
  2. data/COPYING +0 -0
  3. data/ChangeLog +10 -0
  4. data/README.md +9 -236
  5. data/lib/adwords_api.rb +2 -234
  6. metadata +8 -440
  7. data/adwords_api.yml +0 -53
  8. data/lib/adwords_api/api_config.rb +0 -333
  9. data/lib/adwords_api/batch_job_utils.rb +0 -334
  10. data/lib/adwords_api/credential_handler.rb +0 -96
  11. data/lib/adwords_api/errors.rb +0 -110
  12. data/lib/adwords_api/incremental_upload_helper.rb +0 -75
  13. data/lib/adwords_api/query_utils/query_builder.rb +0 -41
  14. data/lib/adwords_api/query_utils/report_query.rb +0 -30
  15. data/lib/adwords_api/query_utils/report_query_builder.rb +0 -82
  16. data/lib/adwords_api/query_utils/service_query.rb +0 -62
  17. data/lib/adwords_api/query_utils/service_query_builder.rb +0 -83
  18. data/lib/adwords_api/query_utils/where_builder.rb +0 -97
  19. data/lib/adwords_api/report_header_handler.rb +0 -80
  20. data/lib/adwords_api/report_stream.rb +0 -70
  21. data/lib/adwords_api/report_utils.rb +0 -383
  22. data/lib/adwords_api/utils.rb +0 -56
  23. data/lib/adwords_api/utils_reporter.rb +0 -58
  24. data/lib/adwords_api/v201710/account_label_service.rb +0 -46
  25. data/lib/adwords_api/v201710/account_label_service_registry.rb +0 -46
  26. data/lib/adwords_api/v201710/ad_customizer_feed_service.rb +0 -46
  27. data/lib/adwords_api/v201710/ad_customizer_feed_service_registry.rb +0 -46
  28. data/lib/adwords_api/v201710/ad_group_ad_service.rb +0 -62
  29. data/lib/adwords_api/v201710/ad_group_ad_service_registry.rb +0 -46
  30. data/lib/adwords_api/v201710/ad_group_bid_modifier_service.rb +0 -54
  31. data/lib/adwords_api/v201710/ad_group_bid_modifier_service_registry.rb +0 -46
  32. data/lib/adwords_api/v201710/ad_group_criterion_service.rb +0 -62
  33. data/lib/adwords_api/v201710/ad_group_criterion_service_registry.rb +0 -46
  34. data/lib/adwords_api/v201710/ad_group_extension_setting_service.rb +0 -54
  35. data/lib/adwords_api/v201710/ad_group_extension_setting_service_registry.rb +0 -46
  36. data/lib/adwords_api/v201710/ad_group_feed_service.rb +0 -54
  37. data/lib/adwords_api/v201710/ad_group_feed_service_registry.rb +0 -46
  38. data/lib/adwords_api/v201710/ad_group_service.rb +0 -62
  39. data/lib/adwords_api/v201710/ad_group_service_registry.rb +0 -46
  40. data/lib/adwords_api/v201710/ad_param_service.rb +0 -46
  41. data/lib/adwords_api/v201710/ad_param_service_registry.rb +0 -46
  42. data/lib/adwords_api/v201710/adwords_user_list_service.rb +0 -62
  43. data/lib/adwords_api/v201710/adwords_user_list_service_registry.rb +0 -46
  44. data/lib/adwords_api/v201710/batch_job_service.rb +0 -54
  45. data/lib/adwords_api/v201710/batch_job_service_registry.rb +0 -46
  46. data/lib/adwords_api/v201710/bidding_strategy_service.rb +0 -54
  47. data/lib/adwords_api/v201710/bidding_strategy_service_registry.rb +0 -46
  48. data/lib/adwords_api/v201710/budget_order_service.rb +0 -54
  49. data/lib/adwords_api/v201710/budget_order_service_registry.rb +0 -46
  50. data/lib/adwords_api/v201710/budget_service.rb +0 -54
  51. data/lib/adwords_api/v201710/budget_service_registry.rb +0 -46
  52. data/lib/adwords_api/v201710/campaign_bid_modifier_service.rb +0 -54
  53. data/lib/adwords_api/v201710/campaign_bid_modifier_service_registry.rb +0 -46
  54. data/lib/adwords_api/v201710/campaign_criterion_service.rb +0 -54
  55. data/lib/adwords_api/v201710/campaign_criterion_service_registry.rb +0 -46
  56. data/lib/adwords_api/v201710/campaign_extension_setting_service.rb +0 -54
  57. data/lib/adwords_api/v201710/campaign_extension_setting_service_registry.rb +0 -46
  58. data/lib/adwords_api/v201710/campaign_feed_service.rb +0 -54
  59. data/lib/adwords_api/v201710/campaign_feed_service_registry.rb +0 -46
  60. data/lib/adwords_api/v201710/campaign_group_performance_target_service.rb +0 -46
  61. data/lib/adwords_api/v201710/campaign_group_performance_target_service_registry.rb +0 -46
  62. data/lib/adwords_api/v201710/campaign_group_service.rb +0 -46
  63. data/lib/adwords_api/v201710/campaign_group_service_registry.rb +0 -46
  64. data/lib/adwords_api/v201710/campaign_service.rb +0 -62
  65. data/lib/adwords_api/v201710/campaign_service_registry.rb +0 -46
  66. data/lib/adwords_api/v201710/campaign_shared_set_service.rb +0 -54
  67. data/lib/adwords_api/v201710/campaign_shared_set_service_registry.rb +0 -46
  68. data/lib/adwords_api/v201710/constant_data_service.rb +0 -110
  69. data/lib/adwords_api/v201710/constant_data_service_registry.rb +0 -46
  70. data/lib/adwords_api/v201710/conversion_tracker_service.rb +0 -54
  71. data/lib/adwords_api/v201710/conversion_tracker_service_registry.rb +0 -46
  72. data/lib/adwords_api/v201710/customer_extension_setting_service.rb +0 -54
  73. data/lib/adwords_api/v201710/customer_extension_setting_service_registry.rb +0 -46
  74. data/lib/adwords_api/v201710/customer_feed_service.rb +0 -54
  75. data/lib/adwords_api/v201710/customer_feed_service_registry.rb +0 -46
  76. data/lib/adwords_api/v201710/customer_negative_criterion_service.rb +0 -54
  77. data/lib/adwords_api/v201710/customer_negative_criterion_service_registry.rb +0 -46
  78. data/lib/adwords_api/v201710/customer_service.rb +0 -62
  79. data/lib/adwords_api/v201710/customer_service_registry.rb +0 -46
  80. data/lib/adwords_api/v201710/customer_sync_service.rb +0 -38
  81. data/lib/adwords_api/v201710/customer_sync_service_registry.rb +0 -47
  82. data/lib/adwords_api/v201710/data_service.rb +0 -94
  83. data/lib/adwords_api/v201710/data_service_registry.rb +0 -46
  84. data/lib/adwords_api/v201710/draft_async_error_service.rb +0 -46
  85. data/lib/adwords_api/v201710/draft_async_error_service_registry.rb +0 -46
  86. data/lib/adwords_api/v201710/draft_service.rb +0 -54
  87. data/lib/adwords_api/v201710/draft_service_registry.rb +0 -46
  88. data/lib/adwords_api/v201710/feed_item_service.rb +0 -54
  89. data/lib/adwords_api/v201710/feed_item_service_registry.rb +0 -46
  90. data/lib/adwords_api/v201710/feed_mapping_service.rb +0 -54
  91. data/lib/adwords_api/v201710/feed_mapping_service_registry.rb +0 -46
  92. data/lib/adwords_api/v201710/feed_service.rb +0 -54
  93. data/lib/adwords_api/v201710/feed_service_registry.rb +0 -46
  94. data/lib/adwords_api/v201710/label_service.rb +0 -54
  95. data/lib/adwords_api/v201710/label_service_registry.rb +0 -46
  96. data/lib/adwords_api/v201710/location_criterion_service.rb +0 -46
  97. data/lib/adwords_api/v201710/location_criterion_service_registry.rb +0 -46
  98. data/lib/adwords_api/v201710/managed_customer_service.rb +0 -78
  99. data/lib/adwords_api/v201710/managed_customer_service_registry.rb +0 -46
  100. data/lib/adwords_api/v201710/media_service.rb +0 -54
  101. data/lib/adwords_api/v201710/media_service_registry.rb +0 -46
  102. data/lib/adwords_api/v201710/offline_call_conversion_feed_service.rb +0 -38
  103. data/lib/adwords_api/v201710/offline_call_conversion_feed_service_registry.rb +0 -46
  104. data/lib/adwords_api/v201710/offline_conversion_feed_service.rb +0 -38
  105. data/lib/adwords_api/v201710/offline_conversion_feed_service_registry.rb +0 -46
  106. data/lib/adwords_api/v201710/offline_data_upload_service.rb +0 -46
  107. data/lib/adwords_api/v201710/offline_data_upload_service_registry.rb +0 -46
  108. data/lib/adwords_api/v201710/report_definition_service.rb +0 -38
  109. data/lib/adwords_api/v201710/report_definition_service_registry.rb +0 -46
  110. data/lib/adwords_api/v201710/shared_criterion_service.rb +0 -54
  111. data/lib/adwords_api/v201710/shared_criterion_service_registry.rb +0 -46
  112. data/lib/adwords_api/v201710/shared_set_service.rb +0 -54
  113. data/lib/adwords_api/v201710/shared_set_service_registry.rb +0 -46
  114. data/lib/adwords_api/v201710/targeting_idea_service.rb +0 -38
  115. data/lib/adwords_api/v201710/targeting_idea_service_registry.rb +0 -46
  116. data/lib/adwords_api/v201710/traffic_estimator_service.rb +0 -38
  117. data/lib/adwords_api/v201710/traffic_estimator_service_registry.rb +0 -46
  118. data/lib/adwords_api/v201710/trial_async_error_service.rb +0 -46
  119. data/lib/adwords_api/v201710/trial_async_error_service_registry.rb +0 -46
  120. data/lib/adwords_api/v201710/trial_service.rb +0 -54
  121. data/lib/adwords_api/v201710/trial_service_registry.rb +0 -46
  122. data/lib/adwords_api/v201802/account_label_service.rb +0 -46
  123. data/lib/adwords_api/v201802/account_label_service_registry.rb +0 -46
  124. data/lib/adwords_api/v201802/ad_customizer_feed_service.rb +0 -46
  125. data/lib/adwords_api/v201802/ad_customizer_feed_service_registry.rb +0 -46
  126. data/lib/adwords_api/v201802/ad_group_ad_service.rb +0 -62
  127. data/lib/adwords_api/v201802/ad_group_ad_service_registry.rb +0 -46
  128. data/lib/adwords_api/v201802/ad_group_bid_modifier_service.rb +0 -54
  129. data/lib/adwords_api/v201802/ad_group_bid_modifier_service_registry.rb +0 -46
  130. data/lib/adwords_api/v201802/ad_group_criterion_service.rb +0 -62
  131. data/lib/adwords_api/v201802/ad_group_criterion_service_registry.rb +0 -46
  132. data/lib/adwords_api/v201802/ad_group_extension_setting_service.rb +0 -54
  133. data/lib/adwords_api/v201802/ad_group_extension_setting_service_registry.rb +0 -46
  134. data/lib/adwords_api/v201802/ad_group_feed_service.rb +0 -54
  135. data/lib/adwords_api/v201802/ad_group_feed_service_registry.rb +0 -46
  136. data/lib/adwords_api/v201802/ad_group_service.rb +0 -62
  137. data/lib/adwords_api/v201802/ad_group_service_registry.rb +0 -46
  138. data/lib/adwords_api/v201802/ad_param_service.rb +0 -46
  139. data/lib/adwords_api/v201802/ad_param_service_registry.rb +0 -46
  140. data/lib/adwords_api/v201802/adwords_user_list_service.rb +0 -62
  141. data/lib/adwords_api/v201802/adwords_user_list_service_registry.rb +0 -46
  142. data/lib/adwords_api/v201802/batch_job_service.rb +0 -54
  143. data/lib/adwords_api/v201802/batch_job_service_registry.rb +0 -46
  144. data/lib/adwords_api/v201802/bidding_strategy_service.rb +0 -54
  145. data/lib/adwords_api/v201802/bidding_strategy_service_registry.rb +0 -46
  146. data/lib/adwords_api/v201802/budget_order_service.rb +0 -54
  147. data/lib/adwords_api/v201802/budget_order_service_registry.rb +0 -46
  148. data/lib/adwords_api/v201802/budget_service.rb +0 -54
  149. data/lib/adwords_api/v201802/budget_service_registry.rb +0 -46
  150. data/lib/adwords_api/v201802/campaign_bid_modifier_service.rb +0 -54
  151. data/lib/adwords_api/v201802/campaign_bid_modifier_service_registry.rb +0 -46
  152. data/lib/adwords_api/v201802/campaign_criterion_service.rb +0 -54
  153. data/lib/adwords_api/v201802/campaign_criterion_service_registry.rb +0 -46
  154. data/lib/adwords_api/v201802/campaign_extension_setting_service.rb +0 -54
  155. data/lib/adwords_api/v201802/campaign_extension_setting_service_registry.rb +0 -46
  156. data/lib/adwords_api/v201802/campaign_feed_service.rb +0 -54
  157. data/lib/adwords_api/v201802/campaign_feed_service_registry.rb +0 -46
  158. data/lib/adwords_api/v201802/campaign_group_performance_target_service.rb +0 -46
  159. data/lib/adwords_api/v201802/campaign_group_performance_target_service_registry.rb +0 -46
  160. data/lib/adwords_api/v201802/campaign_group_service.rb +0 -46
  161. data/lib/adwords_api/v201802/campaign_group_service_registry.rb +0 -46
  162. data/lib/adwords_api/v201802/campaign_service.rb +0 -62
  163. data/lib/adwords_api/v201802/campaign_service_registry.rb +0 -46
  164. data/lib/adwords_api/v201802/campaign_shared_set_service.rb +0 -54
  165. data/lib/adwords_api/v201802/campaign_shared_set_service_registry.rb +0 -46
  166. data/lib/adwords_api/v201802/constant_data_service.rb +0 -110
  167. data/lib/adwords_api/v201802/constant_data_service_registry.rb +0 -46
  168. data/lib/adwords_api/v201802/conversion_tracker_service.rb +0 -54
  169. data/lib/adwords_api/v201802/conversion_tracker_service_registry.rb +0 -46
  170. data/lib/adwords_api/v201802/customer_extension_setting_service.rb +0 -54
  171. data/lib/adwords_api/v201802/customer_extension_setting_service_registry.rb +0 -46
  172. data/lib/adwords_api/v201802/customer_feed_service.rb +0 -54
  173. data/lib/adwords_api/v201802/customer_feed_service_registry.rb +0 -46
  174. data/lib/adwords_api/v201802/customer_negative_criterion_service.rb +0 -54
  175. data/lib/adwords_api/v201802/customer_negative_criterion_service_registry.rb +0 -46
  176. data/lib/adwords_api/v201802/customer_service.rb +0 -62
  177. data/lib/adwords_api/v201802/customer_service_registry.rb +0 -46
  178. data/lib/adwords_api/v201802/customer_sync_service.rb +0 -38
  179. data/lib/adwords_api/v201802/customer_sync_service_registry.rb +0 -47
  180. data/lib/adwords_api/v201802/data_service.rb +0 -94
  181. data/lib/adwords_api/v201802/data_service_registry.rb +0 -46
  182. data/lib/adwords_api/v201802/draft_async_error_service.rb +0 -46
  183. data/lib/adwords_api/v201802/draft_async_error_service_registry.rb +0 -46
  184. data/lib/adwords_api/v201802/draft_service.rb +0 -54
  185. data/lib/adwords_api/v201802/draft_service_registry.rb +0 -46
  186. data/lib/adwords_api/v201802/feed_item_service.rb +0 -54
  187. data/lib/adwords_api/v201802/feed_item_service_registry.rb +0 -46
  188. data/lib/adwords_api/v201802/feed_item_target_service.rb +0 -54
  189. data/lib/adwords_api/v201802/feed_item_target_service_registry.rb +0 -46
  190. data/lib/adwords_api/v201802/feed_mapping_service.rb +0 -54
  191. data/lib/adwords_api/v201802/feed_mapping_service_registry.rb +0 -46
  192. data/lib/adwords_api/v201802/feed_service.rb +0 -54
  193. data/lib/adwords_api/v201802/feed_service_registry.rb +0 -46
  194. data/lib/adwords_api/v201802/label_service.rb +0 -54
  195. data/lib/adwords_api/v201802/label_service_registry.rb +0 -46
  196. data/lib/adwords_api/v201802/location_criterion_service.rb +0 -46
  197. data/lib/adwords_api/v201802/location_criterion_service_registry.rb +0 -46
  198. data/lib/adwords_api/v201802/managed_customer_service.rb +0 -78
  199. data/lib/adwords_api/v201802/managed_customer_service_registry.rb +0 -46
  200. data/lib/adwords_api/v201802/media_service.rb +0 -54
  201. data/lib/adwords_api/v201802/media_service_registry.rb +0 -46
  202. data/lib/adwords_api/v201802/offline_call_conversion_feed_service.rb +0 -38
  203. data/lib/adwords_api/v201802/offline_call_conversion_feed_service_registry.rb +0 -46
  204. data/lib/adwords_api/v201802/offline_conversion_feed_service.rb +0 -38
  205. data/lib/adwords_api/v201802/offline_conversion_feed_service_registry.rb +0 -46
  206. data/lib/adwords_api/v201802/offline_data_upload_service.rb +0 -46
  207. data/lib/adwords_api/v201802/offline_data_upload_service_registry.rb +0 -46
  208. data/lib/adwords_api/v201802/report_definition_service.rb +0 -38
  209. data/lib/adwords_api/v201802/report_definition_service_registry.rb +0 -46
  210. data/lib/adwords_api/v201802/shared_criterion_service.rb +0 -54
  211. data/lib/adwords_api/v201802/shared_criterion_service_registry.rb +0 -46
  212. data/lib/adwords_api/v201802/shared_set_service.rb +0 -54
  213. data/lib/adwords_api/v201802/shared_set_service_registry.rb +0 -46
  214. data/lib/adwords_api/v201802/targeting_idea_service.rb +0 -38
  215. data/lib/adwords_api/v201802/targeting_idea_service_registry.rb +0 -46
  216. data/lib/adwords_api/v201802/traffic_estimator_service.rb +0 -38
  217. data/lib/adwords_api/v201802/traffic_estimator_service_registry.rb +0 -46
  218. data/lib/adwords_api/v201802/trial_async_error_service.rb +0 -46
  219. data/lib/adwords_api/v201802/trial_async_error_service_registry.rb +0 -46
  220. data/lib/adwords_api/v201802/trial_service.rb +0 -54
  221. data/lib/adwords_api/v201802/trial_service_registry.rb +0 -46
  222. data/lib/adwords_api/v201806/account_label_service.rb +0 -46
  223. data/lib/adwords_api/v201806/account_label_service_registry.rb +0 -46
  224. data/lib/adwords_api/v201806/ad_customizer_feed_service.rb +0 -46
  225. data/lib/adwords_api/v201806/ad_customizer_feed_service_registry.rb +0 -46
  226. data/lib/adwords_api/v201806/ad_group_ad_service.rb +0 -62
  227. data/lib/adwords_api/v201806/ad_group_ad_service_registry.rb +0 -46
  228. data/lib/adwords_api/v201806/ad_group_bid_modifier_service.rb +0 -54
  229. data/lib/adwords_api/v201806/ad_group_bid_modifier_service_registry.rb +0 -46
  230. data/lib/adwords_api/v201806/ad_group_criterion_service.rb +0 -62
  231. data/lib/adwords_api/v201806/ad_group_criterion_service_registry.rb +0 -46
  232. data/lib/adwords_api/v201806/ad_group_extension_setting_service.rb +0 -54
  233. data/lib/adwords_api/v201806/ad_group_extension_setting_service_registry.rb +0 -46
  234. data/lib/adwords_api/v201806/ad_group_feed_service.rb +0 -54
  235. data/lib/adwords_api/v201806/ad_group_feed_service_registry.rb +0 -46
  236. data/lib/adwords_api/v201806/ad_group_service.rb +0 -62
  237. data/lib/adwords_api/v201806/ad_group_service_registry.rb +0 -46
  238. data/lib/adwords_api/v201806/ad_param_service.rb +0 -46
  239. data/lib/adwords_api/v201806/ad_param_service_registry.rb +0 -46
  240. data/lib/adwords_api/v201806/ad_service.rb +0 -46
  241. data/lib/adwords_api/v201806/ad_service_registry.rb +0 -46
  242. data/lib/adwords_api/v201806/adwords_user_list_service.rb +0 -62
  243. data/lib/adwords_api/v201806/adwords_user_list_service_registry.rb +0 -46
  244. data/lib/adwords_api/v201806/asset_service.rb +0 -46
  245. data/lib/adwords_api/v201806/asset_service_registry.rb +0 -46
  246. data/lib/adwords_api/v201806/batch_job_service.rb +0 -54
  247. data/lib/adwords_api/v201806/batch_job_service_registry.rb +0 -46
  248. data/lib/adwords_api/v201806/bidding_strategy_service.rb +0 -54
  249. data/lib/adwords_api/v201806/bidding_strategy_service_registry.rb +0 -46
  250. data/lib/adwords_api/v201806/budget_order_service.rb +0 -54
  251. data/lib/adwords_api/v201806/budget_order_service_registry.rb +0 -46
  252. data/lib/adwords_api/v201806/budget_service.rb +0 -54
  253. data/lib/adwords_api/v201806/budget_service_registry.rb +0 -46
  254. data/lib/adwords_api/v201806/campaign_bid_modifier_service.rb +0 -54
  255. data/lib/adwords_api/v201806/campaign_bid_modifier_service_registry.rb +0 -46
  256. data/lib/adwords_api/v201806/campaign_criterion_service.rb +0 -54
  257. data/lib/adwords_api/v201806/campaign_criterion_service_registry.rb +0 -46
  258. data/lib/adwords_api/v201806/campaign_extension_setting_service.rb +0 -54
  259. data/lib/adwords_api/v201806/campaign_extension_setting_service_registry.rb +0 -46
  260. data/lib/adwords_api/v201806/campaign_feed_service.rb +0 -54
  261. data/lib/adwords_api/v201806/campaign_feed_service_registry.rb +0 -46
  262. data/lib/adwords_api/v201806/campaign_group_performance_target_service.rb +0 -46
  263. data/lib/adwords_api/v201806/campaign_group_performance_target_service_registry.rb +0 -46
  264. data/lib/adwords_api/v201806/campaign_group_service.rb +0 -46
  265. data/lib/adwords_api/v201806/campaign_group_service_registry.rb +0 -46
  266. data/lib/adwords_api/v201806/campaign_service.rb +0 -62
  267. data/lib/adwords_api/v201806/campaign_service_registry.rb +0 -46
  268. data/lib/adwords_api/v201806/campaign_shared_set_service.rb +0 -54
  269. data/lib/adwords_api/v201806/campaign_shared_set_service_registry.rb +0 -46
  270. data/lib/adwords_api/v201806/constant_data_service.rb +0 -110
  271. data/lib/adwords_api/v201806/constant_data_service_registry.rb +0 -46
  272. data/lib/adwords_api/v201806/conversion_tracker_service.rb +0 -54
  273. data/lib/adwords_api/v201806/conversion_tracker_service_registry.rb +0 -46
  274. data/lib/adwords_api/v201806/custom_affinity_service.rb +0 -62
  275. data/lib/adwords_api/v201806/custom_affinity_service_registry.rb +0 -46
  276. data/lib/adwords_api/v201806/customer_extension_setting_service.rb +0 -54
  277. data/lib/adwords_api/v201806/customer_extension_setting_service_registry.rb +0 -46
  278. data/lib/adwords_api/v201806/customer_feed_service.rb +0 -54
  279. data/lib/adwords_api/v201806/customer_feed_service_registry.rb +0 -46
  280. data/lib/adwords_api/v201806/customer_negative_criterion_service.rb +0 -54
  281. data/lib/adwords_api/v201806/customer_negative_criterion_service_registry.rb +0 -46
  282. data/lib/adwords_api/v201806/customer_service.rb +0 -62
  283. data/lib/adwords_api/v201806/customer_service_registry.rb +0 -46
  284. data/lib/adwords_api/v201806/customer_sync_service.rb +0 -38
  285. data/lib/adwords_api/v201806/customer_sync_service_registry.rb +0 -47
  286. data/lib/adwords_api/v201806/data_service.rb +0 -94
  287. data/lib/adwords_api/v201806/data_service_registry.rb +0 -46
  288. data/lib/adwords_api/v201806/draft_async_error_service.rb +0 -46
  289. data/lib/adwords_api/v201806/draft_async_error_service_registry.rb +0 -46
  290. data/lib/adwords_api/v201806/draft_service.rb +0 -54
  291. data/lib/adwords_api/v201806/draft_service_registry.rb +0 -46
  292. data/lib/adwords_api/v201806/feed_item_service.rb +0 -54
  293. data/lib/adwords_api/v201806/feed_item_service_registry.rb +0 -46
  294. data/lib/adwords_api/v201806/feed_item_target_service.rb +0 -54
  295. data/lib/adwords_api/v201806/feed_item_target_service_registry.rb +0 -46
  296. data/lib/adwords_api/v201806/feed_mapping_service.rb +0 -54
  297. data/lib/adwords_api/v201806/feed_mapping_service_registry.rb +0 -46
  298. data/lib/adwords_api/v201806/feed_service.rb +0 -54
  299. data/lib/adwords_api/v201806/feed_service_registry.rb +0 -46
  300. data/lib/adwords_api/v201806/label_service.rb +0 -54
  301. data/lib/adwords_api/v201806/label_service_registry.rb +0 -46
  302. data/lib/adwords_api/v201806/location_criterion_service.rb +0 -46
  303. data/lib/adwords_api/v201806/location_criterion_service_registry.rb +0 -46
  304. data/lib/adwords_api/v201806/managed_customer_service.rb +0 -78
  305. data/lib/adwords_api/v201806/managed_customer_service_registry.rb +0 -46
  306. data/lib/adwords_api/v201806/media_service.rb +0 -54
  307. data/lib/adwords_api/v201806/media_service_registry.rb +0 -46
  308. data/lib/adwords_api/v201806/offline_call_conversion_feed_service.rb +0 -38
  309. data/lib/adwords_api/v201806/offline_call_conversion_feed_service_registry.rb +0 -46
  310. data/lib/adwords_api/v201806/offline_conversion_adjustment_feed_service.rb +0 -38
  311. data/lib/adwords_api/v201806/offline_conversion_adjustment_feed_service_registry.rb +0 -46
  312. data/lib/adwords_api/v201806/offline_conversion_feed_service.rb +0 -38
  313. data/lib/adwords_api/v201806/offline_conversion_feed_service_registry.rb +0 -46
  314. data/lib/adwords_api/v201806/offline_data_upload_service.rb +0 -46
  315. data/lib/adwords_api/v201806/offline_data_upload_service_registry.rb +0 -46
  316. data/lib/adwords_api/v201806/report_definition_service.rb +0 -38
  317. data/lib/adwords_api/v201806/report_definition_service_registry.rb +0 -46
  318. data/lib/adwords_api/v201806/shared_criterion_service.rb +0 -54
  319. data/lib/adwords_api/v201806/shared_criterion_service_registry.rb +0 -46
  320. data/lib/adwords_api/v201806/shared_set_service.rb +0 -54
  321. data/lib/adwords_api/v201806/shared_set_service_registry.rb +0 -46
  322. data/lib/adwords_api/v201806/targeting_idea_service.rb +0 -38
  323. data/lib/adwords_api/v201806/targeting_idea_service_registry.rb +0 -46
  324. data/lib/adwords_api/v201806/traffic_estimator_service.rb +0 -38
  325. data/lib/adwords_api/v201806/traffic_estimator_service_registry.rb +0 -46
  326. data/lib/adwords_api/v201806/trial_async_error_service.rb +0 -46
  327. data/lib/adwords_api/v201806/trial_async_error_service_registry.rb +0 -46
  328. data/lib/adwords_api/v201806/trial_service.rb +0 -54
  329. data/lib/adwords_api/v201806/trial_service_registry.rb +0 -46
  330. data/lib/adwords_api/v201809/account_label_service.rb +0 -46
  331. data/lib/adwords_api/v201809/account_label_service_registry.rb +0 -46
  332. data/lib/adwords_api/v201809/ad_customizer_feed_service.rb +0 -46
  333. data/lib/adwords_api/v201809/ad_customizer_feed_service_registry.rb +0 -46
  334. data/lib/adwords_api/v201809/ad_group_ad_service.rb +0 -62
  335. data/lib/adwords_api/v201809/ad_group_ad_service_registry.rb +0 -46
  336. data/lib/adwords_api/v201809/ad_group_bid_modifier_service.rb +0 -54
  337. data/lib/adwords_api/v201809/ad_group_bid_modifier_service_registry.rb +0 -46
  338. data/lib/adwords_api/v201809/ad_group_criterion_service.rb +0 -62
  339. data/lib/adwords_api/v201809/ad_group_criterion_service_registry.rb +0 -46
  340. data/lib/adwords_api/v201809/ad_group_extension_setting_service.rb +0 -54
  341. data/lib/adwords_api/v201809/ad_group_extension_setting_service_registry.rb +0 -46
  342. data/lib/adwords_api/v201809/ad_group_feed_service.rb +0 -54
  343. data/lib/adwords_api/v201809/ad_group_feed_service_registry.rb +0 -46
  344. data/lib/adwords_api/v201809/ad_group_service.rb +0 -62
  345. data/lib/adwords_api/v201809/ad_group_service_registry.rb +0 -46
  346. data/lib/adwords_api/v201809/ad_param_service.rb +0 -46
  347. data/lib/adwords_api/v201809/ad_param_service_registry.rb +0 -46
  348. data/lib/adwords_api/v201809/ad_service.rb +0 -46
  349. data/lib/adwords_api/v201809/ad_service_registry.rb +0 -46
  350. data/lib/adwords_api/v201809/adwords_user_list_service.rb +0 -62
  351. data/lib/adwords_api/v201809/adwords_user_list_service_registry.rb +0 -46
  352. data/lib/adwords_api/v201809/asset_service.rb +0 -46
  353. data/lib/adwords_api/v201809/asset_service_registry.rb +0 -46
  354. data/lib/adwords_api/v201809/batch_job_service.rb +0 -54
  355. data/lib/adwords_api/v201809/batch_job_service_registry.rb +0 -46
  356. data/lib/adwords_api/v201809/bidding_strategy_service.rb +0 -54
  357. data/lib/adwords_api/v201809/bidding_strategy_service_registry.rb +0 -46
  358. data/lib/adwords_api/v201809/budget_order_service.rb +0 -54
  359. data/lib/adwords_api/v201809/budget_order_service_registry.rb +0 -46
  360. data/lib/adwords_api/v201809/budget_service.rb +0 -54
  361. data/lib/adwords_api/v201809/budget_service_registry.rb +0 -46
  362. data/lib/adwords_api/v201809/campaign_bid_modifier_service.rb +0 -54
  363. data/lib/adwords_api/v201809/campaign_bid_modifier_service_registry.rb +0 -46
  364. data/lib/adwords_api/v201809/campaign_criterion_service.rb +0 -54
  365. data/lib/adwords_api/v201809/campaign_criterion_service_registry.rb +0 -46
  366. data/lib/adwords_api/v201809/campaign_extension_setting_service.rb +0 -54
  367. data/lib/adwords_api/v201809/campaign_extension_setting_service_registry.rb +0 -46
  368. data/lib/adwords_api/v201809/campaign_feed_service.rb +0 -54
  369. data/lib/adwords_api/v201809/campaign_feed_service_registry.rb +0 -46
  370. data/lib/adwords_api/v201809/campaign_group_performance_target_service.rb +0 -46
  371. data/lib/adwords_api/v201809/campaign_group_performance_target_service_registry.rb +0 -46
  372. data/lib/adwords_api/v201809/campaign_group_service.rb +0 -46
  373. data/lib/adwords_api/v201809/campaign_group_service_registry.rb +0 -46
  374. data/lib/adwords_api/v201809/campaign_service.rb +0 -62
  375. data/lib/adwords_api/v201809/campaign_service_registry.rb +0 -46
  376. data/lib/adwords_api/v201809/campaign_shared_set_service.rb +0 -54
  377. data/lib/adwords_api/v201809/campaign_shared_set_service_registry.rb +0 -46
  378. data/lib/adwords_api/v201809/constant_data_service.rb +0 -110
  379. data/lib/adwords_api/v201809/constant_data_service_registry.rb +0 -46
  380. data/lib/adwords_api/v201809/conversion_tracker_service.rb +0 -54
  381. data/lib/adwords_api/v201809/conversion_tracker_service_registry.rb +0 -46
  382. data/lib/adwords_api/v201809/custom_affinity_service.rb +0 -62
  383. data/lib/adwords_api/v201809/custom_affinity_service_registry.rb +0 -46
  384. data/lib/adwords_api/v201809/customer_extension_setting_service.rb +0 -54
  385. data/lib/adwords_api/v201809/customer_extension_setting_service_registry.rb +0 -46
  386. data/lib/adwords_api/v201809/customer_feed_service.rb +0 -54
  387. data/lib/adwords_api/v201809/customer_feed_service_registry.rb +0 -46
  388. data/lib/adwords_api/v201809/customer_negative_criterion_service.rb +0 -54
  389. data/lib/adwords_api/v201809/customer_negative_criterion_service_registry.rb +0 -46
  390. data/lib/adwords_api/v201809/customer_service.rb +0 -62
  391. data/lib/adwords_api/v201809/customer_service_registry.rb +0 -46
  392. data/lib/adwords_api/v201809/customer_sync_service.rb +0 -38
  393. data/lib/adwords_api/v201809/customer_sync_service_registry.rb +0 -47
  394. data/lib/adwords_api/v201809/data_service.rb +0 -94
  395. data/lib/adwords_api/v201809/data_service_registry.rb +0 -46
  396. data/lib/adwords_api/v201809/draft_async_error_service.rb +0 -46
  397. data/lib/adwords_api/v201809/draft_async_error_service_registry.rb +0 -46
  398. data/lib/adwords_api/v201809/draft_service.rb +0 -54
  399. data/lib/adwords_api/v201809/draft_service_registry.rb +0 -46
  400. data/lib/adwords_api/v201809/feed_item_service.rb +0 -54
  401. data/lib/adwords_api/v201809/feed_item_service_registry.rb +0 -46
  402. data/lib/adwords_api/v201809/feed_item_target_service.rb +0 -54
  403. data/lib/adwords_api/v201809/feed_item_target_service_registry.rb +0 -46
  404. data/lib/adwords_api/v201809/feed_mapping_service.rb +0 -54
  405. data/lib/adwords_api/v201809/feed_mapping_service_registry.rb +0 -46
  406. data/lib/adwords_api/v201809/feed_service.rb +0 -54
  407. data/lib/adwords_api/v201809/feed_service_registry.rb +0 -46
  408. data/lib/adwords_api/v201809/label_service.rb +0 -54
  409. data/lib/adwords_api/v201809/label_service_registry.rb +0 -46
  410. data/lib/adwords_api/v201809/location_criterion_service.rb +0 -46
  411. data/lib/adwords_api/v201809/location_criterion_service_registry.rb +0 -46
  412. data/lib/adwords_api/v201809/managed_customer_service.rb +0 -78
  413. data/lib/adwords_api/v201809/managed_customer_service_registry.rb +0 -46
  414. data/lib/adwords_api/v201809/media_service.rb +0 -54
  415. data/lib/adwords_api/v201809/media_service_registry.rb +0 -46
  416. data/lib/adwords_api/v201809/offline_call_conversion_feed_service.rb +0 -38
  417. data/lib/adwords_api/v201809/offline_call_conversion_feed_service_registry.rb +0 -46
  418. data/lib/adwords_api/v201809/offline_conversion_adjustment_feed_service.rb +0 -38
  419. data/lib/adwords_api/v201809/offline_conversion_adjustment_feed_service_registry.rb +0 -46
  420. data/lib/adwords_api/v201809/offline_conversion_feed_service.rb +0 -38
  421. data/lib/adwords_api/v201809/offline_conversion_feed_service_registry.rb +0 -46
  422. data/lib/adwords_api/v201809/offline_data_upload_service.rb +0 -46
  423. data/lib/adwords_api/v201809/offline_data_upload_service_registry.rb +0 -46
  424. data/lib/adwords_api/v201809/report_definition_service.rb +0 -38
  425. data/lib/adwords_api/v201809/report_definition_service_registry.rb +0 -46
  426. data/lib/adwords_api/v201809/shared_criterion_service.rb +0 -54
  427. data/lib/adwords_api/v201809/shared_criterion_service_registry.rb +0 -46
  428. data/lib/adwords_api/v201809/shared_set_service.rb +0 -54
  429. data/lib/adwords_api/v201809/shared_set_service_registry.rb +0 -46
  430. data/lib/adwords_api/v201809/targeting_idea_service.rb +0 -38
  431. data/lib/adwords_api/v201809/targeting_idea_service_registry.rb +0 -46
  432. data/lib/adwords_api/v201809/traffic_estimator_service.rb +0 -38
  433. data/lib/adwords_api/v201809/traffic_estimator_service_registry.rb +0 -46
  434. data/lib/adwords_api/v201809/trial_async_error_service.rb +0 -46
  435. data/lib/adwords_api/v201809/trial_async_error_service_registry.rb +0 -46
  436. data/lib/adwords_api/v201809/trial_service.rb +0 -54
  437. data/lib/adwords_api/v201809/trial_service_registry.rb +0 -46
  438. data/lib/adwords_api/version.rb +0 -24
@@ -1,333 +0,0 @@
1
- # Encoding: utf-8
2
- #
3
- # Copyright:: Copyright 2010, Google Inc. All Rights Reserved.
4
- #
5
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14
- # implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # Helper methods for loading and managing the available services in the AdWords
19
- # API.
20
-
21
- require 'ads_common/api_config'
22
-
23
- require 'adwords_api/version'
24
-
25
- module AdwordsApi
26
-
27
- # Contains helper methods for loading and managing the available services.
28
- module ApiConfig
29
-
30
- # Inherit from AdsCommon::ApiConfig
31
- class << ApiConfig
32
- include AdsCommon::ApiConfig
33
- end
34
-
35
- # Set defaults
36
- DEFAULT_VERSION = :v201809
37
- LATEST_VERSION = :v201809
38
-
39
- # Set other constants
40
- API_NAME = 'AdwordsApi'
41
- DEFAULT_CONFIG_FILENAME = 'adwords_api.yml'
42
-
43
- # Configure the services available to each version
44
- @@service_config = {
45
- :v201806 => [
46
- :AccountLabelService,
47
- :AdCustomizerFeedService,
48
- :AdGroupAdService,
49
- :AdGroupBidModifierService,
50
- :AdGroupCriterionService,
51
- :AdGroupExtensionSettingService,
52
- :AdGroupFeedService,
53
- :AdGroupService,
54
- :AdParamService,
55
- :AdService,
56
- :AdwordsUserListService,
57
- :AssetService,
58
- :BatchJobService,
59
- :BiddingStrategyService,
60
- :BudgetOrderService,
61
- :BudgetService,
62
- :CampaignBidModifierService,
63
- :CampaignCriterionService,
64
- :CampaignExtensionSettingService,
65
- :CampaignFeedService,
66
- :CampaignGroupService,
67
- :CampaignGroupPerformanceTargetService,
68
- :CampaignService,
69
- :CampaignSharedSetService,
70
- :ConstantDataService,
71
- :ConversionTrackerService,
72
- :CustomAffinityService,
73
- :CustomerExtensionSettingService,
74
- :CustomerFeedService,
75
- :CustomerNegativeCriterionService,
76
- :CustomerService,
77
- :CustomerSyncService,
78
- :DataService,
79
- :DraftAsyncErrorService,
80
- :DraftService,
81
- :FeedItemService,
82
- :FeedItemTargetService,
83
- :FeedMappingService,
84
- :FeedService,
85
- :LabelService,
86
- :LocationCriterionService,
87
- :ManagedCustomerService,
88
- :MediaService,
89
- :OfflineCallConversionFeedService,
90
- :OfflineConversionAdjustmentFeedService,
91
- :OfflineConversionFeedService,
92
- :OfflineDataUploadService,
93
- :ReportDefinitionService,
94
- :SharedCriterionService,
95
- :SharedSetService,
96
- :TargetingIdeaService,
97
- :TrafficEstimatorService,
98
- :TrialAsyncErrorService,
99
- :TrialService
100
- ],
101
- :v201809 => [
102
- :AccountLabelService,
103
- :AdCustomizerFeedService,
104
- :AdGroupAdService,
105
- :AdGroupBidModifierService,
106
- :AdGroupCriterionService,
107
- :AdGroupExtensionSettingService,
108
- :AdGroupFeedService,
109
- :AdGroupService,
110
- :AdParamService,
111
- :AdService,
112
- :AdwordsUserListService,
113
- :AssetService,
114
- :BatchJobService,
115
- :BiddingStrategyService,
116
- :BudgetOrderService,
117
- :BudgetService,
118
- :CampaignBidModifierService,
119
- :CampaignCriterionService,
120
- :CampaignExtensionSettingService,
121
- :CampaignFeedService,
122
- :CampaignGroupService,
123
- :CampaignGroupPerformanceTargetService,
124
- :CampaignService,
125
- :CampaignSharedSetService,
126
- :ConstantDataService,
127
- :ConversionTrackerService,
128
- :CustomAffinityService,
129
- :CustomerExtensionSettingService,
130
- :CustomerFeedService,
131
- :CustomerNegativeCriterionService,
132
- :CustomerService,
133
- :CustomerSyncService,
134
- :DataService,
135
- :DraftAsyncErrorService,
136
- :DraftService,
137
- :FeedItemService,
138
- :FeedItemTargetService,
139
- :FeedMappingService,
140
- :FeedService,
141
- :LabelService,
142
- :LocationCriterionService,
143
- :ManagedCustomerService,
144
- :MediaService,
145
- :OfflineCallConversionFeedService,
146
- :OfflineConversionAdjustmentFeedService,
147
- :OfflineConversionFeedService,
148
- :OfflineDataUploadService,
149
- :ReportDefinitionService,
150
- :SharedCriterionService,
151
- :SharedSetService,
152
- :TargetingIdeaService,
153
- :TrafficEstimatorService,
154
- :TrialAsyncErrorService,
155
- :TrialService
156
- ]
157
- }
158
-
159
- # Configure the base URL for each version and scope.
160
- @@config = {
161
- :oauth_scope => 'https://www.googleapis.com/auth/adwords',
162
- :header_ns => 'https://adwords.google.com/api/adwords/cm/',
163
- :v201806 => 'https://adwords.google.com/api/adwords/',
164
- :v201809 => 'https://adwords.google.com/api/adwords/'
165
- }
166
-
167
- # Configure the subdirectories for each version / service pair.
168
- # A missing pair means that only the base URL is used.
169
- @@subdir_config = {
170
- # v201806
171
- [:v201806, :AccountLabelService] => 'mcm/',
172
- [:v201806, :AdCustomizerFeedService] => 'cm/',
173
- [:v201806, :AdGroupAdService] => 'cm/',
174
- [:v201806, :AdGroupBidModifierService] => 'cm/',
175
- [:v201806, :AdGroupCriterionService] => 'cm/',
176
- [:v201806, :AdGroupExtensionSettingService] => 'cm/',
177
- [:v201806, :AdGroupFeedService] => 'cm/',
178
- [:v201806, :AdGroupService] => 'cm/',
179
- [:v201806, :AdParamService] => 'cm/',
180
- [:v201806, :AdService] => 'cm/',
181
- [:v201806, :AdwordsUserListService] => 'rm/',
182
- [:v201806, :AssetService] => 'cm/',
183
- [:v201806, :BatchJobService] => 'cm/',
184
- [:v201806, :BiddingStrategyService] => 'cm/',
185
- [:v201806, :BudgetOrderService] => 'billing/',
186
- [:v201806, :BudgetService] => 'cm/',
187
- [:v201806, :CampaignBidModifierService] => 'cm/',
188
- [:v201806, :CampaignCriterionService] => 'cm/',
189
- [:v201806, :CampaignExtensionSettingService] => 'cm/',
190
- [:v201806, :CampaignFeedService] => 'cm/',
191
- [:v201806, :CampaignGroupService] => 'cm/',
192
- [:v201806, :CampaignGroupPerformanceTargetService] => 'cm/',
193
- [:v201806, :CampaignService] => 'cm/',
194
- [:v201806, :CampaignSharedSetService] => 'cm/',
195
- [:v201806, :ConstantDataService] => 'cm/',
196
- [:v201806, :ConversionTrackerService] => 'cm/',
197
- [:v201806, :CustomAffinityService] => 'rm/',
198
- [:v201806, :CustomerExtensionSettingService] => 'cm/',
199
- [:v201806, :CustomerFeedService] => 'cm/',
200
- [:v201806, :CustomerNegativeCriterionService] => 'cm/',
201
- [:v201806, :CustomerService] => 'mcm/',
202
- [:v201806, :CustomerSyncService] => 'ch/',
203
- [:v201806, :DraftAsyncErrorService] => 'cm/',
204
- [:v201806, :DataService] => 'cm/',
205
- [:v201806, :DraftService] => 'cm/',
206
- [:v201806, :FeedItemService] => 'cm/',
207
- [:v201806, :FeedItemTargetService] => 'cm/',
208
- [:v201806, :FeedMappingService] => 'cm/',
209
- [:v201806, :FeedService] => 'cm/',
210
- [:v201806, :LabelService] => 'cm/',
211
- [:v201806, :LocationCriterionService] => 'cm/',
212
- [:v201806, :ManagedCustomerService] => 'mcm/',
213
- [:v201806, :MediaService] => 'cm/',
214
- [:v201806, :OfflineCallConversionFeedService] => 'cm/',
215
- [:v201806, :OfflineConversionAdjustmentFeedService] => 'cm/',
216
- [:v201806, :OfflineConversionFeedService] => 'cm/',
217
- [:v201806, :OfflineDataUploadService] => 'rm/',
218
- [:v201806, :ReportDefinitionService] => 'cm/',
219
- [:v201806, :SharedCriterionService] => 'cm/',
220
- [:v201806, :SharedSetService] => 'cm/',
221
- [:v201806, :TargetingIdeaService] => 'o/',
222
- [:v201806, :TrafficEstimatorService] => 'o/',
223
- [:v201806, :TrialAsyncErrorService] => 'cm/',
224
- [:v201806, :TrialService] => 'cm/',
225
- # v201809
226
- [:v201809, :AccountLabelService] => 'mcm/',
227
- [:v201809, :AdCustomizerFeedService] => 'cm/',
228
- [:v201809, :AdGroupAdService] => 'cm/',
229
- [:v201809, :AdGroupBidModifierService] => 'cm/',
230
- [:v201809, :AdGroupCriterionService] => 'cm/',
231
- [:v201809, :AdGroupExtensionSettingService] => 'cm/',
232
- [:v201809, :AdGroupFeedService] => 'cm/',
233
- [:v201809, :AdGroupService] => 'cm/',
234
- [:v201809, :AdParamService] => 'cm/',
235
- [:v201809, :AdService] => 'cm/',
236
- [:v201809, :AdwordsUserListService] => 'rm/',
237
- [:v201809, :AssetService] => 'cm/',
238
- [:v201809, :BatchJobService] => 'cm/',
239
- [:v201809, :BiddingStrategyService] => 'cm/',
240
- [:v201809, :BudgetOrderService] => 'billing/',
241
- [:v201809, :BudgetService] => 'cm/',
242
- [:v201809, :CampaignBidModifierService] => 'cm/',
243
- [:v201809, :CampaignCriterionService] => 'cm/',
244
- [:v201809, :CampaignExtensionSettingService] => 'cm/',
245
- [:v201809, :CampaignFeedService] => 'cm/',
246
- [:v201809, :CampaignGroupService] => 'cm/',
247
- [:v201809, :CampaignGroupPerformanceTargetService] => 'cm/',
248
- [:v201809, :CampaignService] => 'cm/',
249
- [:v201809, :CampaignSharedSetService] => 'cm/',
250
- [:v201809, :ConstantDataService] => 'cm/',
251
- [:v201809, :ConversionTrackerService] => 'cm/',
252
- [:v201809, :CustomAffinityService] => 'rm/',
253
- [:v201809, :CustomerExtensionSettingService] => 'cm/',
254
- [:v201809, :CustomerFeedService] => 'cm/',
255
- [:v201809, :CustomerNegativeCriterionService] => 'cm/',
256
- [:v201809, :CustomerService] => 'mcm/',
257
- [:v201809, :CustomerSyncService] => 'ch/',
258
- [:v201809, :DraftAsyncErrorService] => 'cm/',
259
- [:v201809, :DataService] => 'cm/',
260
- [:v201809, :DraftService] => 'cm/',
261
- [:v201809, :FeedItemService] => 'cm/',
262
- [:v201809, :FeedItemTargetService] => 'cm/',
263
- [:v201809, :FeedMappingService] => 'cm/',
264
- [:v201809, :FeedService] => 'cm/',
265
- [:v201809, :LabelService] => 'cm/',
266
- [:v201809, :LocationCriterionService] => 'cm/',
267
- [:v201809, :ManagedCustomerService] => 'mcm/',
268
- [:v201809, :MediaService] => 'cm/',
269
- [:v201809, :OfflineCallConversionFeedService] => 'cm/',
270
- [:v201809, :OfflineConversionAdjustmentFeedService] => 'cm/',
271
- [:v201809, :OfflineConversionFeedService] => 'cm/',
272
- [:v201809, :OfflineDataUploadService] => 'rm/',
273
- [:v201809, :ReportDefinitionService] => 'cm/',
274
- [:v201809, :SharedCriterionService] => 'cm/',
275
- [:v201809, :SharedSetService] => 'cm/',
276
- [:v201809, :TargetingIdeaService] => 'o/',
277
- [:v201809, :TrafficEstimatorService] => 'o/',
278
- [:v201809, :TrialAsyncErrorService] => 'cm/',
279
- [:v201809, :TrialService] => 'cm/'
280
- }
281
-
282
- public
283
-
284
- # Getters for constants and module variables.
285
- def self.default_version
286
- DEFAULT_VERSION
287
- end
288
-
289
- def self.latest_version
290
- LATEST_VERSION
291
- end
292
-
293
- def self.api_name
294
- API_NAME
295
- end
296
-
297
- def self.service_config
298
- @@service_config
299
- end
300
-
301
- def self.config(key)
302
- @@config[key]
303
- end
304
-
305
- def self.subdir_config
306
- @@subdir_config
307
- end
308
-
309
- def self.default_config_filename
310
- DEFAULT_CONFIG_FILENAME
311
- end
312
-
313
- def self.headers_config
314
- @@headers_config
315
- end
316
-
317
- # Get the download URL for Ad Hoc reports.
318
- #
319
- # Args:
320
- # - version: the API version (as a symbol)
321
- #
322
- # Returns:
323
- # - The endpoint URL (as a string)
324
- #
325
- def self.adhoc_report_download_url(version)
326
- base = get_wsdl_base(version)
327
- if base
328
- base += 'reportdownload/%s' % version.to_s
329
- end
330
- return base
331
- end
332
- end
333
- end
@@ -1,334 +0,0 @@
1
- # Encoding: utf-8
2
- #
3
- # Copyright:: Copyright 2015, Google Inc. All Rights Reserved.
4
- #
5
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14
- # implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # Contains utility methods specific to using the BatchJobService.
19
-
20
- require 'nokogiri'
21
- require 'nori'
22
-
23
- require 'ads_common/http'
24
- require 'ads_common/savon_service'
25
- require 'adwords_api/errors'
26
- require 'adwords_api/incremental_upload_helper'
27
-
28
- module AdwordsApi
29
- class BatchJobUtils
30
- # Default constructor.
31
- #
32
- # Args:
33
- # - api: AdwordsApi object
34
- # - version: API version to use
35
- #
36
- def initialize(api, version)
37
- @api, @version = api, version
38
- end
39
-
40
- # Uploads the given operations for a batch job to the provided URL.
41
- #
42
- # Args:
43
- # - hash_operations: An array of ruby has operations to execute by
44
- # posting them to the provided URL
45
- # - service_name: The name of the AdwordsApi service as a symbol that would
46
- # normally make this request
47
- # - batch_job_url: The UploadURL provided by BatchJobService
48
- #
49
- # Raises:
50
- # - InvalidBatchJobOperationError: If there is a problem converting the
51
- # given operations to SOAP.
52
- #
53
- def upload_operations(operations, batch_job_url)
54
- helper = start_incremental_upload(batch_job_url)
55
- helper.upload(operations, true)
56
- end
57
-
58
- # Provides a helper to manage incremental uploads.
59
- #
60
- # Args:
61
- # - batch_job_url: The UploadURL provided by BatchJobService for new jobs,
62
- # or the upload_url from IncrementalUploadHelper for continued jobs.
63
- # - uploaded_bytes: The number of bytes already uploaded for this
64
- # incremental batch job. Can be retrieved from the IncrementalUploadHelper
65
- # using uploaded_bytes.
66
- #
67
- # Returns:
68
- # - an IncrementalUploadHelper that will accept operations and put them,
69
- # keeping track of uploaded bytes automatically.
70
- #
71
- def start_incremental_upload(batch_job_url, uploaded_bytes = 0)
72
- return AdwordsApi::IncrementalUploadHelper.new(
73
- self, uploaded_bytes, batch_job_url)
74
- end
75
-
76
- # Initializes an upload URL to get the actual URL to which to upload
77
- # operations.
78
- #
79
- # Args:
80
- # - batch_job_url: The UploadURL provided by BatchJobService
81
- #
82
- # Returns:
83
- # - The URL that should actually be used to upload operations.
84
- #
85
- def initialize_url(batch_job_url)
86
- headers = DEFAULT_HEADERS
87
- headers['Content-Length'] = 0
88
- headers['x-goog-resumable'] = 'start'
89
-
90
- response = AdsCommon::Http.post_response(
91
- batch_job_url, '', @api.config, headers)
92
-
93
- return response.headers['Location']
94
- end
95
-
96
- # Puts the provided operations to the provided URL, allowing
97
- # for incremental followup puts.
98
- #
99
- # Args:
100
- # - soap_operations: An array including SOAP operations provided by
101
- # generate_soap_operations
102
- # - batch_job_url: The UploadURL provided by BatchJobService
103
- # - total_content_length: The total number of bytes already uploaded
104
- # incrementally. Set this to 0 the first time you call the method.
105
- # - is_last_request: Whether or not this set of uploads will conclude the
106
- # full request.
107
- #
108
- # Returns:
109
- # - total content length, including what was just uploaded. Pass this back
110
- # into this method on subsequent calls.
111
- def put_incremental_operations(
112
- operations, batch_job_url, total_content_length = 0,
113
- is_last_request = false)
114
- @api.utils_reporter.batch_job_utils_used()
115
- headers = DEFAULT_HEADERS
116
- soap_operations = generate_soap_operations(operations)
117
- request_body = soap_operations.join
118
- is_first_request = (total_content_length == 0)
119
-
120
- if is_first_request
121
- request_body = (UPLOAD_XML_PREFIX % [@version]) + request_body
122
- end
123
- if is_last_request
124
- request_body += UPLOAD_XML_SUFFIX
125
- end
126
-
127
- request_body = add_padding(request_body)
128
- content_length = request_body.bytesize
129
-
130
- headers['Content-Length'] = content_length
131
-
132
- lower_bound = total_content_length
133
- upper_bound = total_content_length + content_length - 1
134
- total_bytes = is_last_request ? upper_bound + 1 : '*'
135
- content_range =
136
- "bytes %d-%d/%s" % [lower_bound, upper_bound, total_bytes]
137
-
138
- headers['Content-Range'] = content_range
139
-
140
- log_request(batch_job_url, headers, request_body)
141
-
142
- # The HTTPI library fails to handle the response when uploading
143
- # incremental requests. We're not interested in the response, so just
144
- # ignore the error.
145
- begin
146
- AdsCommon::Http.put_response(
147
- batch_job_url, request_body, @api.config, headers)
148
- rescue ArgumentError
149
- end
150
-
151
- total_content_length += content_length
152
- return total_content_length
153
- end
154
-
155
- # Downloads the results of a batch job from the specified URL.
156
- #
157
- # Args:
158
- # - batch_job_url: The URL provided by BatchJobService to fetch the results
159
- # from
160
- #
161
- # Returns:
162
- # - the results of the batch job, as a ruby hash, or nil if none yet exist
163
- #
164
- def get_job_results(batch_job_url)
165
- @api.utils_reporter.batch_job_utils_used()
166
- xml_response = AdsCommon::Http.get_response(batch_job_url, @api.config)
167
- begin
168
- return sanitize_result(
169
- get_nori().parse(xml_response.body)[:mutate_response][:rval])
170
- rescue
171
- return nil
172
- end
173
- end
174
-
175
- private
176
-
177
- # For incremental uploads, the size (in bytes) of the body of the request
178
- # must be in multiples of 256k.
179
- REQUIRED_CONTENT_LENGTH_INCREMENT = 256 * 1024
180
-
181
- UPLOAD_XML_PREFIX = '<?xml version="1.0" encoding="UTF-8"?><ns1:mutate ' +
182
- 'xmlns:ns1="https://adwords.google.com/api/adwords/cm/%s">'
183
- UPLOAD_XML_SUFFIX = '</ns1:mutate>'
184
- DEFAULT_HEADERS = {"Content-Type" => "application/xml"}
185
-
186
- SERVICES_BY_OPERATION_TYPE = {
187
- 'AdGroupAdOperation' => :AdGroupAdService,
188
- 'AdGroupAdLabelOperation' => :AdGroupAdService,
189
- 'AdGroupBidModifierOperation' => :AdGroupBidModifierService,
190
- 'AdGroupCriterionOperation' => :AdGroupCriterionService,
191
- 'AdGroupCriterionLabelOperation' => :AdGroupCriterionService,
192
- 'AdGroupExtensionSettingOperation' => :AdGroupExtensionSettingService,
193
- 'AdGroupOperation' => :AdGroupService,
194
- 'AdGroupLabelOperation' => :AdGroupService,
195
- 'BudgetOperation' => :BudgetService,
196
- 'CampaignCriterionOperation' => :CampaignCriterionService,
197
- 'CampaignExtensionSettingOperation' => :CampaignExtensionSettingService,
198
- 'CampaignLabelOperation' => :CampaignService,
199
- 'CampaignOperation' => :CampaignService,
200
- 'CampaignSharedSetOperation' => :CampaignSharedSetService,
201
- 'CustomerExtensionSettingOperation' => :CustomerExtensionSettingService,
202
- 'FeedItemOperation' => :FeedItemService,
203
- 'FeedItemTargetOperation' => :FeedItemTargetService,
204
- 'SharedCriterionOperation' => :SharedCriterionService,
205
- 'SharedSetOperation' => :SharedSetService
206
- }
207
-
208
- METHODS_BY_OPERATION_TYPE = {
209
- 'AdGroupAdOperation' => 'mutate_to_xml',
210
- 'AdGroupAdLabelOperation' => 'mutate_label_to_xml',
211
- 'AdGroupBidModifierOperation' => 'mutate_to_xml',
212
- 'AdGroupCriterionOperation' => 'mutate_to_xml',
213
- 'AdGroupCriterionLabelOperation' => 'mutate_label_to_xml',
214
- 'AdGroupExtensionSettingOperation' => 'mutate_to_xml',
215
- 'AdGroupOperation' => 'mutate_to_xml',
216
- 'AdGroupLabelOperation' => 'mutate_label_to_xml',
217
- 'BudgetOperation' => 'mutate_to_xml',
218
- 'CampaignCriterionOperation' => 'mutate_to_xml',
219
- 'CampaignExtensionSettingOperation' => 'mutate_to_xml',
220
- 'CampaignLabelOperation' => 'mutate_label_to_xml',
221
- 'CampaignOperation' => 'mutate_to_xml',
222
- 'CampaignSharedSetOperation' => 'mutate_to_xml',
223
- 'CustomerExtensionSettingOperation' => 'mutate_to_xml',
224
- 'FeedItemOperation' => 'mutate_to_xml',
225
- 'FeedItemTargetOperation' => 'mutate_to_xml',
226
- 'SharedCriterionOperation' => 'mutate_to_xml',
227
- 'SharedSetOperation' => 'mutate_to_xml'
228
- }
229
-
230
- def generate_soap_operations(hash_operations)
231
- unless hash_operations.is_a?(Array)
232
- raise AdwordsApi::Errors::InvalidBatchJobOperationError,
233
- 'Operations must be in an array.'
234
- end
235
- return hash_operations.map do |operation|
236
- operation_type = operation[:xsi_type]
237
- if operation_type.nil?
238
- raise AdwordsApi::Errors::InvalidBatchJobOperationError,
239
- ':xsi_type for operations must be defined ' +
240
- 'explicitly for batch jobs.'
241
- end
242
- service_name = SERVICES_BY_OPERATION_TYPE[operation_type]
243
- if service_name.nil?
244
- raise AdwordsApi::Errors::InvalidBatchJobOperationError,
245
- 'Unknown operation type: %s' % operation_type
246
- end
247
- method_name = METHODS_BY_OPERATION_TYPE[operation_type]
248
- service = @api.service(service_name, @version)
249
- full_soap_xml = service.send(method_name, [operation])
250
- operation_xml = extract_soap_operations(full_soap_xml)
251
- operation_xml
252
- end
253
- end
254
-
255
- # Given a full SOAP xml string, extract just the operations element
256
- # from the SOAP body as a string.
257
- def extract_soap_operations(full_soap_xml)
258
- doc = Nokogiri::XML(full_soap_xml)
259
- operations = doc.css('wsdl|operations')
260
- operations.attr('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance')
261
- operations.each do |element|
262
- check_xsi_type(element)
263
- end
264
- return operations.to_s
265
- end
266
-
267
- def check_xsi_type(xml_node)
268
- xsi_type = xml_node['xsi:type']
269
- unless xsi_type.nil? or xsi_type.start_with?('ns1:')
270
- xml_node['xsi:type'] = 'ns1:' + xsi_type
271
- end
272
- children = xml_node.children
273
- unless children.empty?
274
- children.each do |element|
275
- check_xsi_type(element)
276
- end
277
- end
278
- end
279
-
280
- # Logs the request on debug level.
281
- def log_request(url, headers, body)
282
- logger = @api.logger
283
- logger.debug("Report request to: '%s'" % url)
284
- logger.debug('HTTP headers: [%s]' %
285
- (headers.map { |k, v| [k, v].join(': ') }.join(', ')))
286
- logger.debug(body)
287
- end
288
-
289
- # Removes extraneous XML information from return hash.
290
- def sanitize_result(results)
291
- if results.is_a?(Array)
292
- ret = []
293
- results.each do |result|
294
- ret << sanitize_result(result)
295
- end
296
- return ret
297
- end
298
-
299
- if results.is_a?(Hash)
300
- ret = {}
301
- results.each do |k, v|
302
- v = sanitize_result(v) if v.is_a?(Hash)
303
- ret[k] = v unless k.to_s.start_with?('@')
304
- end
305
- return ret
306
- end
307
-
308
- return results
309
- end
310
-
311
- def add_padding(xml)
312
- remainder = xml.bytesize % REQUIRED_CONTENT_LENGTH_INCREMENT
313
- return xml if remainder == 0
314
- bytes_to_add = REQUIRED_CONTENT_LENGTH_INCREMENT - remainder
315
- padded_xml = xml + (' ' * bytes_to_add)
316
- return padded_xml
317
- end
318
-
319
- def get_nori()
320
- return @nori if @nori
321
-
322
- nori_options = {
323
- :strip_namespaces => true,
324
- :convert_tags_to => lambda { |tag| tag.snakecase.to_sym },
325
- :empty_tag_value => "",
326
- :advanced_typecasting => false
327
- }
328
-
329
- @nori = Nori.new(nori_options)
330
-
331
- return @nori
332
- end
333
- end
334
- end