google-adwords-api 0.18.3 → 0.19.0

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 (437) hide show
  1. checksums.yaml +4 -4
  2. data/COPYING +0 -0
  3. data/ChangeLog +5 -0
  4. data/README.md +0 -0
  5. data/adwords_api.yml +0 -0
  6. data/examples/v201509/{advanced_operations → campaign_management}/add_keywords_using_incremental_batch_job.rb +0 -0
  7. data/examples/v201601/{advanced_operations → campaign_management}/add_keywords_using_incremental_batch_job.rb +0 -0
  8. data/examples/v201603/campaign_management/add_draft.rb +0 -0
  9. data/examples/v201603/{advanced_operations → campaign_management}/add_keywords_using_incremental_batch_job.rb +0 -0
  10. data/examples/v201603/campaign_management/add_trial.rb +0 -0
  11. data/examples/v201603/campaign_management/graduate_trial.rb +0 -0
  12. data/lib/adwords_api.rb +0 -0
  13. data/lib/adwords_api/api_config.rb +0 -87
  14. data/lib/adwords_api/batch_job_utils.rb +1 -1
  15. data/lib/adwords_api/credential_handler.rb +0 -0
  16. data/lib/adwords_api/errors.rb +0 -0
  17. data/lib/adwords_api/incremental_upload_helper.rb +0 -0
  18. data/lib/adwords_api/report_header_handler.rb +0 -0
  19. data/lib/adwords_api/report_stream.rb +0 -0
  20. data/lib/adwords_api/report_utils.rb +0 -0
  21. data/lib/adwords_api/utils.rb +0 -0
  22. data/lib/adwords_api/utils_reporter.rb +0 -0
  23. data/lib/adwords_api/v201509/account_label_service.rb +0 -0
  24. data/lib/adwords_api/v201509/account_label_service_registry.rb +0 -0
  25. data/lib/adwords_api/v201509/ad_customizer_feed_service.rb +0 -0
  26. data/lib/adwords_api/v201509/ad_customizer_feed_service_registry.rb +0 -0
  27. data/lib/adwords_api/v201509/ad_group_ad_service.rb +0 -0
  28. data/lib/adwords_api/v201509/ad_group_ad_service_registry.rb +0 -0
  29. data/lib/adwords_api/v201509/ad_group_bid_modifier_service.rb +0 -0
  30. data/lib/adwords_api/v201509/ad_group_bid_modifier_service_registry.rb +0 -0
  31. data/lib/adwords_api/v201509/ad_group_criterion_service.rb +0 -0
  32. data/lib/adwords_api/v201509/ad_group_criterion_service_registry.rb +0 -0
  33. data/lib/adwords_api/v201509/ad_group_extension_setting_service.rb +0 -0
  34. data/lib/adwords_api/v201509/ad_group_extension_setting_service_registry.rb +0 -0
  35. data/lib/adwords_api/v201509/ad_group_feed_service.rb +0 -0
  36. data/lib/adwords_api/v201509/ad_group_feed_service_registry.rb +0 -0
  37. data/lib/adwords_api/v201509/ad_group_service.rb +0 -0
  38. data/lib/adwords_api/v201509/ad_group_service_registry.rb +0 -0
  39. data/lib/adwords_api/v201509/ad_param_service.rb +0 -0
  40. data/lib/adwords_api/v201509/ad_param_service_registry.rb +0 -0
  41. data/lib/adwords_api/v201509/adwords_user_list_service.rb +0 -0
  42. data/lib/adwords_api/v201509/adwords_user_list_service_registry.rb +0 -0
  43. data/lib/adwords_api/v201509/batch_job_service.rb +0 -0
  44. data/lib/adwords_api/v201509/batch_job_service_registry.rb +0 -0
  45. data/lib/adwords_api/v201509/bidding_strategy_service.rb +0 -0
  46. data/lib/adwords_api/v201509/bidding_strategy_service_registry.rb +0 -0
  47. data/lib/adwords_api/v201509/budget_order_service.rb +0 -0
  48. data/lib/adwords_api/v201509/budget_order_service_registry.rb +0 -0
  49. data/lib/adwords_api/v201509/budget_service.rb +0 -0
  50. data/lib/adwords_api/v201509/budget_service_registry.rb +0 -0
  51. data/lib/adwords_api/v201509/campaign_criterion_service.rb +0 -0
  52. data/lib/adwords_api/v201509/campaign_criterion_service_registry.rb +0 -0
  53. data/lib/adwords_api/v201509/campaign_extension_setting_service.rb +0 -0
  54. data/lib/adwords_api/v201509/campaign_extension_setting_service_registry.rb +0 -0
  55. data/lib/adwords_api/v201509/campaign_feed_service.rb +0 -0
  56. data/lib/adwords_api/v201509/campaign_feed_service_registry.rb +0 -0
  57. data/lib/adwords_api/v201509/campaign_service.rb +0 -0
  58. data/lib/adwords_api/v201509/campaign_service_registry.rb +0 -0
  59. data/lib/adwords_api/v201509/campaign_shared_set_service.rb +0 -0
  60. data/lib/adwords_api/v201509/campaign_shared_set_service_registry.rb +0 -0
  61. data/lib/adwords_api/v201509/constant_data_service.rb +0 -0
  62. data/lib/adwords_api/v201509/constant_data_service_registry.rb +0 -0
  63. data/lib/adwords_api/v201509/conversion_tracker_service.rb +0 -0
  64. data/lib/adwords_api/v201509/conversion_tracker_service_registry.rb +0 -0
  65. data/lib/adwords_api/v201509/customer_extension_setting_service.rb +0 -0
  66. data/lib/adwords_api/v201509/customer_extension_setting_service_registry.rb +0 -0
  67. data/lib/adwords_api/v201509/customer_feed_service.rb +0 -0
  68. data/lib/adwords_api/v201509/customer_feed_service_registry.rb +0 -0
  69. data/lib/adwords_api/v201509/customer_service.rb +0 -0
  70. data/lib/adwords_api/v201509/customer_service_registry.rb +0 -0
  71. data/lib/adwords_api/v201509/customer_sync_service.rb +0 -0
  72. data/lib/adwords_api/v201509/customer_sync_service_registry.rb +0 -0
  73. data/lib/adwords_api/v201509/data_service.rb +0 -0
  74. data/lib/adwords_api/v201509/data_service_registry.rb +0 -0
  75. data/lib/adwords_api/v201509/experiment_service.rb +0 -0
  76. data/lib/adwords_api/v201509/experiment_service_registry.rb +0 -0
  77. data/lib/adwords_api/v201509/feed_item_service.rb +0 -0
  78. data/lib/adwords_api/v201509/feed_item_service_registry.rb +0 -0
  79. data/lib/adwords_api/v201509/feed_mapping_service.rb +0 -0
  80. data/lib/adwords_api/v201509/feed_mapping_service_registry.rb +0 -0
  81. data/lib/adwords_api/v201509/feed_service.rb +0 -0
  82. data/lib/adwords_api/v201509/feed_service_registry.rb +0 -0
  83. data/lib/adwords_api/v201509/label_service.rb +0 -0
  84. data/lib/adwords_api/v201509/label_service_registry.rb +0 -0
  85. data/lib/adwords_api/v201509/location_criterion_service.rb +0 -0
  86. data/lib/adwords_api/v201509/location_criterion_service_registry.rb +0 -0
  87. data/lib/adwords_api/v201509/managed_customer_service.rb +0 -0
  88. data/lib/adwords_api/v201509/managed_customer_service_registry.rb +0 -0
  89. data/lib/adwords_api/v201509/media_service.rb +0 -0
  90. data/lib/adwords_api/v201509/media_service_registry.rb +0 -0
  91. data/lib/adwords_api/v201509/mutate_job_service.rb +0 -0
  92. data/lib/adwords_api/v201509/mutate_job_service_registry.rb +0 -0
  93. data/lib/adwords_api/v201509/offline_conversion_feed_service.rb +0 -0
  94. data/lib/adwords_api/v201509/offline_conversion_feed_service_registry.rb +0 -0
  95. data/lib/adwords_api/v201509/report_definition_service.rb +0 -0
  96. data/lib/adwords_api/v201509/report_definition_service_registry.rb +0 -0
  97. data/lib/adwords_api/v201509/shared_criterion_service.rb +0 -0
  98. data/lib/adwords_api/v201509/shared_criterion_service_registry.rb +0 -0
  99. data/lib/adwords_api/v201509/shared_set_service.rb +0 -0
  100. data/lib/adwords_api/v201509/shared_set_service_registry.rb +0 -0
  101. data/lib/adwords_api/v201509/targeting_idea_service.rb +0 -0
  102. data/lib/adwords_api/v201509/targeting_idea_service_registry.rb +0 -0
  103. data/lib/adwords_api/v201509/traffic_estimator_service.rb +0 -0
  104. data/lib/adwords_api/v201509/traffic_estimator_service_registry.rb +0 -0
  105. data/lib/adwords_api/v201601/account_label_service.rb +0 -0
  106. data/lib/adwords_api/v201601/account_label_service_registry.rb +0 -0
  107. data/lib/adwords_api/v201601/ad_customizer_feed_service.rb +0 -0
  108. data/lib/adwords_api/v201601/ad_customizer_feed_service_registry.rb +0 -0
  109. data/lib/adwords_api/v201601/ad_group_ad_service.rb +0 -0
  110. data/lib/adwords_api/v201601/ad_group_ad_service_registry.rb +0 -0
  111. data/lib/adwords_api/v201601/ad_group_bid_modifier_service.rb +0 -0
  112. data/lib/adwords_api/v201601/ad_group_bid_modifier_service_registry.rb +0 -0
  113. data/lib/adwords_api/v201601/ad_group_criterion_service.rb +0 -0
  114. data/lib/adwords_api/v201601/ad_group_criterion_service_registry.rb +0 -0
  115. data/lib/adwords_api/v201601/ad_group_extension_setting_service.rb +0 -0
  116. data/lib/adwords_api/v201601/ad_group_extension_setting_service_registry.rb +0 -0
  117. data/lib/adwords_api/v201601/ad_group_feed_service.rb +0 -0
  118. data/lib/adwords_api/v201601/ad_group_feed_service_registry.rb +0 -0
  119. data/lib/adwords_api/v201601/ad_group_service.rb +0 -0
  120. data/lib/adwords_api/v201601/ad_group_service_registry.rb +0 -0
  121. data/lib/adwords_api/v201601/ad_param_service.rb +0 -0
  122. data/lib/adwords_api/v201601/ad_param_service_registry.rb +0 -0
  123. data/lib/adwords_api/v201601/adwords_user_list_service.rb +0 -0
  124. data/lib/adwords_api/v201601/adwords_user_list_service_registry.rb +0 -0
  125. data/lib/adwords_api/v201601/batch_job_service.rb +0 -0
  126. data/lib/adwords_api/v201601/batch_job_service_registry.rb +0 -0
  127. data/lib/adwords_api/v201601/bidding_strategy_service.rb +0 -0
  128. data/lib/adwords_api/v201601/bidding_strategy_service_registry.rb +0 -0
  129. data/lib/adwords_api/v201601/budget_order_service.rb +0 -0
  130. data/lib/adwords_api/v201601/budget_order_service_registry.rb +0 -0
  131. data/lib/adwords_api/v201601/budget_service.rb +0 -0
  132. data/lib/adwords_api/v201601/budget_service_registry.rb +0 -0
  133. data/lib/adwords_api/v201601/campaign_criterion_service.rb +0 -0
  134. data/lib/adwords_api/v201601/campaign_criterion_service_registry.rb +0 -0
  135. data/lib/adwords_api/v201601/campaign_extension_setting_service.rb +0 -0
  136. data/lib/adwords_api/v201601/campaign_extension_setting_service_registry.rb +0 -0
  137. data/lib/adwords_api/v201601/campaign_feed_service.rb +0 -0
  138. data/lib/adwords_api/v201601/campaign_feed_service_registry.rb +0 -0
  139. data/lib/adwords_api/v201601/campaign_service.rb +0 -0
  140. data/lib/adwords_api/v201601/campaign_service_registry.rb +0 -0
  141. data/lib/adwords_api/v201601/campaign_shared_set_service.rb +0 -0
  142. data/lib/adwords_api/v201601/campaign_shared_set_service_registry.rb +0 -0
  143. data/lib/adwords_api/v201601/constant_data_service.rb +0 -0
  144. data/lib/adwords_api/v201601/constant_data_service_registry.rb +0 -0
  145. data/lib/adwords_api/v201601/conversion_tracker_service.rb +0 -0
  146. data/lib/adwords_api/v201601/conversion_tracker_service_registry.rb +0 -0
  147. data/lib/adwords_api/v201601/customer_extension_setting_service.rb +0 -0
  148. data/lib/adwords_api/v201601/customer_extension_setting_service_registry.rb +0 -0
  149. data/lib/adwords_api/v201601/customer_feed_service.rb +0 -0
  150. data/lib/adwords_api/v201601/customer_feed_service_registry.rb +0 -0
  151. data/lib/adwords_api/v201601/customer_service.rb +0 -0
  152. data/lib/adwords_api/v201601/customer_service_registry.rb +0 -0
  153. data/lib/adwords_api/v201601/customer_sync_service.rb +0 -0
  154. data/lib/adwords_api/v201601/customer_sync_service_registry.rb +0 -0
  155. data/lib/adwords_api/v201601/data_service.rb +0 -0
  156. data/lib/adwords_api/v201601/data_service_registry.rb +0 -0
  157. data/lib/adwords_api/v201601/experiment_service.rb +0 -0
  158. data/lib/adwords_api/v201601/experiment_service_registry.rb +0 -0
  159. data/lib/adwords_api/v201601/feed_item_service.rb +0 -0
  160. data/lib/adwords_api/v201601/feed_item_service_registry.rb +0 -0
  161. data/lib/adwords_api/v201601/feed_mapping_service.rb +0 -0
  162. data/lib/adwords_api/v201601/feed_mapping_service_registry.rb +0 -0
  163. data/lib/adwords_api/v201601/feed_service.rb +0 -0
  164. data/lib/adwords_api/v201601/feed_service_registry.rb +0 -0
  165. data/lib/adwords_api/v201601/label_service.rb +0 -0
  166. data/lib/adwords_api/v201601/label_service_registry.rb +0 -0
  167. data/lib/adwords_api/v201601/location_criterion_service.rb +0 -0
  168. data/lib/adwords_api/v201601/location_criterion_service_registry.rb +0 -0
  169. data/lib/adwords_api/v201601/managed_customer_service.rb +0 -0
  170. data/lib/adwords_api/v201601/managed_customer_service_registry.rb +0 -0
  171. data/lib/adwords_api/v201601/media_service.rb +0 -0
  172. data/lib/adwords_api/v201601/media_service_registry.rb +0 -0
  173. data/lib/adwords_api/v201601/mutate_job_service.rb +0 -0
  174. data/lib/adwords_api/v201601/mutate_job_service_registry.rb +0 -0
  175. data/lib/adwords_api/v201601/offline_conversion_feed_service.rb +0 -0
  176. data/lib/adwords_api/v201601/offline_conversion_feed_service_registry.rb +0 -0
  177. data/lib/adwords_api/v201601/report_definition_service.rb +0 -0
  178. data/lib/adwords_api/v201601/report_definition_service_registry.rb +0 -0
  179. data/lib/adwords_api/v201601/shared_criterion_service.rb +0 -0
  180. data/lib/adwords_api/v201601/shared_criterion_service_registry.rb +0 -0
  181. data/lib/adwords_api/v201601/shared_set_service.rb +0 -0
  182. data/lib/adwords_api/v201601/shared_set_service_registry.rb +0 -0
  183. data/lib/adwords_api/v201601/targeting_idea_service.rb +0 -0
  184. data/lib/adwords_api/v201601/targeting_idea_service_registry.rb +0 -0
  185. data/lib/adwords_api/v201601/traffic_estimator_service.rb +0 -0
  186. data/lib/adwords_api/v201601/traffic_estimator_service_registry.rb +0 -0
  187. data/lib/adwords_api/v201603/account_label_service.rb +0 -0
  188. data/lib/adwords_api/v201603/account_label_service_registry.rb +0 -0
  189. data/lib/adwords_api/v201603/ad_customizer_feed_service.rb +0 -0
  190. data/lib/adwords_api/v201603/ad_customizer_feed_service_registry.rb +0 -0
  191. data/lib/adwords_api/v201603/ad_group_ad_service.rb +0 -0
  192. data/lib/adwords_api/v201603/ad_group_ad_service_registry.rb +0 -0
  193. data/lib/adwords_api/v201603/ad_group_bid_modifier_service.rb +0 -0
  194. data/lib/adwords_api/v201603/ad_group_bid_modifier_service_registry.rb +0 -0
  195. data/lib/adwords_api/v201603/ad_group_criterion_service.rb +0 -0
  196. data/lib/adwords_api/v201603/ad_group_criterion_service_registry.rb +0 -0
  197. data/lib/adwords_api/v201603/ad_group_extension_setting_service.rb +0 -0
  198. data/lib/adwords_api/v201603/ad_group_extension_setting_service_registry.rb +0 -0
  199. data/lib/adwords_api/v201603/ad_group_feed_service.rb +0 -0
  200. data/lib/adwords_api/v201603/ad_group_feed_service_registry.rb +0 -0
  201. data/lib/adwords_api/v201603/ad_group_service.rb +0 -0
  202. data/lib/adwords_api/v201603/ad_group_service_registry.rb +0 -0
  203. data/lib/adwords_api/v201603/ad_param_service.rb +0 -0
  204. data/lib/adwords_api/v201603/ad_param_service_registry.rb +0 -0
  205. data/lib/adwords_api/v201603/adwords_user_list_service.rb +0 -0
  206. data/lib/adwords_api/v201603/adwords_user_list_service_registry.rb +0 -0
  207. data/lib/adwords_api/v201603/batch_job_service.rb +0 -0
  208. data/lib/adwords_api/v201603/batch_job_service_registry.rb +0 -0
  209. data/lib/adwords_api/v201603/bidding_strategy_service.rb +0 -0
  210. data/lib/adwords_api/v201603/bidding_strategy_service_registry.rb +0 -0
  211. data/lib/adwords_api/v201603/budget_order_service.rb +0 -0
  212. data/lib/adwords_api/v201603/budget_order_service_registry.rb +0 -0
  213. data/lib/adwords_api/v201603/budget_service.rb +0 -0
  214. data/lib/adwords_api/v201603/budget_service_registry.rb +0 -0
  215. data/lib/adwords_api/v201603/campaign_criterion_service.rb +0 -0
  216. data/lib/adwords_api/v201603/campaign_criterion_service_registry.rb +0 -0
  217. data/lib/adwords_api/v201603/campaign_extension_setting_service.rb +0 -0
  218. data/lib/adwords_api/v201603/campaign_extension_setting_service_registry.rb +0 -0
  219. data/lib/adwords_api/v201603/campaign_feed_service.rb +0 -0
  220. data/lib/adwords_api/v201603/campaign_feed_service_registry.rb +0 -0
  221. data/lib/adwords_api/v201603/campaign_service.rb +0 -0
  222. data/lib/adwords_api/v201603/campaign_service_registry.rb +0 -0
  223. data/lib/adwords_api/v201603/campaign_shared_set_service.rb +0 -0
  224. data/lib/adwords_api/v201603/campaign_shared_set_service_registry.rb +0 -0
  225. data/lib/adwords_api/v201603/constant_data_service.rb +0 -0
  226. data/lib/adwords_api/v201603/constant_data_service_registry.rb +0 -0
  227. data/lib/adwords_api/v201603/conversion_tracker_service.rb +0 -0
  228. data/lib/adwords_api/v201603/conversion_tracker_service_registry.rb +0 -0
  229. data/lib/adwords_api/v201603/customer_extension_setting_service.rb +0 -0
  230. data/lib/adwords_api/v201603/customer_extension_setting_service_registry.rb +0 -0
  231. data/lib/adwords_api/v201603/customer_feed_service.rb +0 -0
  232. data/lib/adwords_api/v201603/customer_feed_service_registry.rb +0 -0
  233. data/lib/adwords_api/v201603/customer_service.rb +0 -0
  234. data/lib/adwords_api/v201603/customer_service_registry.rb +0 -0
  235. data/lib/adwords_api/v201603/customer_sync_service.rb +0 -0
  236. data/lib/adwords_api/v201603/customer_sync_service_registry.rb +0 -0
  237. data/lib/adwords_api/v201603/data_service.rb +0 -0
  238. data/lib/adwords_api/v201603/data_service_registry.rb +0 -0
  239. data/lib/adwords_api/v201603/draft_async_error_service.rb +0 -0
  240. data/lib/adwords_api/v201603/draft_async_error_service_registry.rb +0 -0
  241. data/lib/adwords_api/v201603/draft_service.rb +0 -0
  242. data/lib/adwords_api/v201603/draft_service_registry.rb +0 -0
  243. data/lib/adwords_api/v201603/experiment_service.rb +0 -0
  244. data/lib/adwords_api/v201603/experiment_service_registry.rb +0 -0
  245. data/lib/adwords_api/v201603/feed_item_service.rb +0 -0
  246. data/lib/adwords_api/v201603/feed_item_service_registry.rb +0 -0
  247. data/lib/adwords_api/v201603/feed_mapping_service.rb +0 -0
  248. data/lib/adwords_api/v201603/feed_mapping_service_registry.rb +0 -0
  249. data/lib/adwords_api/v201603/feed_service.rb +0 -0
  250. data/lib/adwords_api/v201603/feed_service_registry.rb +0 -0
  251. data/lib/adwords_api/v201603/label_service.rb +0 -0
  252. data/lib/adwords_api/v201603/label_service_registry.rb +0 -0
  253. data/lib/adwords_api/v201603/location_criterion_service.rb +0 -0
  254. data/lib/adwords_api/v201603/location_criterion_service_registry.rb +0 -0
  255. data/lib/adwords_api/v201603/managed_customer_service.rb +0 -0
  256. data/lib/adwords_api/v201603/managed_customer_service_registry.rb +0 -0
  257. data/lib/adwords_api/v201603/media_service.rb +0 -0
  258. data/lib/adwords_api/v201603/media_service_registry.rb +0 -0
  259. data/lib/adwords_api/v201603/offline_conversion_feed_service.rb +0 -0
  260. data/lib/adwords_api/v201603/offline_conversion_feed_service_registry.rb +0 -0
  261. data/lib/adwords_api/v201603/report_definition_service.rb +0 -0
  262. data/lib/adwords_api/v201603/report_definition_service_registry.rb +0 -0
  263. data/lib/adwords_api/v201603/shared_criterion_service.rb +0 -0
  264. data/lib/adwords_api/v201603/shared_criterion_service_registry.rb +0 -0
  265. data/lib/adwords_api/v201603/shared_set_service.rb +0 -0
  266. data/lib/adwords_api/v201603/shared_set_service_registry.rb +0 -0
  267. data/lib/adwords_api/v201603/targeting_idea_service.rb +0 -0
  268. data/lib/adwords_api/v201603/targeting_idea_service_registry.rb +0 -0
  269. data/lib/adwords_api/v201603/traffic_estimator_service.rb +0 -0
  270. data/lib/adwords_api/v201603/traffic_estimator_service_registry.rb +0 -0
  271. data/lib/adwords_api/v201603/trial_async_error_service.rb +0 -0
  272. data/lib/adwords_api/v201603/trial_async_error_service_registry.rb +0 -0
  273. data/lib/adwords_api/v201603/trial_service.rb +0 -0
  274. data/lib/adwords_api/v201603/trial_service_registry.rb +0 -0
  275. data/lib/adwords_api/version.rb +1 -1
  276. data/test/adwords_api/test_adwords_api.rb +1 -1
  277. data/test/adwords_api/test_api_config.rb +8 -8
  278. data/test/adwords_api/test_batch_job_utils.rb +0 -0
  279. data/test/adwords_api/test_choices.rb +2 -2
  280. data/test/adwords_api/test_report_utils.rb +1 -1
  281. data/test/templates/v201509/basic_operations_get_campaigns.def +0 -0
  282. data/test/templates/v201509/misc_use_oauth2_service_account.def +0 -0
  283. metadata +7 -161
  284. data/examples/v201506/account_management/create_account.rb +0 -88
  285. data/examples/v201506/account_management/get_account_changes.rb +0 -139
  286. data/examples/v201506/account_management/get_account_hierarchy.rb +0 -94
  287. data/examples/v201506/advanced_operations/add_ad_customizers.rb +0 -184
  288. data/examples/v201506/advanced_operations/add_ad_group_bid_modifier.rb +0 -101
  289. data/examples/v201506/advanced_operations/add_click_to_download_ad.rb +0 -133
  290. data/examples/v201506/advanced_operations/add_text_ad_with_upgraded_urls.rb +0 -134
  291. data/examples/v201506/advanced_operations/create_and_attach_shared_keyword_set.rb +0 -141
  292. data/examples/v201506/advanced_operations/find_and_remove_criteria_from_shared_set.rb +0 -174
  293. data/examples/v201506/advanced_operations/get_ad_group_bid_modifiers.rb +0 -102
  294. data/examples/v201506/advanced_operations/upload_offline_conversions.rb +0 -113
  295. data/examples/v201506/advanced_operations/use_shared_bidding_strategy.rb +0 -147
  296. data/examples/v201506/basic_operations/add_ad_groups.rb +0 -140
  297. data/examples/v201506/basic_operations/add_campaigns.rb +0 -139
  298. data/examples/v201506/basic_operations/add_keywords.rb +0 -114
  299. data/examples/v201506/basic_operations/add_text_ads.rb +0 -109
  300. data/examples/v201506/basic_operations/get_ad_groups.rb +0 -102
  301. data/examples/v201506/basic_operations/get_campaigns.rb +0 -97
  302. data/examples/v201506/basic_operations/get_campaigns_with_awql.rb +0 -89
  303. data/examples/v201506/basic_operations/get_keywords.rb +0 -109
  304. data/examples/v201506/basic_operations/get_text_ads.rb +0 -110
  305. data/examples/v201506/basic_operations/pause_ad.rb +0 -88
  306. data/examples/v201506/basic_operations/remove_ad.rb +0 -89
  307. data/examples/v201506/basic_operations/remove_ad_group.rb +0 -85
  308. data/examples/v201506/basic_operations/remove_campaign.rb +0 -87
  309. data/examples/v201506/basic_operations/remove_keyword.rb +0 -94
  310. data/examples/v201506/basic_operations/update_ad_group.rb +0 -85
  311. data/examples/v201506/basic_operations/update_campaign.rb +0 -86
  312. data/examples/v201506/basic_operations/update_keyword.rb +0 -106
  313. data/examples/v201506/campaign_management/add_campaign_labels.rb +0 -82
  314. data/examples/v201506/campaign_management/add_experiment.rb +0 -162
  315. data/examples/v201506/campaign_management/add_keywords_in_bulk.rb +0 -153
  316. data/examples/v201506/campaign_management/get_all_disapproved_ads.rb +0 -97
  317. data/examples/v201506/campaign_management/get_all_disapproved_ads_with_awql.rb +0 -89
  318. data/examples/v201506/campaign_management/get_campaigns_by_label.rb +0 -108
  319. data/examples/v201506/campaign_management/promote_experiment.rb +0 -81
  320. data/examples/v201506/campaign_management/set_ad_parameters.rb +0 -118
  321. data/examples/v201506/campaign_management/set_criterion_bid_modifier.rb +0 -104
  322. data/examples/v201506/campaign_management/validate_text_ad.rb +0 -110
  323. data/examples/v201506/error_handling/handle_partial_failures.rb +0 -130
  324. data/examples/v201506/error_handling/handle_policy_violation_error.rb +0 -141
  325. data/examples/v201506/extensions/add_google_my_business_location_extensions.rb +0 -186
  326. data/examples/v201506/extensions/add_site_links.rb +0 -164
  327. data/examples/v201506/extensions/add_site_links_using_feeds.rb +0 -271
  328. data/examples/v201506/migration/migrate_to_extension_settings.rb +0 -386
  329. data/examples/v201506/migration/upgrade_ad_url.rb +0 -93
  330. data/examples/v201506/misc/get_all_images_and_videos.rb +0 -104
  331. data/examples/v201506/misc/setup_oauth2.rb +0 -84
  332. data/examples/v201506/misc/upload_image.rb +0 -93
  333. data/examples/v201506/misc/use_oauth2_jwt.rb +0 -93
  334. data/examples/v201506/misc/use_runtime_config.rb +0 -92
  335. data/examples/v201506/optimization/estimate_keyword_traffic.rb +0 -146
  336. data/examples/v201506/optimization/get_keyword_bid_simulations.rb +0 -95
  337. data/examples/v201506/optimization/get_keyword_ideas.rb +0 -126
  338. data/examples/v201506/remarketing/add_audience.rb +0 -118
  339. data/examples/v201506/remarketing/add_conversion_tracker.rb +0 -100
  340. data/examples/v201506/remarketing/add_rule_based_user_lists.rb +0 -167
  341. data/examples/v201506/reporting/download_criteria_report.rb +0 -92
  342. data/examples/v201506/reporting/download_criteria_report_with_awql.rb +0 -93
  343. data/examples/v201506/reporting/get_report_fields.rb +0 -75
  344. data/examples/v201506/reporting/parallel_report_download.rb +0 -164
  345. data/examples/v201506/shopping_campaigns/add_product_partition_tree.rb +0 -267
  346. data/examples/v201506/shopping_campaigns/add_product_scope.rb +0 -129
  347. data/examples/v201506/shopping_campaigns/add_shopping_campaign.rb +0 -129
  348. data/examples/v201506/shopping_campaigns/get_product_category_taxonomy.rb +0 -115
  349. data/examples/v201506/targeting/add_campaign_targeting_criteria.rb +0 -180
  350. data/examples/v201506/targeting/add_demographic_targeting_criteria.rb +0 -112
  351. data/examples/v201506/targeting/get_campaign_targeting_criteria.rb +0 -106
  352. data/examples/v201506/targeting/get_targetable_languages_and_carriers.rb +0 -89
  353. data/examples/v201506/targeting/lookup_location.rb +0 -108
  354. data/lib/adwords_api/v201506/account_label_service.rb +0 -46
  355. data/lib/adwords_api/v201506/account_label_service_registry.rb +0 -46
  356. data/lib/adwords_api/v201506/ad_customizer_feed_service.rb +0 -46
  357. data/lib/adwords_api/v201506/ad_customizer_feed_service_registry.rb +0 -46
  358. data/lib/adwords_api/v201506/ad_group_ad_service.rb +0 -70
  359. data/lib/adwords_api/v201506/ad_group_ad_service_registry.rb +0 -46
  360. data/lib/adwords_api/v201506/ad_group_bid_modifier_service.rb +0 -54
  361. data/lib/adwords_api/v201506/ad_group_bid_modifier_service_registry.rb +0 -46
  362. data/lib/adwords_api/v201506/ad_group_criterion_service.rb +0 -62
  363. data/lib/adwords_api/v201506/ad_group_criterion_service_registry.rb +0 -46
  364. data/lib/adwords_api/v201506/ad_group_extension_setting_service.rb +0 -54
  365. data/lib/adwords_api/v201506/ad_group_extension_setting_service_registry.rb +0 -46
  366. data/lib/adwords_api/v201506/ad_group_feed_service.rb +0 -54
  367. data/lib/adwords_api/v201506/ad_group_feed_service_registry.rb +0 -46
  368. data/lib/adwords_api/v201506/ad_group_service.rb +0 -62
  369. data/lib/adwords_api/v201506/ad_group_service_registry.rb +0 -46
  370. data/lib/adwords_api/v201506/ad_param_service.rb +0 -46
  371. data/lib/adwords_api/v201506/ad_param_service_registry.rb +0 -46
  372. data/lib/adwords_api/v201506/adwords_user_list_service.rb +0 -46
  373. data/lib/adwords_api/v201506/adwords_user_list_service_registry.rb +0 -46
  374. data/lib/adwords_api/v201506/bidding_strategy_service.rb +0 -54
  375. data/lib/adwords_api/v201506/bidding_strategy_service_registry.rb +0 -46
  376. data/lib/adwords_api/v201506/budget_order_service.rb +0 -54
  377. data/lib/adwords_api/v201506/budget_order_service_registry.rb +0 -46
  378. data/lib/adwords_api/v201506/budget_service.rb +0 -54
  379. data/lib/adwords_api/v201506/budget_service_registry.rb +0 -46
  380. data/lib/adwords_api/v201506/campaign_criterion_service.rb +0 -54
  381. data/lib/adwords_api/v201506/campaign_criterion_service_registry.rb +0 -46
  382. data/lib/adwords_api/v201506/campaign_extension_setting_service.rb +0 -54
  383. data/lib/adwords_api/v201506/campaign_extension_setting_service_registry.rb +0 -46
  384. data/lib/adwords_api/v201506/campaign_feed_service.rb +0 -54
  385. data/lib/adwords_api/v201506/campaign_feed_service_registry.rb +0 -46
  386. data/lib/adwords_api/v201506/campaign_service.rb +0 -62
  387. data/lib/adwords_api/v201506/campaign_service_registry.rb +0 -46
  388. data/lib/adwords_api/v201506/campaign_shared_set_service.rb +0 -54
  389. data/lib/adwords_api/v201506/campaign_shared_set_service_registry.rb +0 -46
  390. data/lib/adwords_api/v201506/constant_data_service.rb +0 -102
  391. data/lib/adwords_api/v201506/constant_data_service_registry.rb +0 -46
  392. data/lib/adwords_api/v201506/conversion_tracker_service.rb +0 -54
  393. data/lib/adwords_api/v201506/conversion_tracker_service_registry.rb +0 -46
  394. data/lib/adwords_api/v201506/customer_extension_setting_service.rb +0 -54
  395. data/lib/adwords_api/v201506/customer_extension_setting_service_registry.rb +0 -46
  396. data/lib/adwords_api/v201506/customer_feed_service.rb +0 -54
  397. data/lib/adwords_api/v201506/customer_feed_service_registry.rb +0 -46
  398. data/lib/adwords_api/v201506/customer_service.rb +0 -46
  399. data/lib/adwords_api/v201506/customer_service_registry.rb +0 -46
  400. data/lib/adwords_api/v201506/customer_sync_service.rb +0 -38
  401. data/lib/adwords_api/v201506/customer_sync_service_registry.rb +0 -47
  402. data/lib/adwords_api/v201506/data_service.rb +0 -78
  403. data/lib/adwords_api/v201506/data_service_registry.rb +0 -46
  404. data/lib/adwords_api/v201506/experiment_service.rb +0 -46
  405. data/lib/adwords_api/v201506/experiment_service_registry.rb +0 -46
  406. data/lib/adwords_api/v201506/feed_item_service.rb +0 -54
  407. data/lib/adwords_api/v201506/feed_item_service_registry.rb +0 -46
  408. data/lib/adwords_api/v201506/feed_mapping_service.rb +0 -54
  409. data/lib/adwords_api/v201506/feed_mapping_service_registry.rb +0 -46
  410. data/lib/adwords_api/v201506/feed_service.rb +0 -54
  411. data/lib/adwords_api/v201506/feed_service_registry.rb +0 -46
  412. data/lib/adwords_api/v201506/geo_location_service.rb +0 -38
  413. data/lib/adwords_api/v201506/geo_location_service_registry.rb +0 -46
  414. data/lib/adwords_api/v201506/label_service.rb +0 -54
  415. data/lib/adwords_api/v201506/label_service_registry.rb +0 -46
  416. data/lib/adwords_api/v201506/location_criterion_service.rb +0 -46
  417. data/lib/adwords_api/v201506/location_criterion_service_registry.rb +0 -46
  418. data/lib/adwords_api/v201506/managed_customer_service.rb +0 -78
  419. data/lib/adwords_api/v201506/managed_customer_service_registry.rb +0 -46
  420. data/lib/adwords_api/v201506/media_service.rb +0 -54
  421. data/lib/adwords_api/v201506/media_service_registry.rb +0 -46
  422. data/lib/adwords_api/v201506/mutate_job_service.rb +0 -54
  423. data/lib/adwords_api/v201506/mutate_job_service_registry.rb +0 -46
  424. data/lib/adwords_api/v201506/offline_conversion_feed_service.rb +0 -38
  425. data/lib/adwords_api/v201506/offline_conversion_feed_service_registry.rb +0 -46
  426. data/lib/adwords_api/v201506/report_definition_service.rb +0 -38
  427. data/lib/adwords_api/v201506/report_definition_service_registry.rb +0 -46
  428. data/lib/adwords_api/v201506/shared_criterion_service.rb +0 -54
  429. data/lib/adwords_api/v201506/shared_criterion_service_registry.rb +0 -46
  430. data/lib/adwords_api/v201506/shared_set_service.rb +0 -54
  431. data/lib/adwords_api/v201506/shared_set_service_registry.rb +0 -46
  432. data/lib/adwords_api/v201506/targeting_idea_service.rb +0 -38
  433. data/lib/adwords_api/v201506/targeting_idea_service_registry.rb +0 -46
  434. data/lib/adwords_api/v201506/traffic_estimator_service.rb +0 -38
  435. data/lib/adwords_api/v201506/traffic_estimator_service_registry.rb +0 -46
  436. data/test/templates/v201506/basic_operations_get_campaigns.def +0 -116
  437. data/test/templates/v201506/misc_use_oauth2_service_account.def +0 -131
