google-adwords-api 0.18.1 → 0.18.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (441) hide show
  1. checksums.yaml +4 -4
  2. data/COPYING +0 -0
  3. data/ChangeLog +7 -0
  4. data/README.md +8 -29
  5. data/adwords_api.yml +2 -0
  6. data/examples/v201506/reporting/parallel_report_download.rb +1 -3
  7. data/examples/v201509/reporting/parallel_report_download.rb +1 -3
  8. data/examples/v201601/reporting/parallel_report_download.rb +1 -3
  9. data/examples/v201603/account_management/create_account.rb +88 -0
  10. data/examples/v201603/account_management/get_account_changes.rb +135 -0
  11. data/examples/v201603/account_management/get_account_hierarchy.rb +132 -0
  12. data/examples/v201603/advanced_operations/add_ad_customizers.rb +184 -0
  13. data/examples/v201603/advanced_operations/add_ad_group_bid_modifier.rb +101 -0
  14. data/examples/v201603/advanced_operations/add_click_to_download_ad.rb +133 -0
  15. data/examples/v201603/advanced_operations/add_html5_ad.rb +137 -0
  16. data/examples/v201603/advanced_operations/add_keywords_using_incremental_batch_job.rb +210 -0
  17. data/examples/v201603/advanced_operations/add_text_ad_with_upgraded_urls.rb +134 -0
  18. data/examples/v201603/advanced_operations/create_and_attach_shared_keyword_set.rb +141 -0
  19. data/examples/v201603/advanced_operations/find_and_remove_criteria_from_shared_set.rb +174 -0
  20. data/examples/v201603/advanced_operations/get_ad_group_bid_modifiers.rb +102 -0
  21. data/examples/v201603/advanced_operations/use_portfolio_bidding_strategy.rb +146 -0
  22. data/examples/v201603/basic_operations/add_ad_groups.rb +142 -0
  23. data/examples/v201603/basic_operations/add_campaigns.rb +138 -0
  24. data/examples/v201603/basic_operations/add_keywords.rb +114 -0
  25. data/examples/v201603/basic_operations/add_text_ads.rb +109 -0
  26. data/examples/v201603/basic_operations/get_ad_groups.rb +102 -0
  27. data/examples/v201603/basic_operations/get_campaigns.rb +97 -0
  28. data/examples/v201603/basic_operations/get_campaigns_with_awql.rb +89 -0
  29. data/examples/v201603/basic_operations/get_keywords.rb +109 -0
  30. data/examples/v201603/basic_operations/get_text_ads.rb +110 -0
  31. data/examples/v201603/basic_operations/pause_ad.rb +88 -0
  32. data/examples/v201603/basic_operations/remove_ad.rb +89 -0
  33. data/examples/v201603/basic_operations/remove_ad_group.rb +85 -0
  34. data/examples/v201603/basic_operations/remove_campaign.rb +87 -0
  35. data/examples/v201603/basic_operations/remove_keyword.rb +94 -0
  36. data/examples/v201603/basic_operations/update_ad_group.rb +85 -0
  37. data/examples/v201603/basic_operations/update_campaign.rb +86 -0
  38. data/examples/v201603/basic_operations/update_keyword.rb +106 -0
  39. data/examples/v201603/campaign_management/add_campaign_labels.rb +82 -0
  40. data/examples/v201603/campaign_management/add_complete_campaigns_using_batch_job.rb +355 -0
  41. data/examples/v201603/campaign_management/add_draft.rb +114 -0
  42. data/examples/v201603/campaign_management/add_experiment.rb +162 -0
  43. data/examples/v201603/campaign_management/add_trial.rb +142 -0
  44. data/examples/v201603/campaign_management/get_all_disapproved_ads.rb +97 -0
  45. data/examples/v201603/campaign_management/get_all_disapproved_ads_with_awql.rb +89 -0
  46. data/examples/v201603/campaign_management/get_campaigns_by_label.rb +108 -0
  47. data/examples/v201603/campaign_management/graduate_trial.rb +106 -0
  48. data/examples/v201603/campaign_management/promote_experiment.rb +81 -0
  49. data/examples/v201603/campaign_management/set_ad_parameters.rb +118 -0
  50. data/examples/v201603/campaign_management/set_criterion_bid_modifier.rb +104 -0
  51. data/examples/v201603/campaign_management/validate_text_ad.rb +110 -0
  52. data/examples/v201603/error_handling/handle_partial_failures.rb +130 -0
  53. data/examples/v201603/error_handling/handle_policy_violation_error.rb +141 -0
  54. data/examples/v201603/extensions/add_google_my_business_location_extensions.rb +193 -0
  55. data/examples/v201603/extensions/add_site_links.rb +184 -0
  56. data/examples/v201603/extensions/add_site_links_using_feeds.rb +281 -0
  57. data/examples/v201603/migration/migrate_to_extension_settings.rb +386 -0
  58. data/examples/v201603/migration/upgrade_ad_url.rb +93 -0
  59. data/examples/v201603/misc/get_all_images_and_videos.rb +104 -0
  60. data/examples/v201603/misc/setup_oauth2.rb +84 -0
  61. data/examples/v201603/misc/upload_image.rb +93 -0
  62. data/examples/v201603/misc/upload_media_bundle.rb +90 -0
  63. data/examples/v201603/misc/use_oauth2_jwt.rb +93 -0
  64. data/examples/v201603/misc/use_runtime_config.rb +92 -0
  65. data/examples/v201603/optimization/estimate_keyword_traffic.rb +146 -0
  66. data/examples/v201603/optimization/get_campaign_criterion_bid_modifier_simulations.rb +128 -0
  67. data/examples/v201603/optimization/get_keyword_bid_simulations.rb +95 -0
  68. data/examples/v201603/optimization/get_keyword_ideas.rb +136 -0
  69. data/examples/v201603/remarketing/add_audience.rb +118 -0
  70. data/examples/v201603/remarketing/add_conversion_tracker.rb +97 -0
  71. data/examples/v201603/remarketing/add_crm_based_user_list.rb +116 -0
  72. data/examples/v201603/remarketing/add_rule_based_user_lists.rb +167 -0
  73. data/examples/v201603/remarketing/upload_offline_conversions.rb +98 -0
  74. data/examples/v201603/reporting/download_criteria_report.rb +92 -0
  75. data/examples/v201603/reporting/download_criteria_report_with_awql.rb +93 -0
  76. data/examples/v201603/reporting/get_report_fields.rb +75 -0
  77. data/examples/v201603/reporting/parallel_report_download.rb +164 -0
  78. data/examples/v201603/reporting/stream_criteria_report_results.rb +97 -0
  79. data/examples/v201603/shopping_campaigns/add_product_partition_tree.rb +267 -0
  80. data/examples/v201603/shopping_campaigns/add_product_scope.rb +129 -0
  81. data/examples/v201603/shopping_campaigns/add_shopping_campaign.rb +129 -0
  82. data/examples/v201603/shopping_campaigns/get_product_category_taxonomy.rb +115 -0
  83. data/examples/v201603/targeting/add_campaign_targeting_criteria.rb +180 -0
  84. data/examples/v201603/targeting/add_demographic_targeting_criteria.rb +112 -0
  85. data/examples/v201603/targeting/get_campaign_targeting_criteria.rb +106 -0
  86. data/examples/v201603/targeting/get_targetable_languages_and_carriers.rb +89 -0
  87. data/examples/v201603/targeting/lookup_location.rb +108 -0
  88. data/lib/adwords_api.rb +4 -0
  89. data/lib/adwords_api/api_config.rb +96 -4
  90. data/lib/adwords_api/batch_job_utils.rb +2 -0
  91. data/lib/adwords_api/credential_handler.rb +0 -0
  92. data/lib/adwords_api/errors.rb +0 -0
  93. data/lib/adwords_api/incremental_upload_helper.rb +0 -0
  94. data/lib/adwords_api/report_header_handler.rb +0 -0
  95. data/lib/adwords_api/report_stream.rb +0 -0
  96. data/lib/adwords_api/report_utils.rb +2 -1
  97. data/lib/adwords_api/utils.rb +0 -0
  98. data/lib/adwords_api/utils_reporter.rb +46 -0
  99. data/lib/adwords_api/v201506/account_label_service.rb +0 -0
  100. data/lib/adwords_api/v201506/account_label_service_registry.rb +0 -0
  101. data/lib/adwords_api/v201506/ad_customizer_feed_service.rb +0 -0
  102. data/lib/adwords_api/v201506/ad_customizer_feed_service_registry.rb +0 -0
  103. data/lib/adwords_api/v201506/ad_group_ad_service.rb +0 -0
  104. data/lib/adwords_api/v201506/ad_group_ad_service_registry.rb +0 -0
  105. data/lib/adwords_api/v201506/ad_group_bid_modifier_service.rb +0 -0
  106. data/lib/adwords_api/v201506/ad_group_bid_modifier_service_registry.rb +0 -0
  107. data/lib/adwords_api/v201506/ad_group_criterion_service.rb +0 -0
  108. data/lib/adwords_api/v201506/ad_group_criterion_service_registry.rb +0 -0
  109. data/lib/adwords_api/v201506/ad_group_extension_setting_service.rb +0 -0
  110. data/lib/adwords_api/v201506/ad_group_extension_setting_service_registry.rb +0 -0
  111. data/lib/adwords_api/v201506/ad_group_feed_service.rb +0 -0
  112. data/lib/adwords_api/v201506/ad_group_feed_service_registry.rb +0 -0
  113. data/lib/adwords_api/v201506/ad_group_service.rb +0 -0
  114. data/lib/adwords_api/v201506/ad_group_service_registry.rb +0 -0
  115. data/lib/adwords_api/v201506/ad_param_service.rb +0 -0
  116. data/lib/adwords_api/v201506/ad_param_service_registry.rb +0 -0
  117. data/lib/adwords_api/v201506/adwords_user_list_service.rb +0 -0
  118. data/lib/adwords_api/v201506/adwords_user_list_service_registry.rb +0 -0
  119. data/lib/adwords_api/v201506/bidding_strategy_service.rb +0 -0
  120. data/lib/adwords_api/v201506/bidding_strategy_service_registry.rb +0 -0
  121. data/lib/adwords_api/v201506/budget_order_service.rb +0 -0
  122. data/lib/adwords_api/v201506/budget_order_service_registry.rb +0 -0
  123. data/lib/adwords_api/v201506/budget_service.rb +0 -0
  124. data/lib/adwords_api/v201506/budget_service_registry.rb +0 -0
  125. data/lib/adwords_api/v201506/campaign_criterion_service.rb +0 -0
  126. data/lib/adwords_api/v201506/campaign_criterion_service_registry.rb +0 -0
  127. data/lib/adwords_api/v201506/campaign_extension_setting_service.rb +0 -0
  128. data/lib/adwords_api/v201506/campaign_extension_setting_service_registry.rb +0 -0
  129. data/lib/adwords_api/v201506/campaign_feed_service.rb +0 -0
  130. data/lib/adwords_api/v201506/campaign_feed_service_registry.rb +0 -0
  131. data/lib/adwords_api/v201506/campaign_service.rb +0 -0
  132. data/lib/adwords_api/v201506/campaign_service_registry.rb +0 -0
  133. data/lib/adwords_api/v201506/campaign_shared_set_service.rb +0 -0
  134. data/lib/adwords_api/v201506/campaign_shared_set_service_registry.rb +0 -0
  135. data/lib/adwords_api/v201506/constant_data_service.rb +0 -0
  136. data/lib/adwords_api/v201506/constant_data_service_registry.rb +0 -0
  137. data/lib/adwords_api/v201506/conversion_tracker_service.rb +0 -0
  138. data/lib/adwords_api/v201506/conversion_tracker_service_registry.rb +0 -0
  139. data/lib/adwords_api/v201506/customer_extension_setting_service.rb +0 -0
  140. data/lib/adwords_api/v201506/customer_extension_setting_service_registry.rb +0 -0
  141. data/lib/adwords_api/v201506/customer_feed_service.rb +0 -0
  142. data/lib/adwords_api/v201506/customer_feed_service_registry.rb +0 -0
  143. data/lib/adwords_api/v201506/customer_service.rb +0 -0
  144. data/lib/adwords_api/v201506/customer_service_registry.rb +0 -0
  145. data/lib/adwords_api/v201506/customer_sync_service.rb +0 -0
  146. data/lib/adwords_api/v201506/customer_sync_service_registry.rb +0 -0
  147. data/lib/adwords_api/v201506/data_service.rb +0 -0
  148. data/lib/adwords_api/v201506/data_service_registry.rb +0 -0
  149. data/lib/adwords_api/v201506/experiment_service.rb +0 -0
  150. data/lib/adwords_api/v201506/experiment_service_registry.rb +0 -0
  151. data/lib/adwords_api/v201506/feed_item_service.rb +0 -0
  152. data/lib/adwords_api/v201506/feed_item_service_registry.rb +0 -0
  153. data/lib/adwords_api/v201506/feed_mapping_service.rb +0 -0
  154. data/lib/adwords_api/v201506/feed_mapping_service_registry.rb +0 -0
  155. data/lib/adwords_api/v201506/feed_service.rb +0 -0
  156. data/lib/adwords_api/v201506/feed_service_registry.rb +0 -0
  157. data/lib/adwords_api/v201506/geo_location_service.rb +0 -0
  158. data/lib/adwords_api/v201506/geo_location_service_registry.rb +0 -0
  159. data/lib/adwords_api/v201506/label_service.rb +0 -0
  160. data/lib/adwords_api/v201506/label_service_registry.rb +0 -0
  161. data/lib/adwords_api/v201506/location_criterion_service.rb +0 -0
  162. data/lib/adwords_api/v201506/location_criterion_service_registry.rb +0 -0
  163. data/lib/adwords_api/v201506/managed_customer_service.rb +0 -0
  164. data/lib/adwords_api/v201506/managed_customer_service_registry.rb +0 -0
  165. data/lib/adwords_api/v201506/media_service.rb +0 -0
  166. data/lib/adwords_api/v201506/media_service_registry.rb +0 -0
  167. data/lib/adwords_api/v201506/mutate_job_service.rb +0 -0
  168. data/lib/adwords_api/v201506/mutate_job_service_registry.rb +0 -0
  169. data/lib/adwords_api/v201506/offline_conversion_feed_service.rb +0 -0
  170. data/lib/adwords_api/v201506/offline_conversion_feed_service_registry.rb +0 -0
  171. data/lib/adwords_api/v201506/report_definition_service.rb +0 -0
  172. data/lib/adwords_api/v201506/report_definition_service_registry.rb +0 -0
  173. data/lib/adwords_api/v201506/shared_criterion_service.rb +0 -0
  174. data/lib/adwords_api/v201506/shared_criterion_service_registry.rb +0 -0
  175. data/lib/adwords_api/v201506/shared_set_service.rb +0 -0
  176. data/lib/adwords_api/v201506/shared_set_service_registry.rb +0 -0
  177. data/lib/adwords_api/v201506/targeting_idea_service.rb +0 -0
  178. data/lib/adwords_api/v201506/targeting_idea_service_registry.rb +0 -0
  179. data/lib/adwords_api/v201506/traffic_estimator_service.rb +0 -0
  180. data/lib/adwords_api/v201506/traffic_estimator_service_registry.rb +0 -0
  181. data/lib/adwords_api/v201509/account_label_service.rb +0 -0
  182. data/lib/adwords_api/v201509/account_label_service_registry.rb +0 -0
  183. data/lib/adwords_api/v201509/ad_customizer_feed_service.rb +0 -0
  184. data/lib/adwords_api/v201509/ad_customizer_feed_service_registry.rb +0 -0
  185. data/lib/adwords_api/v201509/ad_group_ad_service.rb +0 -0
  186. data/lib/adwords_api/v201509/ad_group_ad_service_registry.rb +0 -0
  187. data/lib/adwords_api/v201509/ad_group_bid_modifier_service.rb +0 -0
  188. data/lib/adwords_api/v201509/ad_group_bid_modifier_service_registry.rb +0 -0
  189. data/lib/adwords_api/v201509/ad_group_criterion_service.rb +0 -0
  190. data/lib/adwords_api/v201509/ad_group_criterion_service_registry.rb +0 -0
  191. data/lib/adwords_api/v201509/ad_group_extension_setting_service.rb +0 -0
  192. data/lib/adwords_api/v201509/ad_group_extension_setting_service_registry.rb +0 -0
  193. data/lib/adwords_api/v201509/ad_group_feed_service.rb +0 -0
  194. data/lib/adwords_api/v201509/ad_group_feed_service_registry.rb +0 -0
  195. data/lib/adwords_api/v201509/ad_group_service.rb +0 -0
  196. data/lib/adwords_api/v201509/ad_group_service_registry.rb +0 -0
  197. data/lib/adwords_api/v201509/ad_param_service.rb +0 -0
  198. data/lib/adwords_api/v201509/ad_param_service_registry.rb +0 -0
  199. data/lib/adwords_api/v201509/adwords_user_list_service.rb +0 -0
  200. data/lib/adwords_api/v201509/adwords_user_list_service_registry.rb +0 -0
  201. data/lib/adwords_api/v201509/batch_job_service.rb +0 -0
  202. data/lib/adwords_api/v201509/batch_job_service_registry.rb +0 -0
  203. data/lib/adwords_api/v201509/bidding_strategy_service.rb +0 -0
  204. data/lib/adwords_api/v201509/bidding_strategy_service_registry.rb +0 -0
  205. data/lib/adwords_api/v201509/budget_order_service.rb +0 -0
  206. data/lib/adwords_api/v201509/budget_order_service_registry.rb +0 -0
  207. data/lib/adwords_api/v201509/budget_service.rb +0 -0
  208. data/lib/adwords_api/v201509/budget_service_registry.rb +0 -0
  209. data/lib/adwords_api/v201509/campaign_criterion_service.rb +0 -0
  210. data/lib/adwords_api/v201509/campaign_criterion_service_registry.rb +0 -0
  211. data/lib/adwords_api/v201509/campaign_extension_setting_service.rb +0 -0
  212. data/lib/adwords_api/v201509/campaign_extension_setting_service_registry.rb +0 -0
  213. data/lib/adwords_api/v201509/campaign_feed_service.rb +0 -0
  214. data/lib/adwords_api/v201509/campaign_feed_service_registry.rb +0 -0
  215. data/lib/adwords_api/v201509/campaign_service.rb +0 -0
  216. data/lib/adwords_api/v201509/campaign_service_registry.rb +0 -0
  217. data/lib/adwords_api/v201509/campaign_shared_set_service.rb +0 -0
  218. data/lib/adwords_api/v201509/campaign_shared_set_service_registry.rb +0 -0
  219. data/lib/adwords_api/v201509/constant_data_service.rb +0 -0
  220. data/lib/adwords_api/v201509/constant_data_service_registry.rb +0 -0
  221. data/lib/adwords_api/v201509/conversion_tracker_service.rb +0 -0
  222. data/lib/adwords_api/v201509/conversion_tracker_service_registry.rb +0 -0
  223. data/lib/adwords_api/v201509/customer_extension_setting_service.rb +0 -0
  224. data/lib/adwords_api/v201509/customer_extension_setting_service_registry.rb +0 -0
  225. data/lib/adwords_api/v201509/customer_feed_service.rb +0 -0
  226. data/lib/adwords_api/v201509/customer_feed_service_registry.rb +0 -0
  227. data/lib/adwords_api/v201509/customer_service.rb +0 -0
  228. data/lib/adwords_api/v201509/customer_service_registry.rb +0 -0
  229. data/lib/adwords_api/v201509/customer_sync_service.rb +0 -0
  230. data/lib/adwords_api/v201509/customer_sync_service_registry.rb +0 -0
  231. data/lib/adwords_api/v201509/data_service.rb +0 -0
  232. data/lib/adwords_api/v201509/data_service_registry.rb +0 -0
  233. data/lib/adwords_api/v201509/experiment_service.rb +0 -0
  234. data/lib/adwords_api/v201509/experiment_service_registry.rb +0 -0
  235. data/lib/adwords_api/v201509/feed_item_service.rb +0 -0
  236. data/lib/adwords_api/v201509/feed_item_service_registry.rb +0 -0
  237. data/lib/adwords_api/v201509/feed_mapping_service.rb +0 -0
  238. data/lib/adwords_api/v201509/feed_mapping_service_registry.rb +0 -0
  239. data/lib/adwords_api/v201509/feed_service.rb +0 -0
  240. data/lib/adwords_api/v201509/feed_service_registry.rb +0 -0
  241. data/lib/adwords_api/v201509/label_service.rb +0 -0
  242. data/lib/adwords_api/v201509/label_service_registry.rb +0 -0
  243. data/lib/adwords_api/v201509/location_criterion_service.rb +0 -0
  244. data/lib/adwords_api/v201509/location_criterion_service_registry.rb +0 -0
  245. data/lib/adwords_api/v201509/managed_customer_service.rb +0 -0
  246. data/lib/adwords_api/v201509/managed_customer_service_registry.rb +0 -0
  247. data/lib/adwords_api/v201509/media_service.rb +0 -0
  248. data/lib/adwords_api/v201509/media_service_registry.rb +0 -0
  249. data/lib/adwords_api/v201509/mutate_job_service.rb +0 -0
  250. data/lib/adwords_api/v201509/mutate_job_service_registry.rb +0 -0
  251. data/lib/adwords_api/v201509/offline_conversion_feed_service.rb +0 -0
  252. data/lib/adwords_api/v201509/offline_conversion_feed_service_registry.rb +0 -0
  253. data/lib/adwords_api/v201509/report_definition_service.rb +0 -0
  254. data/lib/adwords_api/v201509/report_definition_service_registry.rb +0 -0
  255. data/lib/adwords_api/v201509/shared_criterion_service.rb +0 -0
  256. data/lib/adwords_api/v201509/shared_criterion_service_registry.rb +0 -0
  257. data/lib/adwords_api/v201509/shared_set_service.rb +0 -0
  258. data/lib/adwords_api/v201509/shared_set_service_registry.rb +0 -0
  259. data/lib/adwords_api/v201509/targeting_idea_service.rb +0 -0
  260. data/lib/adwords_api/v201509/targeting_idea_service_registry.rb +0 -0
  261. data/lib/adwords_api/v201509/traffic_estimator_service.rb +0 -0
  262. data/lib/adwords_api/v201509/traffic_estimator_service_registry.rb +0 -0
  263. data/lib/adwords_api/v201601/account_label_service.rb +0 -0
  264. data/lib/adwords_api/v201601/account_label_service_registry.rb +0 -0
  265. data/lib/adwords_api/v201601/ad_customizer_feed_service.rb +0 -0
  266. data/lib/adwords_api/v201601/ad_customizer_feed_service_registry.rb +0 -0
  267. data/lib/adwords_api/v201601/ad_group_ad_service.rb +0 -0
  268. data/lib/adwords_api/v201601/ad_group_ad_service_registry.rb +0 -0
  269. data/lib/adwords_api/v201601/ad_group_bid_modifier_service.rb +0 -0
  270. data/lib/adwords_api/v201601/ad_group_bid_modifier_service_registry.rb +0 -0
  271. data/lib/adwords_api/v201601/ad_group_criterion_service.rb +0 -0
  272. data/lib/adwords_api/v201601/ad_group_criterion_service_registry.rb +0 -0
  273. data/lib/adwords_api/v201601/ad_group_extension_setting_service.rb +0 -0
  274. data/lib/adwords_api/v201601/ad_group_extension_setting_service_registry.rb +0 -0
  275. data/lib/adwords_api/v201601/ad_group_feed_service.rb +0 -0
  276. data/lib/adwords_api/v201601/ad_group_feed_service_registry.rb +0 -0
  277. data/lib/adwords_api/v201601/ad_group_service.rb +0 -0
  278. data/lib/adwords_api/v201601/ad_group_service_registry.rb +0 -0
  279. data/lib/adwords_api/v201601/ad_param_service.rb +0 -0
  280. data/lib/adwords_api/v201601/ad_param_service_registry.rb +0 -0
  281. data/lib/adwords_api/v201601/adwords_user_list_service.rb +0 -0
  282. data/lib/adwords_api/v201601/adwords_user_list_service_registry.rb +0 -0
  283. data/lib/adwords_api/v201601/batch_job_service.rb +0 -0
  284. data/lib/adwords_api/v201601/batch_job_service_registry.rb +0 -0
  285. data/lib/adwords_api/v201601/bidding_strategy_service.rb +0 -0
  286. data/lib/adwords_api/v201601/bidding_strategy_service_registry.rb +0 -0
  287. data/lib/adwords_api/v201601/budget_order_service.rb +0 -0
  288. data/lib/adwords_api/v201601/budget_order_service_registry.rb +0 -0
  289. data/lib/adwords_api/v201601/budget_service.rb +0 -0
  290. data/lib/adwords_api/v201601/budget_service_registry.rb +0 -0
  291. data/lib/adwords_api/v201601/campaign_criterion_service.rb +0 -0
  292. data/lib/adwords_api/v201601/campaign_criterion_service_registry.rb +0 -0
  293. data/lib/adwords_api/v201601/campaign_extension_setting_service.rb +0 -0
  294. data/lib/adwords_api/v201601/campaign_extension_setting_service_registry.rb +0 -0
  295. data/lib/adwords_api/v201601/campaign_feed_service.rb +0 -0
  296. data/lib/adwords_api/v201601/campaign_feed_service_registry.rb +0 -0
  297. data/lib/adwords_api/v201601/campaign_service.rb +0 -0
  298. data/lib/adwords_api/v201601/campaign_service_registry.rb +0 -0
  299. data/lib/adwords_api/v201601/campaign_shared_set_service.rb +0 -0
  300. data/lib/adwords_api/v201601/campaign_shared_set_service_registry.rb +0 -0
  301. data/lib/adwords_api/v201601/constant_data_service.rb +0 -0
  302. data/lib/adwords_api/v201601/constant_data_service_registry.rb +0 -0
  303. data/lib/adwords_api/v201601/conversion_tracker_service.rb +0 -0
  304. data/lib/adwords_api/v201601/conversion_tracker_service_registry.rb +0 -0
  305. data/lib/adwords_api/v201601/customer_extension_setting_service.rb +0 -0
  306. data/lib/adwords_api/v201601/customer_extension_setting_service_registry.rb +0 -0
  307. data/lib/adwords_api/v201601/customer_feed_service.rb +0 -0
  308. data/lib/adwords_api/v201601/customer_feed_service_registry.rb +0 -0
  309. data/lib/adwords_api/v201601/customer_service.rb +0 -0
  310. data/lib/adwords_api/v201601/customer_service_registry.rb +0 -0
  311. data/lib/adwords_api/v201601/customer_sync_service.rb +0 -0
  312. data/lib/adwords_api/v201601/customer_sync_service_registry.rb +0 -0
  313. data/lib/adwords_api/v201601/data_service.rb +0 -0
  314. data/lib/adwords_api/v201601/data_service_registry.rb +0 -0
  315. data/lib/adwords_api/v201601/experiment_service.rb +0 -0
  316. data/lib/adwords_api/v201601/experiment_service_registry.rb +0 -0
  317. data/lib/adwords_api/v201601/feed_item_service.rb +0 -0
  318. data/lib/adwords_api/v201601/feed_item_service_registry.rb +0 -0
  319. data/lib/adwords_api/v201601/feed_mapping_service.rb +0 -0
  320. data/lib/adwords_api/v201601/feed_mapping_service_registry.rb +0 -0
  321. data/lib/adwords_api/v201601/feed_service.rb +0 -0
  322. data/lib/adwords_api/v201601/feed_service_registry.rb +0 -0
  323. data/lib/adwords_api/v201601/label_service.rb +0 -0
  324. data/lib/adwords_api/v201601/label_service_registry.rb +0 -0
  325. data/lib/adwords_api/v201601/location_criterion_service.rb +0 -0
  326. data/lib/adwords_api/v201601/location_criterion_service_registry.rb +0 -0
  327. data/lib/adwords_api/v201601/managed_customer_service.rb +0 -0
  328. data/lib/adwords_api/v201601/managed_customer_service_registry.rb +0 -0
  329. data/lib/adwords_api/v201601/media_service.rb +0 -0
  330. data/lib/adwords_api/v201601/media_service_registry.rb +0 -0
  331. data/lib/adwords_api/v201601/mutate_job_service.rb +0 -0
  332. data/lib/adwords_api/v201601/mutate_job_service_registry.rb +0 -0
  333. data/lib/adwords_api/v201601/offline_conversion_feed_service.rb +0 -0
  334. data/lib/adwords_api/v201601/offline_conversion_feed_service_registry.rb +0 -0
  335. data/lib/adwords_api/v201601/report_definition_service.rb +0 -0
  336. data/lib/adwords_api/v201601/report_definition_service_registry.rb +0 -0
  337. data/lib/adwords_api/v201601/shared_criterion_service.rb +0 -0
  338. data/lib/adwords_api/v201601/shared_criterion_service_registry.rb +0 -0
  339. data/lib/adwords_api/v201601/shared_set_service.rb +0 -0
  340. data/lib/adwords_api/v201601/shared_set_service_registry.rb +0 -0
  341. data/lib/adwords_api/v201601/targeting_idea_service.rb +0 -0
  342. data/lib/adwords_api/v201601/targeting_idea_service_registry.rb +0 -0
  343. data/lib/adwords_api/v201601/traffic_estimator_service.rb +0 -0
  344. data/lib/adwords_api/v201601/traffic_estimator_service_registry.rb +0 -0
  345. data/lib/adwords_api/v201603/account_label_service.rb +46 -0
  346. data/lib/adwords_api/v201603/account_label_service_registry.rb +46 -0
  347. data/lib/adwords_api/v201603/ad_customizer_feed_service.rb +46 -0
  348. data/lib/adwords_api/v201603/ad_customizer_feed_service_registry.rb +46 -0
  349. data/lib/adwords_api/v201603/ad_group_ad_service.rb +70 -0
  350. data/lib/adwords_api/v201603/ad_group_ad_service_registry.rb +46 -0
  351. data/lib/adwords_api/v201603/ad_group_bid_modifier_service.rb +54 -0
  352. data/lib/adwords_api/v201603/ad_group_bid_modifier_service_registry.rb +46 -0
  353. data/lib/adwords_api/v201603/ad_group_criterion_service.rb +62 -0
  354. data/lib/adwords_api/v201603/ad_group_criterion_service_registry.rb +46 -0
  355. data/lib/adwords_api/v201603/ad_group_extension_setting_service.rb +54 -0
  356. data/lib/adwords_api/v201603/ad_group_extension_setting_service_registry.rb +46 -0
  357. data/lib/adwords_api/v201603/ad_group_feed_service.rb +54 -0
  358. data/lib/adwords_api/v201603/ad_group_feed_service_registry.rb +46 -0
  359. data/lib/adwords_api/v201603/ad_group_service.rb +62 -0
  360. data/lib/adwords_api/v201603/ad_group_service_registry.rb +46 -0
  361. data/lib/adwords_api/v201603/ad_param_service.rb +46 -0
  362. data/lib/adwords_api/v201603/ad_param_service_registry.rb +46 -0
  363. data/lib/adwords_api/v201603/adwords_user_list_service.rb +62 -0
  364. data/lib/adwords_api/v201603/adwords_user_list_service_registry.rb +46 -0
  365. data/lib/adwords_api/v201603/batch_job_service.rb +54 -0
  366. data/lib/adwords_api/v201603/batch_job_service_registry.rb +46 -0
  367. data/lib/adwords_api/v201603/bidding_strategy_service.rb +54 -0
  368. data/lib/adwords_api/v201603/bidding_strategy_service_registry.rb +46 -0
  369. data/lib/adwords_api/v201603/budget_order_service.rb +54 -0
  370. data/lib/adwords_api/v201603/budget_order_service_registry.rb +46 -0
  371. data/lib/adwords_api/v201603/budget_service.rb +54 -0
  372. data/lib/adwords_api/v201603/budget_service_registry.rb +46 -0
  373. data/lib/adwords_api/v201603/campaign_criterion_service.rb +54 -0
  374. data/lib/adwords_api/v201603/campaign_criterion_service_registry.rb +46 -0
  375. data/lib/adwords_api/v201603/campaign_extension_setting_service.rb +54 -0
  376. data/lib/adwords_api/v201603/campaign_extension_setting_service_registry.rb +46 -0
  377. data/lib/adwords_api/v201603/campaign_feed_service.rb +54 -0
  378. data/lib/adwords_api/v201603/campaign_feed_service_registry.rb +46 -0
  379. data/lib/adwords_api/v201603/campaign_service.rb +62 -0
  380. data/lib/adwords_api/v201603/campaign_service_registry.rb +46 -0
  381. data/lib/adwords_api/v201603/campaign_shared_set_service.rb +54 -0
  382. data/lib/adwords_api/v201603/campaign_shared_set_service_registry.rb +46 -0
  383. data/lib/adwords_api/v201603/constant_data_service.rb +110 -0
  384. data/lib/adwords_api/v201603/constant_data_service_registry.rb +46 -0
  385. data/lib/adwords_api/v201603/conversion_tracker_service.rb +54 -0
  386. data/lib/adwords_api/v201603/conversion_tracker_service_registry.rb +46 -0
  387. data/lib/adwords_api/v201603/customer_extension_setting_service.rb +54 -0
  388. data/lib/adwords_api/v201603/customer_extension_setting_service_registry.rb +46 -0
  389. data/lib/adwords_api/v201603/customer_feed_service.rb +54 -0
  390. data/lib/adwords_api/v201603/customer_feed_service_registry.rb +46 -0
  391. data/lib/adwords_api/v201603/customer_service.rb +54 -0
  392. data/lib/adwords_api/v201603/customer_service_registry.rb +46 -0
  393. data/lib/adwords_api/v201603/customer_sync_service.rb +38 -0
  394. data/lib/adwords_api/v201603/customer_sync_service_registry.rb +47 -0
  395. data/lib/adwords_api/v201603/data_service.rb +94 -0
  396. data/lib/adwords_api/v201603/data_service_registry.rb +46 -0
  397. data/lib/adwords_api/v201603/draft_async_error_service.rb +46 -0
  398. data/lib/adwords_api/v201603/draft_async_error_service_registry.rb +46 -0
  399. data/lib/adwords_api/v201603/draft_service.rb +54 -0
  400. data/lib/adwords_api/v201603/draft_service_registry.rb +46 -0
  401. data/lib/adwords_api/v201603/experiment_service.rb +46 -0
  402. data/lib/adwords_api/v201603/experiment_service_registry.rb +46 -0
  403. data/lib/adwords_api/v201603/feed_item_service.rb +54 -0
  404. data/lib/adwords_api/v201603/feed_item_service_registry.rb +46 -0
  405. data/lib/adwords_api/v201603/feed_mapping_service.rb +54 -0
  406. data/lib/adwords_api/v201603/feed_mapping_service_registry.rb +46 -0
  407. data/lib/adwords_api/v201603/feed_service.rb +54 -0
  408. data/lib/adwords_api/v201603/feed_service_registry.rb +46 -0
  409. data/lib/adwords_api/v201603/label_service.rb +54 -0
  410. data/lib/adwords_api/v201603/label_service_registry.rb +46 -0
  411. data/lib/adwords_api/v201603/location_criterion_service.rb +46 -0
  412. data/lib/adwords_api/v201603/location_criterion_service_registry.rb +46 -0
  413. data/lib/adwords_api/v201603/managed_customer_service.rb +78 -0
  414. data/lib/adwords_api/v201603/managed_customer_service_registry.rb +46 -0
  415. data/lib/adwords_api/v201603/media_service.rb +54 -0
  416. data/lib/adwords_api/v201603/media_service_registry.rb +46 -0
  417. data/lib/adwords_api/v201603/offline_conversion_feed_service.rb +38 -0
  418. data/lib/adwords_api/v201603/offline_conversion_feed_service_registry.rb +46 -0
  419. data/lib/adwords_api/v201603/report_definition_service.rb +38 -0
  420. data/lib/adwords_api/v201603/report_definition_service_registry.rb +46 -0
  421. data/lib/adwords_api/v201603/shared_criterion_service.rb +54 -0
  422. data/lib/adwords_api/v201603/shared_criterion_service_registry.rb +46 -0
  423. data/lib/adwords_api/v201603/shared_set_service.rb +54 -0
  424. data/lib/adwords_api/v201603/shared_set_service_registry.rb +46 -0
  425. data/lib/adwords_api/v201603/targeting_idea_service.rb +38 -0
  426. data/lib/adwords_api/v201603/targeting_idea_service_registry.rb +46 -0
  427. data/lib/adwords_api/v201603/traffic_estimator_service.rb +38 -0
  428. data/lib/adwords_api/v201603/traffic_estimator_service_registry.rb +46 -0
  429. data/lib/adwords_api/v201603/trial_async_error_service.rb +46 -0
  430. data/lib/adwords_api/v201603/trial_async_error_service_registry.rb +46 -0
  431. data/lib/adwords_api/v201603/trial_service.rb +54 -0
  432. data/lib/adwords_api/v201603/trial_service_registry.rb +46 -0
  433. data/lib/adwords_api/version.rb +1 -1
  434. data/test/adwords_api/test_batch_job_utils.rb +5 -3
  435. data/test/adwords_api/test_report_utils.rb +2 -4
  436. data/test/suite_unittests.rb +4 -0
  437. data/test/templates/v201506/basic_operations_get_campaigns.def +0 -0
  438. data/test/templates/v201506/misc_use_oauth2_service_account.def +0 -0
  439. data/test/templates/v201509/basic_operations_get_campaigns.def +0 -0
  440. data/test/templates/v201509/misc_use_oauth2_service_account.def +0 -0
  441. metadata +172 -4
