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,80 +0,0 @@
1
- # Encoding: utf-8
2
- #
3
- # Copyright:: Copyright 2012, 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
- # Handles HTTP headers for AdHoc reporting requests.
19
-
20
- module AdwordsApi
21
- class ReportHeaderHandler
22
-
23
- # Initializes a header handler.
24
- #
25
- # Args:
26
- # - credential_handler: a header with credential data
27
- # - auth_handler: a header with auth data
28
- # - config: API config
29
- #
30
- def initialize(credential_handler, auth_handler, config)
31
- @credential_handler = credential_handler
32
- @auth_handler = auth_handler
33
- @config = config
34
- end
35
-
36
- # Returns the headers set for the report request.
37
- #
38
- # Args:
39
- # - url: URL for the report requests
40
- # - cid: clientCustomerId to use
41
- #
42
- # Returns:
43
- # - a Hash with HTTP headers.
44
- #
45
- def headers(url, cid)
46
- override = (cid.nil?) ? nil : {:client_customer_id => cid}
47
- credentials = @credential_handler.credentials(override)
48
- headers = {
49
- 'Content-Type' => 'application/x-www-form-urlencoded',
50
- 'Authorization' => @auth_handler.auth_string(credentials),
51
- 'User-Agent' => @credential_handler.generate_user_agent(),
52
- 'clientCustomerId' => credentials[:client_customer_id].to_s,
53
- 'developerToken' => credentials[:developer_token]
54
- }
55
- skip_report_header = @config.read('library.skip_report_header')
56
- unless skip_report_header.nil?
57
- headers['skipReportHeader'] = skip_report_header.to_s
58
- end
59
- skip_report_summary = @config.read('library.skip_report_summary')
60
- unless skip_report_summary.nil?
61
- headers['skipReportSummary'] = skip_report_summary.to_s
62
- end
63
- skip_column_header = @config.read('library.skip_column_header')
64
- unless skip_column_header.nil?
65
- headers['skipColumnHeader'] = skip_column_header.to_s
66
- end
67
- include_zero_impressions =
68
- @config.read('library.include_zero_impressions')
69
- unless include_zero_impressions.nil?
70
- headers['includeZeroImpressions'] = include_zero_impressions.to_s
71
- end
72
- use_raw_enum_values =
73
- @config.read('library.use_raw_enum_values')
74
- unless use_raw_enum_values.nil?
75
- headers['useRawEnumValues'] = use_raw_enum_values.to_s
76
- end
77
- return headers
78
- end
79
- end
80
- end
@@ -1,70 +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
- # Includes a way to iterate over a report stream by line, rather than in
19
- # arbitrary chunks.
20
-
21
- module AdwordsApi
22
- class ReportStream
23
- def initialize(report_utils, report_definition, cid = nil, format = nil,
24
- is_awql = false)
25
- @report_utils = report_utils
26
- @report_definition = report_definition
27
- @format = format
28
- @cid = cid
29
- @is_awql = is_awql
30
- end
31
-
32
- def self.set_up(report_utils, report_definition, cid = nil)
33
- return ReportStream.new(report_utils, report_definition, cid)
34
- end
35
-
36
- def self.set_up_with_awql(
37
- report_utils, report_query, format, cid = nil)
38
- return ReportStream.new(
39
- report_utils, report_query, cid, format, true)
40
- end
41
-
42
- def each_line()
43
- # Determine which method and arguments to use depending on whether
44
- # this is an AWQL request or not.
45
- method = 'download_report_as_stream'
46
- method += '_with_awql' if @is_awql
47
- args = [@report_definition]
48
- args << @format if @is_awql
49
- args << @cid
50
-
51
- leftover_data = ''
52
- @report_utils.send(method, *args) do |batch|
53
- data_to_process = leftover_data + batch
54
- leftover_data = ''
55
- while !data_to_process.valid_encoding?
56
- leftover_data = data_to_process[-1] + leftover_data
57
- data_to_process = data_to_process[0, data_to_process.length - 1]
58
- end
59
- lines = data_to_process.each_line.map {|line| line}
60
- remainder = lines.pop
61
- leftover_data = remainder + leftover_data unless remainder.nil?
62
- lines.each do |line|
63
- yield line.chomp
64
- end
65
- end
66
- yield leftover_data.chomp unless
67
- leftover_data.nil? || leftover_data.empty?
68
- end
69
- end
70
- end
@@ -1,383 +0,0 @@
1
- # Encoding: utf-8
2
- #
3
- # Copyright:: Copyright 2011, 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 reporting.
19
-
20
- require 'cgi'
21
- require 'gyoku'
22
- require 'nori'
23
-
24
- require 'ads_common/http'
25
- require 'adwords_api/errors'
26
- require 'adwords_api/report_header_handler'
27
- require 'adwords_api/report_stream'
28
-
29
- module AdwordsApi
30
- class ReportUtils
31
- # Default constructor.
32
- #
33
- # Args:
34
- # - api: AdwordsApi object
35
- # - version: API version to use
36
- #
37
- def initialize(api, version)
38
- @api, @version = api, version
39
- end
40
-
41
- # Downloads and returns a report.
42
- #
43
- # Args:
44
- # - report_definition: definition of the report in XML text or hash
45
- # - cid: optional customer ID to run against
46
- #
47
- # Returns:
48
- # - report body
49
- #
50
- # Raises:
51
- # - AdwordsApi::Errors::InvalidReportDefinitionError if the report
52
- # definition is invalid
53
- # - AdwordsApi::Errors::ReportError if server-side error occurred
54
- #
55
- def download_report(report_definition, cid = nil)
56
- return get_report_response(report_definition, cid).body
57
- end
58
-
59
- # Downloads a report and saves it to a file.
60
- #
61
- # Args:
62
- # - report_definition: definition of the report in XML text or hash
63
- # - path: path to save report to
64
- # - cid: optional customer ID to run against
65
- #
66
- # Returns:
67
- # - nil
68
- #
69
- # Raises:
70
- # - AdwordsApi::Errors::InvalidReportDefinitionError if the report
71
- # definition is invalid
72
- # - AdwordsApi::Errors::ReportError if server-side error occurred
73
- #
74
- def download_report_as_file(report_definition, path, cid = nil)
75
- report_body = download_report(report_definition, cid)
76
- save_to_file(report_body, path)
77
- return nil
78
- end
79
-
80
- # Streams a report as a string to the given block. This method will not do
81
- # error checking on returned values.
82
- #
83
- # Args:
84
- # - report_definition: definition of the report in XML text or hash
85
- # - path: path to save report to
86
- # - cid: optional customer ID to run against
87
- #
88
- # Returns:
89
- # - nil
90
- #
91
- # Raises:
92
- # - AdwordsApi::Errors::InvalidReportDefinitionError if the report
93
- # definition is invalid
94
- #
95
- def download_report_as_stream(report_definition, cid = nil, &block)
96
- return get_report_response(report_definition, cid, &block)
97
- end
98
-
99
- # Returns a helper object that can manage breaking the streamed report
100
- # results into individual lines.
101
- #
102
- # Args:
103
- # - report_definition: definition of the report in XML text or hash
104
- # - path: path to save report to
105
- # - cid: optional customer ID to run against
106
- #
107
- # Returns:
108
- # - ReportStream object initialized to begin streaming.
109
- #
110
- # Raises:
111
- # - AdwordsApi::Errors::InvalidReportDefinitionError if the report
112
- # definition is invalid
113
- #
114
- def get_stream_helper(report_definition, cid = nil)
115
- return AdwordsApi::ReportStream.set_up(
116
- self, report_definition, cid)
117
- end
118
-
119
- # Downloads and returns a report with AWQL.
120
- #
121
- # Args:
122
- # - report_query: query for the report as string
123
- # - format: format for the report as string
124
- # - cid: optional customer ID to run report against
125
- #
126
- # Returns:
127
- # - report body
128
- #
129
- # Raises:
130
- # - AdwordsApi::Errors::ReportError if a server-side error has occurred
131
- #
132
- def download_report_with_awql(report_query, format, cid = nil)
133
- return get_report_response_with_awql(report_query, format, cid).body
134
- end
135
-
136
- # Downloads a report with AWQL and saves it to a file.
137
- #
138
- # Args:
139
- # - report_query: query for the report as string
140
- # - format: format for the report as string
141
- # - path: path to save report to
142
- # - cid: optional customer ID to run report against
143
- #
144
- # Returns:
145
- # - nil
146
- #
147
- # Raises:
148
- # - AdwordsApi::Errors::ReportError if server-side error occurred
149
- #
150
- def download_report_as_file_with_awql(report_query, format, path, cid = nil)
151
- report_body = download_report_with_awql(report_query, format, cid)
152
- save_to_file(report_body, path)
153
- return nil
154
- end
155
-
156
- # Streams a report with AWQL as a string to the given block. This method
157
- # will not do error checking on returned values.
158
- #
159
- # Args:
160
- # - report_query: query for the report as string
161
- # - format: format for the report as string
162
- # - cid: optional customer ID to run report against
163
- #
164
- # Returns:
165
- # - nil
166
- #
167
- def download_report_as_stream_with_awql(
168
- report_query, format, cid = nil, &block)
169
- return get_report_response_with_awql(report_query, format, cid, &block)
170
- end
171
-
172
- # Returns a helper object that can manage breaking the streamed report
173
- # results into individual lines.
174
- #
175
- # Args:
176
- # - report_query: query for the report as string
177
- # - format: format for the report as string
178
- # - cid: optional customer ID to run report against
179
- #
180
- # Returns:
181
- # - ReportStream object initialized to begin streaming.
182
- #
183
- def get_stream_helper_with_awql(report_query, format, cid = nil)
184
- return AdwordsApi::ReportStream.set_up_with_awql(
185
- self, report_query, format, cid)
186
- end
187
-
188
- private
189
-
190
- # Minimal set of required fields for report definition.
191
- REQUIRED_FIELDS = [:selector, :report_name, :report_type, :date_range_type]
192
-
193
- # Definition fields have to be in particular order in the XML. Here is its
194
- # specification.
195
- REPORT_DEFINITION_ORDER = {
196
- :root => [:selector, :report_name, :report_type, :date_range_type,
197
- :download_format],
198
- :selector => [:fields, :predicates, :date_range, :ordering, :paging],
199
- :predicates => [:field, :operator, :values],
200
- :ordering => [:field, :sort_order],
201
- :paging => [:start_index, :number_results],
202
- :date_range => [:min, :max]
203
- }
204
-
205
- # Send POST request for a report and returns Response object.
206
- def get_report_response(report_definition, cid, &block)
207
- definition_text = get_report_definition_text(report_definition)
208
- data = '__rdxml=%s' % CGI.escape(definition_text)
209
- return make_adhoc_request(data, cid, &block)
210
- end
211
-
212
- # Send POST request for a report with AWQL and returns Response object.
213
- def get_report_response_with_awql(report_query, format, cid, &block)
214
- data = '__rdquery=%s&__fmt=%s' %
215
- [CGI.escape(report_query), CGI.escape(format)]
216
- return make_adhoc_request(data, cid, &block)
217
- end
218
-
219
- # Makes request and AdHoc service and returns response.
220
- def make_adhoc_request(data, cid, &block)
221
- @api.utils_reporter.report_utils_used()
222
- url = @api.api_config.adhoc_report_download_url(@version)
223
- headers = get_report_request_headers(url, cid)
224
- log_request(url, headers, data)
225
- # A given block indicates that we should make a stream request and yield
226
- # the results, rather than return a full response.
227
- if block_given?
228
- AdsCommon::Http.post_stream(url, data, @api.config, headers, &block)
229
- return nil
230
- else
231
- response = AdsCommon::Http.post_response(
232
- url, data, @api.config, headers)
233
- log_headers(response.headers)
234
- check_for_errors(response)
235
- return response
236
- end
237
- end
238
-
239
- # Converts passed object to XML text. Currently support String (no changes)
240
- # and Hash (renders XML).
241
- def get_report_definition_text(report_definition)
242
- return case report_definition
243
- when String then report_definition
244
- when Hash then report_definition_to_xml(report_definition)
245
- else
246
- raise AdwordsApi::Errors::InvalidReportDefinitionError,
247
- 'Unknown object for report definition: %s' %
248
- report_definition.class
249
- end
250
- end
251
-
252
- # Prepares headers for report request.
253
- def get_report_request_headers(url, cid)
254
- @header_handler ||= AdwordsApi::ReportHeaderHandler.new(
255
- @api.credential_handler, @api.get_auth_handler(), @api.config)
256
- return @header_handler.headers(url, cid)
257
- end
258
-
259
- # Saves raw data to a file.
260
- def save_to_file(data, path)
261
- open(path, 'wb') { |file| file.write(data) } if path
262
- end
263
-
264
- # Logs the request on debug level.
265
- def log_request(url, headers, body)
266
- @api.logger.debug("Report request to: '%s'" % url)
267
- log_headers(headers)
268
- @api.logger.debug(body)
269
- end
270
-
271
- # Logs HTTP headers on debug level.
272
- def log_headers(headers)
273
- @api.logger.debug('HTTP headers: [%s]' %
274
- (headers.map { |k, v| [k, v].join(': ') }.join(', ')))
275
- end
276
-
277
- # Checks downloaded data for error signature. Raises ReportError if it
278
- # detects an error.
279
- def check_for_errors(response)
280
- # Check for error code.
281
- if response.code != 200
282
- # Check for error in body.
283
- report_body = response.body
284
- check_for_xml_error(report_body, response.code)
285
- # No XML error found nor raised, falling back to a default message.
286
- raise AdwordsApi::Errors::ReportError.new(response.code,
287
- 'HTTP code: %d, body: %s' % [response.code, response.body])
288
- end
289
- return nil
290
- end
291
-
292
- # Checks for an XML error in the response body and raises an exception if
293
- # it was found.
294
- def check_for_xml_error(report_body, response_code)
295
- unless report_body.nil?
296
- error_response = get_nori().parse(report_body)
297
- if error_response.include?(:report_download_error) and
298
- error_response[:report_download_error].include?(:api_error)
299
- api_error = error_response[:report_download_error][:api_error]
300
- raise AdwordsApi::Errors::ReportXmlError.new(response_code,
301
- api_error[:type], api_error[:trigger], api_error[:field_path])
302
- end
303
- end
304
- end
305
-
306
- # Renders a report definition hash into XML text.
307
- def report_definition_to_xml(report_definition)
308
- check_report_definition_hash(report_definition)
309
- add_report_definition_hash_order(report_definition)
310
- begin
311
- return Gyoku.xml({:report_definition => report_definition})
312
- rescue ArgumentError => e
313
- if e.message.include?("order!")
314
- unknown_fields =
315
- e.message.slice(e.message.index('['), e.message.length)
316
- raise AdwordsApi::Errors::InvalidReportDefinitionError,
317
- "Unknown report definition field(s): %s" % unknown_fields
318
- end
319
- raise e
320
- end
321
- end
322
-
323
- # Checks if the report definition looks correct.
324
- def check_report_definition_hash(report_definition)
325
- # Minimal set of fields required.
326
- REQUIRED_FIELDS.each do |field|
327
- unless report_definition.include?(field)
328
- raise AdwordsApi::Errors::InvalidReportDefinitionError,
329
- "Required field '%s' is missing in the definition" % field
330
- end
331
- end
332
- # Fields list is also required.
333
- unless report_definition[:selector].include?(:fields)
334
- raise AdwordsApi::Errors::InvalidReportDefinitionError,
335
- 'Fields list is required'
336
- end
337
- # 'Fields' must be an Array.
338
- unless report_definition[:selector][:fields].kind_of?(Array)
339
- raise AdwordsApi::Errors::InvalidReportDefinitionError,
340
- 'Fields list must be an array'
341
- end
342
- # We should request at least one field.
343
- if report_definition[:selector][:fields].empty?
344
- raise AdwordsApi::Errors::InvalidReportDefinitionError,
345
- 'At least one field needs to be requested'
346
- end
347
- end
348
-
349
- # Adds fields order hint to generator based on specification.
350
- def add_report_definition_hash_order(node, name = :root)
351
- def_order = REPORT_DEFINITION_ORDER[name]
352
- var_order = def_order.reject { |field| !node.include?(field) }
353
- node.keys.each do |key|
354
- if REPORT_DEFINITION_ORDER.include?(key)
355
- case node[key]
356
- when Hash
357
- add_report_definition_hash_order(node[key], key)
358
- when Array
359
- node[key].each do |item|
360
- add_report_definition_hash_order(item, key)
361
- end
362
- end
363
- end
364
- end
365
- node[:order!] = var_order
366
- return nil
367
- end
368
-
369
- def get_nori()
370
- return @nori if @nori
371
-
372
- nori_options = {
373
- :strip_namespaces => true,
374
- :convert_tags_to => lambda { |tag| tag.snakecase.to_sym },
375
- :advanced_typecasting => false
376
- }
377
-
378
- @nori = Nori.new(nori_options)
379
-
380
- return @nori
381
- end
382
- end
383
- end
@@ -1,56 +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
- # Contains global utility methods.
19
-
20
- module AdwordsApi
21
- module Utils
22
-
23
- # Returns the source operation index for an error.
24
- #
25
- # Args:
26
- # - error: the error to be analyzed
27
- #
28
- # Returns:
29
- # - index for the source operation, nil if none
30
- #
31
- def self.operation_index_for_error(error)
32
- if error and error[:field_path] and error[:field_path].kind_of?(String)
33
- match = error[:field_path].match(/operations\[(\d+)\]/)
34
- return match ? match[1].to_i : nil
35
- end
36
- return nil
37
- end
38
-
39
- # Auxiliary method to format an ID to the pattern ###-###-####.
40
- #
41
- # Args:
42
- # - id: ID in unformatted form
43
- #
44
- # Returns:
45
- # - string containing the formatted ID
46
- #
47
- def self.format_id(id)
48
- str_id = id.to_s.gsub(/\D/, '')
49
- if str_id.size >= 7
50
- str_array = str_id.scan(/(\d{3})(\d{3})(\d+)/)
51
- str_id = str_array.join('-') unless str_array.empty?
52
- end
53
- return str_id
54
- end
55
- end
56
- end
@@ -1,58 +0,0 @@
1
- # Encoding: utf-8
2
- #
3
- # Copyright:: Copyright 2016, 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 methods to help configure the user agent string to report on utility
19
- # usage.
20
-
21
- require 'adwords_api/credential_handler'
22
-
23
- module AdwordsApi
24
- class UtilsReporter
25
- # Default constructor.
26
- #
27
- # Args:
28
- # - credential_handler: The CredentialHandler being used by the current
29
- # AdwordsApi instance.
30
- def initialize(credential_handler)
31
- @credential_handler = credential_handler
32
- end
33
-
34
- # A callback method from report utils to indicate that it has been used,
35
- # and that its usage should be recorded in the next user agent string.
36
- def report_utils_used()
37
- @credential_handler.include_in_user_agent("ReportDownloader")
38
- end
39
-
40
- # A callback method from batch job utils to indicate that it has been used,
41
- # and that its usage should be recorded in the next user agent string.
42
- def batch_job_utils_used()
43
- @credential_handler.include_in_user_agent("BatchJobHelper")
44
- end
45
-
46
- # A callback method from report query builder to indicate that it has been
47
- # used, and that its usage should be recorded in the next user agent string.
48
- def report_query_builder_used()
49
- @credential_handler.include_in_user_agent("ReportQueryBuilder")
50
- end
51
-
52
- # A callback method from service query builder to indicate that it has been
53
- # used, and that its usage should be recorded in the next user agent string.
54
- def service_query_builder_used()
55
- @credential_handler.include_in_user_agent("ServiceQueryBuilder")
56
- end
57
- end
58
- end
@@ -1,46 +0,0 @@
1
- # Encoding: utf-8
2
- #
3
- # This is auto-generated code, changes will be overwritten.
4
- #
5
- # Copyright:: Copyright 2017, Google Inc. All Rights Reserved.
6
- # License:: Licensed under the Apache License, Version 2.0.
7
- #
8
- # Code generated by AdsCommon library 1.0.0 on 2017-10-11 08:45:02.
9
-
10
- require 'ads_common/savon_service'
11
- require 'adwords_api/v201710/account_label_service_registry'
12
-
13
- module AdwordsApi; module V201710; module AccountLabelService
14
- class AccountLabelService < AdsCommon::SavonService
15
- def initialize(config, endpoint)
16
- namespace = 'https://adwords.google.com/api/adwords/mcm/v201710'
17
- super(config, endpoint, namespace, :v201710)
18
- end
19
-
20
- def get(*args, &block)
21
- return execute_action('get', args, &block)
22
- end
23
-
24
- def get_to_xml(*args)
25
- return get_soap_xml('get', args)
26
- end
27
-
28
- def mutate(*args, &block)
29
- return execute_action('mutate', args, &block)
30
- end
31
-
32
- def mutate_to_xml(*args)
33
- return get_soap_xml('mutate', args)
34
- end
35
-
36
- private
37
-
38
- def get_service_registry()
39
- return AccountLabelServiceRegistry
40
- end
41
-
42
- def get_module()
43
- return AdwordsApi::V201710::AccountLabelService
44
- end
45
- end
46
- end; end; end