@@ -1,88 +0,0 @@
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 create an account. Note by default this
20
- # account will only be accessible via parent AdWords manager account.
21
-
22
- require 'adwords_api'
23
- require 'adwords_api/utils'
24
-
25
- def create_account()
26
- # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
27
- # when called without parameters.
28
- adwords = AdwordsApi::Api.new
29
-
30
- # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
31
- # the configuration file or provide your own logger:
32
- # adwords.logger = Logger.new('adwords_xml.log')
33
-
34
- managed_customer_srv = adwords.service(:ManagedCustomerService, API_VERSION)
35
-
36
- # Create a local Customer object.
37
- customer = {
38
- :name => 'Account created with ManagedCustomerService',
39
- :currency_code => 'EUR',
40
- :date_time_zone => 'Europe/London'
41
- }
42
-
43
- # Prepare operation to create an account.
44
- operation = {
45
- :operator => 'ADD',
46
- :operand => customer
47
- }
48
-
49
- # Create the account. It is possible to create multiple accounts with one
50
- # request by sending an array of operations.
51
- response = managed_customer_srv.mutate([operation])
52
-
53
- response[:value].each do |new_account|
54
- puts "Account with customer ID '%s' was successfully created." %
55
- AdwordsApi::Utils.format_id(new_account[:customer_id])
56
- end
57
- end
58
-
59
- if __FILE__ == $0
60
- API_VERSION = :v201506
61
-
62
- begin
63
- create_account()
64
-
65
- # Authorization error.
66
- rescue AdsCommon::Errors::OAuth2VerificationRequired => e
67
- puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
68
- "OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
69
- "to retrieve and store OAuth2 tokens."
70
- puts "See this wiki page for more details:\n\n " +
71
- 'https://github.com/googleads/google-api-ads-ruby/wiki/OAuth2'
72
-
73
- # HTTP errors.
74
- rescue AdsCommon::Errors::HttpError => e
75
- puts "HTTP Error: %s" % e
76
-
77
- # API errors.
78
- rescue AdwordsApi::Errors::ApiException => e
79
- puts "Message: %s" % e.message
80
- puts 'Errors:'
81
- e.errors.each_with_index do |error, index|
82
- puts "\tError [%d]:" % (index + 1)
83
- error.each do |field, value|
84
- puts "\t\t%s: %s" % [field, value]
85
- end
86
- end
87
- end
88
- end
@@ -1,139 +0,0 @@
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 all account changes that happened within the last 24 hours,
20
- # for all your campaigns.
21
-
22
- require 'adwords_api'
23
- require 'date'
24
- require 'pp'
25
-
26
- def get_account_changes()
27
- # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
28
- # when called without parameters.
29
- adwords = AdwordsApi::Api.new
30
-
31
- # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
32
- # the configuration file or provide your own logger:
33
- # adwords.logger = Logger.new('adwords_xml.log')
34
-
35
- campaign_srv = adwords.service(:CampaignService, API_VERSION)
36
- customer_sync_srv = adwords.service(:CustomerSyncService, API_VERSION)
37
-
38
- today_at_midnight = DateTime.parse(Date.today.to_s)
39
- yesterday_at_midnight = DateTime.parse((Date.today - 1).to_s)
40
- min_date_time = yesterday_at_midnight.strftime("%Y%m%d %H%M%S")
41
- max_date_time = today_at_midnight.strftime("%Y%m%d %H%M%S")
42
-
43
- # Get all the campaigns for this account.
44
- selector = {
45
- :fields => ['Id']
46
- }
47
- response = campaign_srv.get(selector)
48
-
49
- campaign_ids = []
50
-
51
- if response and response[:entries]
52
- campaign_ids = response[:entries].map { |campaign| campaign[:id] }
53
- else
54
- raise StandardError, 'No campaigns were found.'
55
- end
56
-
57
- # Create a selector for CustomerSyncService.
58
- selector = {
59
- :campaign_ids => campaign_ids,
60
- :date_time_range => {
61
- :min => min_date_time,
62
- :max => max_date_time
63
- }
64
- }
65
-
66
- # Get all account changes for the campaigns.
67
- campaign_changes = customer_sync_srv.get(selector)
68
-
69
- # Display changes.
70
- if campaign_changes
71
- puts "Most recent change: %s" % campaign_changes[:last_change_timestamp]
72
- campaign_changes[:changed_campaigns].each do |campaign|
73
- puts "Campaign with ID %d was changed:" % campaign[:campaign_id]
74
- puts "\tCampaign change status: '%s'" % campaign[:campaign_change_status]
75
- unless ['NEW', 'FIELDS_UNCHANGED'].include?(
76
- campaign[:campaign_change_status])
77
- puts "\tAdded ad extensions: '%s'" %
78
- campaign[:added_ad_extensions].pretty_inspect.chomp
79
- puts "\tAdded campaign criteria: '%s'" %
80
- campaign[:added_campaign_criteria].pretty_inspect.chomp
81
- puts "\tRemoved ad extensions: '%s'" %
82
- campaign[:removed_ad_extensions].pretty_inspect.chomp
83
- puts "\tRemoved campaign criteria: '%s'" %
84
- campaign[:removed_campaign_criteria].pretty_inspect.chomp
85
-
86
- if campaign[:changed_ad_groups]
87
- campaign[:changed_ad_groups].each do |ad_group|
88
- puts "\tAd group with ID %d was changed:" % ad_group[:ad_group_id]
89
- puts "\t\tAd group changed status: '%s'" %
90
- ad_group[:ad_group_change_status]
91
- unless ['NEW', 'FIELDS_UNCHANGED'].include?(
92
- ad_group[:ad_group_change_status])
93
- puts "\t\tAds changed: '%s'" %
94
- ad_group[:changed_ads].pretty_inspect.chomp
95
- puts "\t\tCriteria changed: '%s'" %
96
- ad_group[:changed_criteria].pretty_inspect.chomp
97
- puts "\t\tCriteria removed: '%s'" %
98
- ad_group[:removed_criteria].pretty_inspect.chomp
99
- end
100
- end
101
- end
102
- end
103
- puts
104
- end
105
- else
106
- puts 'No account changes were found.'
107
- end
108
- end
109
-
110
- if __FILE__ == $0
111
- API_VERSION = :v201506
112
-
113
- begin
114
- get_account_changes()
115
-
116
- # Authorization error.
117
- rescue AdsCommon::Errors::OAuth2VerificationRequired => e
118
- puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
119
- "OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
120
- "to retrieve and store OAuth2 tokens."
121
- puts "See this wiki page for more details:\n\n " +
122
- 'https://github.com/googleads/google-api-ads-ruby/wiki/OAuth2'
123
-
124
- # HTTP errors.
125
- rescue AdsCommon::Errors::HttpError => e
126
- puts "HTTP Error: %s" % e
127
-
128
- # API errors.
129
- rescue AdwordsApi::Errors::ApiException => e
130
- puts "Message: %s" % e.message
131
- puts 'Errors:'
132
- e.errors.each_with_index do |error, index|
133
- puts "\tError [%d]:" % (index + 1)
134
- error.each do |field, value|
135
- puts "\t\t%s: %s" % [field, value]
136
- end
137
- end
138
- end
139
- end
@@ -1,94 +0,0 @@
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 the account hierarchy under an
20
- # account. This example needs to be run against an AdWords manager account.
21
-
22
- require 'adwords_api'
23
- require 'adwords_api/utils'
24
-
25
- def get_account_hierarchy()
26
- # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
27
- # when called without parameters.
28
- adwords = AdwordsApi::Api.new
29
-
30
- # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
31
- # the configuration file or provide your own logger:
32
- # adwords.logger = Logger.new('adwords_xml.log')
33
-
34
- managed_customer_srv = adwords.service(:ManagedCustomerService, API_VERSION)
35
-
36
- # Get the account hierarchy for this account.
37
- selector = {
38
- :fields => ['CustomerId', 'Name']
39
- }
40
-
41
- graph = managed_customer_srv.get(selector)
42
-
43
- if graph and graph[:entries]
44
- puts 'Accounts under this hierarchy: %d' % graph[:total_num_entries]
45
- graph[:entries].each_with_index do |account, index|
46
- puts "%d) Customer ID: %s" %
47
- [index + 1, AdwordsApi::Utils.format_id(account[:customer_id])]
48
- puts "\tName: %s" % account[:name]
49
- end
50
-
51
- # Display the links.
52
- if graph[:links]
53
- puts 'Hierarchy links:'
54
- graph[:links].each do |link|
55
- puts "\tThere is a link from %s to %s" %
56
- [AdwordsApi::Utils.format_id(link[:manager_customer_id]),
57
- AdwordsApi::Utils.format_id(link[:client_customer_id])]
58
- end
59
- end
60
- else
61
- puts 'No accounts were found.'
62
- end
63
- end
64
-
65
- if __FILE__ == $0
66
- API_VERSION = :v201506
67
-
68
- begin
69
- get_account_hierarchy()
70
-
71
- # Authorization error.
72
- rescue AdsCommon::Errors::OAuth2VerificationRequired => e
73
- puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
74
- "OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
75
- "to retrieve and store OAuth2 tokens."
76
- puts "See this wiki page for more details:\n\n " +
77
- 'https://github.com/googleads/google-api-ads-ruby/wiki/OAuth2'
78
-
79
- # HTTP errors.
80
- rescue AdsCommon::Errors::HttpError => e
81
- puts "HTTP Error: %s" % e
82
-
83
- # API errors.
84
- rescue AdwordsApi::Errors::ApiException => e
85
- puts "Message: %s" % e.message
86
- puts 'Errors:'
87
- e.errors.each_with_index do |error, index|
88
- puts "\tError [%d]:" % (index + 1)
89
- error.each do |field, value|
90
- puts "\t\t%s: %s" % [field, value]
91
- end
92
- end
93
- end
94
- end
@@ -1,184 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # Encoding: utf-8
3
- #
4
- # Copyright:: Copyright 2015, 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 an ad customizer feed using Extension Services. Then it adds
20
- # an ad that uses the feed to populate dynamic data.
21
-
22
- require 'adwords_api'
23
- require 'date'
24
-
25
- def add_ad_customizers(feed_name, ad_group_ids)
26
- # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
27
- # when called without parameters.
28
- adwords = AdwordsApi::Api.new
29
-
30
- # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
31
- # the configuration file or provide your own logger:
32
- # adwords.logger = Logger.new('adwords_xml.log')
33
-
34
- feed_item_srv = adwords.service(:FeedItemService, API_VERSION)
35
- ad_group_ad_srv = adwords.service(:AdGroupAdService, API_VERSION)
36
-
37
- # Create a customizer feed. One feed per account can be used for all ads.
38
- feed_data = create_customizer_feed(adwords, feed_name)
39
-
40
- # Now adding feed items -- the values we'd like to place.
41
- now_date = Date.today()
42
-
43
- items_data = [
44
- {
45
- :name => 'Mars',
46
- :price => '$1234.56',
47
- :date => now_date.strftime('%Y%m01 000000'),
48
- :ad_group_id => ad_group_ids[0]
49
- },
50
- {
51
- :name => 'Venus',
52
- :price => '$1450.00',
53
- :date => now_date.strftime('%Y%m15 000000'),
54
- :ad_group_id => ad_group_ids[1]
55
- }
56
- ]
57
-
58
- feed_items = items_data.map do |item|
59
- {
60
- :feed_id => feed_data[:feed_id],
61
- :attribute_values => [
62
- {
63
- :feed_attribute_id => feed_data[:name_id],
64
- :string_value => item[:name]
65
- },
66
- {
67
- :feed_attribute_id => feed_data[:price_id],
68
- :string_value => item[:price]
69
- },
70
- {
71
- :feed_attribute_id => feed_data[:date_id],
72
- :string_value => item[:date]
73
- }
74
- ],
75
- :ad_group_targeting => {
76
- :targeting_ad_group_id => item[:ad_group_id]
77
- }
78
- }
79
- end
80
-
81
- feed_items_operations = feed_items.map do |item|
82
- {:operator => 'ADD', :operand => item}
83
- end
84
-
85
- response = feed_item_srv.mutate(feed_items_operations)
86
- if response and response[:value]
87
- response[:value].each do |feed_item|
88
- puts 'Feed item with ID %d was added.' % feed_item[:feed_item_id]
89
- end
90
- else
91
- raise new StandardError, 'No feed items were added.'
92
- end
93
-
94
- # All set! We can now create ads with customizations.
95
- text_ad = {
96
- :xsi_type => 'TextAd',
97
- :headline => 'Luxury Cruise to {=%s.Name}' % feed_name,
98
- :description1 => 'Only {=%s.Price}' % feed_name,
99
- :description2 => 'Offer ends in {=countdown(%s.Date)}!' % feed_name,
100
- :final_urls => ['http://www.example.com'],
101
- :display_url => 'www.example.com'
102
- }
103
-
104
- # We add the same ad to both ad groups. When they serve, they will show
105
- # different values, since they match different feed items.
106
- operations = ad_group_ids.map do |ad_group_id|
107
- {
108
- :operator => 'ADD',
109
- :operand => {
110
- :ad_group_id => ad_group_id,
111
- :ad => text_ad.dup()
112
- }
113
- }
114
- end
115
-
116
- response = ad_group_ad_srv.mutate(operations)
117
- if response and response[:value]
118
- ads = response[:value]
119
- ads.each do |ad|
120
- puts "\tCreated an ad with ID %d, type '%s' and status '%s'" %
121
- [ad[:ad][:id], ad[:ad][:ad_type], ad[:status]]
122
- end
123
- else
124
- raise StandardError, 'No ads were added.'
125
- end
126
- end
127
-
128
- def create_customizer_feed(adwords, feed_name)
129
- ad_customizer_srv = adwords.service(:AdCustomizerFeedService, API_VERSION)
130
- feed = {
131
- :feed_name => feed_name,
132
- :feed_attributes => [
133
- {:name => 'Name', :type => 'STRING'},
134
- {:name => 'Price', :type => 'PRICE'},
135
- {:name => 'Date', :type => 'DATE_TIME'}
136
- ]
137
- }
138
- operation = {:operand => feed, :operator => 'ADD'}
139
- added_feed = ad_customizer_srv.mutate([operation])[:value].first()
140
- puts "Created ad customizer feed with ID = %d and name = '%s'." %
141
- [added_feed[:feed_id], added_feed[:feed_name]]
142
- return {
143
- :feed_id => added_feed[:feed_id],
144
- :name_id => added_feed[:feed_attributes][0][:id],
145
- :price_id => added_feed[:feed_attributes][1][:id],
146
- :date_id => added_feed[:feed_attributes][2][:id]
147
- }
148
- end
149
-
150
- if __FILE__ == $0
151
- API_VERSION = :v201506
152
-
153
- begin
154
- feed_name = 'INSERT_FEED_NAME_HERE'.to_s
155
- ad_group_ids = [
156
- 'INSERT_AD_GROUP_ID_HERE'.to_i,
157
- 'INSERT_AD_GROUP_ID_HERE'.to_i
158
- ]
159
- add_ad_customizers(feed_name, ad_group_ids)
160
-
161
- # Authorization error.
162
- rescue AdsCommon::Errors::OAuth2VerificationRequired => e
163
- puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
164
- "OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
165
- "to retrieve and store OAuth2 tokens."
166
- puts "See this wiki page for more details:\n\n " +
167
- 'https://github.com/googleads/google-api-ads-ruby/wiki/OAuth2'
168
-
169
- # HTTP errors.
170
- rescue AdsCommon::Errors::HttpError => e
171
- puts "HTTP Error: %s" % e
172
-
173
- # API errors.
174
- rescue AdwordsApi::Errors::ApiException => e
175
- puts "Message: %s" % e.message
176
- puts 'Errors:'
177
- e.errors.each_with_index do |error, index|
178
- puts "\tError [%d]:" % (index + 1)
179
- error.each do |field, value|
180
- puts "\t\t%s: %s" % [field, value]
181
- end
182
- end
183
- end
184
- end