@@ -0,0 +1,112 @@
1
+ #!/usr/bin/env ruby
2
+ # Encoding: utf-8
3
+ #
4
+ # Copyright:: Copyright 2012, Google Inc. All Rights Reserved.
5
+ #
6
+ # License:: Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
15
+ # implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ # This example adds demographic criteria to an ad group. To get ad groups list,
20
+ # run get_ad_groups.rb.
21
+
22
+ require 'adwords_api'
23
+
24
+ def add_demographic_targeting_criteria(ad_group_id)
25
+ # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
26
+ # when called without parameters.
27
+ adwords = AdwordsApi::Api.new
28
+
29
+ # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
30
+ # the configuration file or provide your own logger:
31
+ # adwords.logger = Logger.new('adwords_xml.log')
32
+
33
+ ad_group_criterion_srv =
34
+ adwords.service(:AdGroupCriterionService, API_VERSION)
35
+
36
+ # Create ad group criteria.
37
+ ad_group_criteria = [
38
+ # Targeting criterion.
39
+ {
40
+ :xsi_type => 'BiddableAdGroupCriterion',
41
+ :ad_group_id => ad_group_id,
42
+ :criterion => {
43
+ :xsi_type => 'Gender',
44
+ # See system codes section for IDs:
45
+ # https://developers.google.com/adwords/api/docs/appendix/genders
46
+ :id => 11
47
+ }
48
+ },
49
+ # Exclusion criterion.
50
+ {
51
+ :xsi_type => 'NegativeAdGroupCriterion',
52
+ :ad_group_id => ad_group_id,
53
+ :criterion => {
54
+ :xsi_type => 'AgeRange',
55
+ # See system codes section for IDs:
56
+ # https://developers.google.com/adwords/api/docs/appendix/ages
57
+ :id => 503999
58
+ }
59
+ }
60
+ ]
61
+
62
+ # Create operations.
63
+ operations = ad_group_criteria.map do |criterion|
64
+ {:operator => 'ADD', :operand => criterion}
65
+ end
66
+
67
+ response = ad_group_criterion_srv.mutate(operations)
68
+
69
+ if response and response[:value]
70
+ criteria = response[:value]
71
+ criteria.each do |ad_group_criterion|
72
+ criterion = ad_group_criterion[:criterion]
73
+ puts ("Ad group criterion with ad group ID %d, criterion ID %d and " +
74
+ "type '%s' was added.") % [ad_group_criterion[:ad_group_id],
75
+ criterion[:id], criterion[:criterion_type]]
76
+ end
77
+ else
78
+ puts 'No criteria were returned.'
79
+ end
80
+ end
81
+
82
+ if __FILE__ == $0
83
+ API_VERSION = :v201603
84
+
85
+ begin
86
+ ad_group_id = 'INSERT_AD_GROUP_ID_HERE'
87
+ add_demographic_targeting_criteria(ad_group_id)
88
+
89
+ # Authorization error.
90
+ rescue AdsCommon::Errors::OAuth2VerificationRequired => e
91
+ puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
92
+ "OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
93
+ "to retrieve and store OAuth2 tokens."
94
+ puts "See this wiki page for more details:\n\n " +
95
+ 'https://github.com/googleads/google-api-ads-ruby/wiki/OAuth2'
96
+
97
+ # HTTP errors.
98
+ rescue AdsCommon::Errors::HttpError => e
99
+ puts "HTTP Error: %s" % e
100
+
101
+ # API errors.
102
+ rescue AdwordsApi::Errors::ApiException => e
103
+ puts "Message: %s" % e.message
104
+ puts 'Errors:'
105
+ e.errors.each_with_index do |error, index|
106
+ puts "\tError [%d]:" % (index + 1)
107
+ error.each do |field, value|
108
+ puts "\t\t%s: %s" % [field, value]
109
+ end
110
+ end
111
+ end
112
+ end
@@ -0,0 +1,106 @@
1
+ #!/usr/bin/env ruby
2
+ # Encoding: utf-8
3
+ #
4
+ # Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
5
+ #
6
+ # License:: Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
15
+ # implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ # This example illustrates how to retrieve all the campaign targets. To set
20
+ # campaign targets, run add_campaign_targeting_criteria.rb.
21
+
22
+ require 'adwords_api'
23
+
24
+ def get_campaign_targeting_criteria(campaign_id)
25
+ # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
26
+ # when called without parameters.
27
+ adwords = AdwordsApi::Api.new
28
+
29
+ # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
30
+ # the configuration file or provide your own logger:
31
+ # adwords.logger = Logger.new('adwords_xml.log')
32
+
33
+ campaign_criterion_srv =
34
+ adwords.service(:CampaignCriterionService, API_VERSION)
35
+
36
+ # Selector to get all the targeting for this campaign.
37
+ selector = {
38
+ :fields => ['Id', 'CriteriaType', 'KeywordText'],
39
+ :predicates => [
40
+ {:field => 'CampaignId', :operator => 'EQUALS', :values => [campaign_id]}
41
+ ],
42
+ :paging => {
43
+ :start_index => 0,
44
+ :number_results => PAGE_SIZE
45
+ }
46
+ }
47
+
48
+ # Set initial values.
49
+ offset, page = 0, {}
50
+
51
+ begin
52
+ page = campaign_criterion_srv.get(selector)
53
+ if page[:entries]
54
+ page[:entries].each do |typed_criterion|
55
+ negative = typed_criterion[:xsi_type] == 'NegativeCampaignCriterion' ?
56
+ ' (negative)' : ''
57
+ criterion = typed_criterion[:criterion]
58
+ puts ("Campaign criterion%s with ID %d, type '%s' and text '%s'" +
59
+ " was found.") %
60
+ [negative, criterion[:id], criterion[:type], criterion[:text]]
61
+ end
62
+ # Increment values to request the next page.
63
+ offset += PAGE_SIZE
64
+ selector[:paging][:start_index] = offset
65
+ end
66
+ end while page[:total_num_entries] > offset
67
+
68
+ if page.include?(:total_num_entries)
69
+ puts "\tCampaign ID %d has %d criteria." %
70
+ [campaign_id, page[:total_num_entries]]
71
+ end
72
+ end
73
+
74
+ if __FILE__ == $0
75
+ API_VERSION = :v201603
76
+ PAGE_SIZE = 500
77
+
78
+ begin
79
+ # Specify campaign ID to get targeting for.
80
+ campaign_id = 'INSERT_CAMPAIGN_ID_HERE'.to_i
81
+ get_campaign_targeting_criteria(campaign_id)
82
+
83
+ # Authorization error.
84
+ rescue AdsCommon::Errors::OAuth2VerificationRequired => e
85
+ puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
86
+ "OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
87
+ "to retrieve and store OAuth2 tokens."
88
+ puts "See this wiki page for more details:\n\n " +
89
+ 'https://github.com/googleads/google-api-ads-ruby/wiki/OAuth2'
90
+
91
+ # HTTP errors.
92
+ rescue AdsCommon::Errors::HttpError => e
93
+ puts "HTTP Error: %s" % e
94
+
95
+ # API errors.
96
+ rescue AdwordsApi::Errors::ApiException => e
97
+ puts "Message: %s" % e.message
98
+ puts 'Errors:'
99
+ e.errors.each_with_index do |error, index|
100
+ puts "\tError [%d]:" % (index + 1)
101
+ error.each do |field, value|
102
+ puts "\t\t%s: %s" % [field, value]
103
+ end
104
+ end
105
+ end
106
+ end
@@ -0,0 +1,89 @@
1
+ #!/usr/bin/env ruby
2
+ # Encoding: utf-8
3
+ #
4
+ # Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
5
+ #
6
+ # License:: Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
15
+ # implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ # This example illustrates how to retrieve all languages and carriers available
20
+ # for targeting.
21
+
22
+ require 'adwords_api'
23
+
24
+ def get_targetable_languages_and_carriers()
25
+ # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
26
+ # when called without parameters.
27
+ adwords = AdwordsApi::Api.new
28
+
29
+ # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
30
+ # the configuration file or provide your own logger:
31
+ # adwords.logger = Logger.new('adwords_xml.log')
32
+
33
+ constant_data_srv = adwords.service(:ConstantDataService, API_VERSION)
34
+
35
+ # Get all languages from ConstantDataService.
36
+ languages = constant_data_srv.get_language_criterion()
37
+
38
+ if languages
39
+ languages.each do |language|
40
+ puts "Language name is '%s', ID is %d and code is '%s'." %
41
+ [language[:name], language[:id], language[:code]]
42
+ end
43
+ else
44
+ puts 'No languages were found.'
45
+ end
46
+
47
+ # Get all carriers from ConstantDataService.
48
+ carriers = constant_data_srv.get_carrier_criterion()
49
+
50
+ if carriers
51
+ carriers.each do |carrier|
52
+ puts "Carrier name is '%s', ID is %d and country code is '%s'." %
53
+ [carrier[:name], carrier[:id], carrier[:country_code]]
54
+ end
55
+ else
56
+ puts 'No carriers were retrieved.'
57
+ end
58
+ end
59
+
60
+ if __FILE__ == $0
61
+ API_VERSION = :v201603
62
+
63
+ begin
64
+ get_targetable_languages_and_carriers()
65
+
66
+ # Authorization error.
67
+ rescue AdsCommon::Errors::OAuth2VerificationRequired => e
68
+ puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
69
+ "OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
70
+ "to retrieve and store OAuth2 tokens."
71
+ puts "See this wiki page for more details:\n\n " +
72
+ 'https://github.com/googleads/google-api-ads-ruby/wiki/OAuth2'
73
+
74
+ # HTTP errors.
75
+ rescue AdsCommon::Errors::HttpError => e
76
+ puts "HTTP Error: %s" % e
77
+
78
+ # API errors.
79
+ rescue AdwordsApi::Errors::ApiException => e
80
+ puts "Message: %s" % e.message
81
+ puts 'Errors:'
82
+ e.errors.each_with_index do |error, index|
83
+ puts "\tError [%d]:" % (index + 1)
84
+ error.each do |field, value|
85
+ puts "\t\t%s: %s" % [field, value]
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,108 @@
1
+ #!/usr/bin/env ruby
2
+ # Encoding: utf-8
3
+ #
4
+ # Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
5
+ #
6
+ # License:: Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
15
+ # implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ # This example gets location criteria by name.
20
+
21
+ require 'adwords_api'
22
+
23
+ def lookup_location()
24
+ # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
25
+ # when called without parameters.
26
+ adwords = AdwordsApi::Api.new
27
+
28
+ # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
29
+ # the configuration file or provide your own logger:
30
+ # adwords.logger = Logger.new('adwords_xml.log')
31
+
32
+ location_criterion_srv =
33
+ adwords.service(:LocationCriterionService, API_VERSION)
34
+
35
+ # List of locations to look up.
36
+ location_names = ['Paris', 'Quebec', 'Spain', 'Deutschland']
37
+ # Locale to retrieve names in.
38
+ locale = 'en'
39
+
40
+ # Get the criteria by names.
41
+ selector = {
42
+ :fields => ['Id', 'LocationName', 'CanonicalName', 'DisplayType',
43
+ 'ParentLocations', 'Reach', 'TargetingStatus'],
44
+ :predicates => [
45
+ # Location names must match exactly, only EQUALS and IN are supported.
46
+ {:field => 'LocationName',
47
+ :operator => 'IN',
48
+ :values => location_names},
49
+ # Set the locale of the returned location names.
50
+ {:field => 'Locale', :operator => 'EQUALS', :values => [locale]}
51
+ ]
52
+ }
53
+ criteria = location_criterion_srv.get(selector)
54
+
55
+ if criteria
56
+ criteria.each do |criterion|
57
+ # Extract all parent location names as one comma-separated string.
58
+ parent_location = if criterion[:location][:parent_locations] and
59
+ !criterion[:location][:parent_locations].empty?
60
+ locations_array = criterion[:location][:parent_locations].map do |loc|
61
+ loc[:location_name]
62
+ end
63
+ locations_array.join(', ')
64
+ else
65
+ 'N/A'
66
+ end
67
+ puts ("The search term '%s' returned the location '%s' of type '%s' " +
68
+ "with ID %d, parent locations '%s' and reach %d (%s)") %
69
+ [criterion[:search_term], criterion[:location][:location_name],
70
+ criterion[:location][:criterion_type], criterion[:location][:id],
71
+ parent_location, criterion[:reach],
72
+ criterion[:location][:targeting_status]]
73
+ end
74
+ else
75
+ puts 'No criteria were returned.'
76
+ end
77
+ end
78
+
79
+ if __FILE__ == $0
80
+ API_VERSION = :v201603
81
+
82
+ begin
83
+ lookup_location()
84
+
85
+ # Authorization error.
86
+ rescue AdsCommon::Errors::OAuth2VerificationRequired => e
87
+ puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
88
+ "OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
89
+ "to retrieve and store OAuth2 tokens."
90
+ puts "See this wiki page for more details:\n\n " +
91
+ 'https://github.com/googleads/google-api-ads-ruby/wiki/OAuth2'
92
+
93
+ # HTTP errors.
94
+ rescue AdsCommon::Errors::HttpError => e
95
+ puts "HTTP Error: %s" % e
96
+
97
+ # API errors.
98
+ rescue AdwordsApi::Errors::ApiException => e
99
+ puts "Message: %s" % e.message
100
+ puts 'Errors:'
101
+ e.errors.each_with_index do |error, index|
102
+ puts "\tError [%d]:" % (index + 1)
103
+ error.each do |field, value|
104
+ puts "\t\t%s: %s" % [field, value]
105
+ end
106
+ end
107
+ end
108
+ end
@@ -24,6 +24,7 @@ require 'adwords_api/credential_handler'
24
24
  require 'adwords_api/errors'
25
25
  require 'adwords_api/report_utils'
26
26
  require 'adwords_api/batch_job_utils'
27
+ require 'adwords_api/utils_reporter'
27
28
 
28
29
  # Main namespace for all the client library's modules and classes.
29
30
  module AdwordsApi
@@ -34,10 +35,13 @@ module AdwordsApi
34
35
  #
35
36
  class Api < AdsCommon::Api
36
37
 
38
+ attr_reader :utils_reporter
39
+
37
40
  # Constructor for API.
38
41
  def initialize(provided_config = nil)
39
42
  super(provided_config)
40
43
  @credential_handler = AdwordsApi::CredentialHandler.new(@config)
44
+ @utils_reporter = AdwordsApi::UtilsReporter.new(@credential_handler)
41
45
  end
42
46
 
43
47
  # Getter for the API service configurations
@@ -33,9 +33,9 @@ module AdwordsApi
33
33
  end
34
34
 
35
35
  # Set defaults
36
- DEFAULT_VERSION = :v201601
36
+ DEFAULT_VERSION = :v201603
37
37
  DEFAULT_ENVIRONMENT = :PRODUCTION
38
- LATEST_VERSION = :v201601
38
+ LATEST_VERSION = :v201603
39
39
 
40
40
  # Set other constants
41
41
  API_NAME = 'AdwordsApi'
@@ -171,6 +171,52 @@ module AdwordsApi
171
171
  :SharedSetService,
172
172
  :TargetingIdeaService,
173
173
  :TrafficEstimatorService
174
+ ],
175
+ :v201603 => [
176
+ :AccountLabelService,
177
+ :AdCustomizerFeedService,
178
+ :AdGroupAdService,
179
+ :AdGroupBidModifierService,
180
+ :AdGroupCriterionService,
181
+ :AdGroupExtensionSettingService,
182
+ :AdGroupFeedService,
183
+ :AdGroupService,
184
+ :AdParamService,
185
+ :AdwordsUserListService,
186
+ :BatchJobService,
187
+ :BiddingStrategyService,
188
+ :BudgetOrderService,
189
+ :BudgetService,
190
+ :CampaignCriterionService,
191
+ :CampaignExtensionSettingService,
192
+ :CampaignFeedService,
193
+ :CampaignService,
194
+ :CampaignSharedSetService,
195
+ :ConstantDataService,
196
+ :ConversionTrackerService,
197
+ :CustomerExtensionSettingService,
198
+ :CustomerFeedService,
199
+ :CustomerService,
200
+ :CustomerSyncService,
201
+ :DataService,
202
+ :DraftService,
203
+ :DraftAsyncErrorService,
204
+ :ExperimentService,
205
+ :FeedItemService,
206
+ :FeedMappingService,
207
+ :FeedService,
208
+ :LabelService,
209
+ :LocationCriterionService,
210
+ :ManagedCustomerService,
211
+ :MediaService,
212
+ :OfflineConversionFeedService,
213
+ :ReportDefinitionService,
214
+ :SharedCriterionService,
215
+ :SharedSetService,
216
+ :TargetingIdeaService,
217
+ :TrafficEstimatorService,
218
+ :TrialService,
219
+ :TrialAsyncErrorService
174
220
  ]
175
221
  }
176
222
 
@@ -181,7 +227,8 @@ module AdwordsApi
181
227
  :header_ns => 'https://adwords.google.com/api/adwords/cm/',
182
228
  :v201506 => 'https://adwords.google.com/api/adwords/',
183
229
  :v201509 => 'https://adwords.google.com/api/adwords/',
184
- :v201601 => 'https://adwords.google.com/api/adwords/'
230
+ :v201601 => 'https://adwords.google.com/api/adwords/',
231
+ :v201603 => 'https://adwords.google.com/api/adwords/'
185
232
  }
186
233
  }
187
234
 
@@ -313,7 +360,52 @@ module AdwordsApi
313
360
  [:v201601, :BudgetService] => 'cm/',
314
361
  [:v201601, :BiddingStrategyService] => 'cm/',
315
362
  [:v201601, :AdwordsUserListService] => 'rm/',
316
- [:v201601, :LabelService] => 'cm/'
363
+ [:v201601, :LabelService] => 'cm/',
364
+ # v201603
365
+ [:v201603, :AccountLabelService] => 'mcm/',
366
+ [:v201603, :AdCustomizerFeedService] => 'cm/',
367
+ [:v201603, :AdGroupAdService] => 'cm/',
368
+ [:v201603, :AdGroupBidModifierService] => 'cm/',
369
+ [:v201603, :AdGroupCriterionService] => 'cm/',
370
+ [:v201603, :AdGroupExtensionSettingService] => 'cm/',
371
+ [:v201603, :AdGroupFeedService] => 'cm/',
372
+ [:v201603, :AdGroupService] => 'cm/',
373
+ [:v201603, :AdParamService] => 'cm/',
374
+ [:v201603, :BatchJobService] => 'cm/',
375
+ [:v201603, :BudgetOrderService] => 'billing/',
376
+ [:v201603, :CampaignCriterionService] => 'cm/',
377
+ [:v201603, :CampaignExtensionSettingService] => 'cm/',
378
+ [:v201603, :CampaignFeedService] => 'cm/',
379
+ [:v201603, :CampaignService] => 'cm/',
380
+ [:v201603, :CampaignSharedSetService] => 'cm/',
381
+ [:v201603, :ConstantDataService] => 'cm/',
382
+ [:v201603, :ConversionTrackerService] => 'cm/',
383
+ [:v201603, :CustomerExtensionSettingService] => 'cm/',
384
+ [:v201603, :CustomerSyncService] => 'ch/',
385
+ [:v201603, :DataService] => 'cm/',
386
+ [:v201603, :ExperimentService] => 'cm/',
387
+ [:v201603, :FeedItemService] => 'cm/',
388
+ [:v201603, :FeedMappingService] => 'cm/',
389
+ [:v201603, :FeedService] => 'cm/',
390
+ [:v201603, :LocationCriterionService] => 'cm/',
391
+ [:v201603, :MediaService] => 'cm/',
392
+ [:v201603, :OfflineConversionFeedService] => 'cm/',
393
+ [:v201603, :ReportDefinitionService] => 'cm/',
394
+ [:v201603, :SharedCriterionService] => 'cm/',
395
+ [:v201603, :SharedSetService] => 'cm/',
396
+ [:v201603, :TargetingIdeaService] => 'o/',
397
+ [:v201603, :TrafficEstimatorService] => 'o/',
398
+ [:v201603, :ManagedCustomerService] => 'mcm/',
399
+ [:v201603, :CustomerService] => 'mcm/',
400
+ [:v201603, :CustomerFeedService] => 'cm/',
401
+ [:v201603, :BudgetService] => 'cm/',
402
+ [:v201603, :BiddingStrategyService] => 'cm/',
403
+ [:v201603, :AdwordsUserListService] => 'rm/',
404
+ [:v201603, :LabelService] => 'cm/',
405
+ [:v201603, :DraftService] => 'cm/',
406
+ [:v201603, :DraftAsyncErrorService] => 'cm/',
407
+ [:v201603, :TrialService] => 'cm/',
408
+ [:v201603, :TrialAsyncErrorService] => 'cm/'
317
409
  }
318
410
 
319
411
  public