google-adwords-api 0.19.1 → 0.20.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 (447) hide show
  1. checksums.yaml +4 -4
  2. data/COPYING +0 -0
  3. data/ChangeLog +4 -0
  4. data/README.md +3 -3
  5. data/adwords_api.yml +0 -0
  6. data/examples/v201603/campaign_management/add_draft.rb +0 -0
  7. data/examples/v201603/campaign_management/add_trial.rb +0 -0
  8. data/examples/v201603/campaign_management/graduate_trial.rb +0 -0
  9. data/examples/v201605/advanced_operations/add_responsive_display_ad.rb +8 -4
  10. data/examples/v201605/campaign_management/add_draft.rb +0 -0
  11. data/examples/v201605/campaign_management/add_trial.rb +0 -0
  12. data/examples/v201605/campaign_management/graduate_trial.rb +0 -0
  13. data/lib/adwords_api.rb +0 -0
  14. data/lib/adwords_api/api_config.rb +0 -86
  15. data/lib/adwords_api/batch_job_utils.rb +0 -3
  16. data/lib/adwords_api/credential_handler.rb +0 -0
  17. data/lib/adwords_api/errors.rb +0 -0
  18. data/lib/adwords_api/incremental_upload_helper.rb +0 -0
  19. data/lib/adwords_api/report_header_handler.rb +0 -0
  20. data/lib/adwords_api/report_stream.rb +0 -0
  21. data/lib/adwords_api/report_utils.rb +0 -0
  22. data/lib/adwords_api/utils.rb +0 -0
  23. data/lib/adwords_api/utils_reporter.rb +0 -0
  24. data/lib/adwords_api/v201601/account_label_service.rb +0 -0
  25. data/lib/adwords_api/v201601/account_label_service_registry.rb +0 -0
  26. data/lib/adwords_api/v201601/ad_customizer_feed_service.rb +0 -0
  27. data/lib/adwords_api/v201601/ad_customizer_feed_service_registry.rb +0 -0
  28. data/lib/adwords_api/v201601/ad_group_ad_service.rb +0 -0
  29. data/lib/adwords_api/v201601/ad_group_ad_service_registry.rb +0 -0
  30. data/lib/adwords_api/v201601/ad_group_bid_modifier_service.rb +0 -0
  31. data/lib/adwords_api/v201601/ad_group_bid_modifier_service_registry.rb +0 -0
  32. data/lib/adwords_api/v201601/ad_group_criterion_service.rb +0 -0
  33. data/lib/adwords_api/v201601/ad_group_criterion_service_registry.rb +0 -0
  34. data/lib/adwords_api/v201601/ad_group_extension_setting_service.rb +0 -0
  35. data/lib/adwords_api/v201601/ad_group_extension_setting_service_registry.rb +0 -0
  36. data/lib/adwords_api/v201601/ad_group_feed_service.rb +0 -0
  37. data/lib/adwords_api/v201601/ad_group_feed_service_registry.rb +0 -0
  38. data/lib/adwords_api/v201601/ad_group_service.rb +0 -0
  39. data/lib/adwords_api/v201601/ad_group_service_registry.rb +0 -0
  40. data/lib/adwords_api/v201601/ad_param_service.rb +0 -0
  41. data/lib/adwords_api/v201601/ad_param_service_registry.rb +0 -0
  42. data/lib/adwords_api/v201601/adwords_user_list_service.rb +0 -0
  43. data/lib/adwords_api/v201601/adwords_user_list_service_registry.rb +0 -0
  44. data/lib/adwords_api/v201601/batch_job_service.rb +0 -0
  45. data/lib/adwords_api/v201601/batch_job_service_registry.rb +0 -0
  46. data/lib/adwords_api/v201601/bidding_strategy_service.rb +0 -0
  47. data/lib/adwords_api/v201601/bidding_strategy_service_registry.rb +0 -0
  48. data/lib/adwords_api/v201601/budget_order_service.rb +0 -0
  49. data/lib/adwords_api/v201601/budget_order_service_registry.rb +0 -0
  50. data/lib/adwords_api/v201601/budget_service.rb +0 -0
  51. data/lib/adwords_api/v201601/budget_service_registry.rb +0 -0
  52. data/lib/adwords_api/v201601/campaign_criterion_service.rb +0 -0
  53. data/lib/adwords_api/v201601/campaign_criterion_service_registry.rb +0 -0
  54. data/lib/adwords_api/v201601/campaign_extension_setting_service.rb +0 -0
  55. data/lib/adwords_api/v201601/campaign_extension_setting_service_registry.rb +0 -0
  56. data/lib/adwords_api/v201601/campaign_feed_service.rb +0 -0
  57. data/lib/adwords_api/v201601/campaign_feed_service_registry.rb +0 -0
  58. data/lib/adwords_api/v201601/campaign_service.rb +0 -0
  59. data/lib/adwords_api/v201601/campaign_service_registry.rb +0 -0
  60. data/lib/adwords_api/v201601/campaign_shared_set_service.rb +0 -0
  61. data/lib/adwords_api/v201601/campaign_shared_set_service_registry.rb +0 -0
  62. data/lib/adwords_api/v201601/constant_data_service.rb +0 -0
  63. data/lib/adwords_api/v201601/constant_data_service_registry.rb +0 -0
  64. data/lib/adwords_api/v201601/conversion_tracker_service.rb +0 -0
  65. data/lib/adwords_api/v201601/conversion_tracker_service_registry.rb +0 -0
  66. data/lib/adwords_api/v201601/customer_extension_setting_service.rb +0 -0
  67. data/lib/adwords_api/v201601/customer_extension_setting_service_registry.rb +0 -0
  68. data/lib/adwords_api/v201601/customer_feed_service.rb +0 -0
  69. data/lib/adwords_api/v201601/customer_feed_service_registry.rb +0 -0
  70. data/lib/adwords_api/v201601/customer_service.rb +0 -0
  71. data/lib/adwords_api/v201601/customer_service_registry.rb +0 -0
  72. data/lib/adwords_api/v201601/customer_sync_service.rb +0 -0
  73. data/lib/adwords_api/v201601/customer_sync_service_registry.rb +0 -0
  74. data/lib/adwords_api/v201601/data_service.rb +0 -0
  75. data/lib/adwords_api/v201601/data_service_registry.rb +0 -0
  76. data/lib/adwords_api/v201601/experiment_service.rb +0 -0
  77. data/lib/adwords_api/v201601/experiment_service_registry.rb +0 -0
  78. data/lib/adwords_api/v201601/feed_item_service.rb +0 -0
  79. data/lib/adwords_api/v201601/feed_item_service_registry.rb +0 -0
  80. data/lib/adwords_api/v201601/feed_mapping_service.rb +0 -0
  81. data/lib/adwords_api/v201601/feed_mapping_service_registry.rb +0 -0
  82. data/lib/adwords_api/v201601/feed_service.rb +0 -0
  83. data/lib/adwords_api/v201601/feed_service_registry.rb +0 -0
  84. data/lib/adwords_api/v201601/label_service.rb +0 -0
  85. data/lib/adwords_api/v201601/label_service_registry.rb +0 -0
  86. data/lib/adwords_api/v201601/location_criterion_service.rb +0 -0
  87. data/lib/adwords_api/v201601/location_criterion_service_registry.rb +0 -0
  88. data/lib/adwords_api/v201601/managed_customer_service.rb +0 -0
  89. data/lib/adwords_api/v201601/managed_customer_service_registry.rb +0 -0
  90. data/lib/adwords_api/v201601/media_service.rb +0 -0
  91. data/lib/adwords_api/v201601/media_service_registry.rb +0 -0
  92. data/lib/adwords_api/v201601/mutate_job_service.rb +0 -0
  93. data/lib/adwords_api/v201601/mutate_job_service_registry.rb +0 -0
  94. data/lib/adwords_api/v201601/offline_conversion_feed_service.rb +0 -0
  95. data/lib/adwords_api/v201601/offline_conversion_feed_service_registry.rb +0 -0
  96. data/lib/adwords_api/v201601/report_definition_service.rb +0 -0
  97. data/lib/adwords_api/v201601/report_definition_service_registry.rb +0 -0
  98. data/lib/adwords_api/v201601/shared_criterion_service.rb +0 -0
  99. data/lib/adwords_api/v201601/shared_criterion_service_registry.rb +0 -0
  100. data/lib/adwords_api/v201601/shared_set_service.rb +0 -0
  101. data/lib/adwords_api/v201601/shared_set_service_registry.rb +0 -0
  102. data/lib/adwords_api/v201601/targeting_idea_service.rb +0 -0
  103. data/lib/adwords_api/v201601/targeting_idea_service_registry.rb +0 -0
  104. data/lib/adwords_api/v201601/traffic_estimator_service.rb +0 -0
  105. data/lib/adwords_api/v201601/traffic_estimator_service_registry.rb +0 -0
  106. data/lib/adwords_api/v201603/account_label_service.rb +0 -0
  107. data/lib/adwords_api/v201603/account_label_service_registry.rb +0 -0
  108. data/lib/adwords_api/v201603/ad_customizer_feed_service.rb +0 -0
  109. data/lib/adwords_api/v201603/ad_customizer_feed_service_registry.rb +0 -0
  110. data/lib/adwords_api/v201603/ad_group_ad_service.rb +0 -0
  111. data/lib/adwords_api/v201603/ad_group_ad_service_registry.rb +0 -0
  112. data/lib/adwords_api/v201603/ad_group_bid_modifier_service.rb +0 -0
  113. data/lib/adwords_api/v201603/ad_group_bid_modifier_service_registry.rb +0 -0
  114. data/lib/adwords_api/v201603/ad_group_criterion_service.rb +0 -0
  115. data/lib/adwords_api/v201603/ad_group_criterion_service_registry.rb +0 -0
  116. data/lib/adwords_api/v201603/ad_group_extension_setting_service.rb +0 -0
  117. data/lib/adwords_api/v201603/ad_group_extension_setting_service_registry.rb +0 -0
  118. data/lib/adwords_api/v201603/ad_group_feed_service.rb +0 -0
  119. data/lib/adwords_api/v201603/ad_group_feed_service_registry.rb +0 -0
  120. data/lib/adwords_api/v201603/ad_group_service.rb +0 -0
  121. data/lib/adwords_api/v201603/ad_group_service_registry.rb +0 -0
  122. data/lib/adwords_api/v201603/ad_param_service.rb +0 -0
  123. data/lib/adwords_api/v201603/ad_param_service_registry.rb +0 -0
  124. data/lib/adwords_api/v201603/adwords_user_list_service.rb +0 -0
  125. data/lib/adwords_api/v201603/adwords_user_list_service_registry.rb +0 -0
  126. data/lib/adwords_api/v201603/batch_job_service.rb +0 -0
  127. data/lib/adwords_api/v201603/batch_job_service_registry.rb +0 -0
  128. data/lib/adwords_api/v201603/bidding_strategy_service.rb +0 -0
  129. data/lib/adwords_api/v201603/bidding_strategy_service_registry.rb +0 -0
  130. data/lib/adwords_api/v201603/budget_order_service.rb +0 -0
  131. data/lib/adwords_api/v201603/budget_order_service_registry.rb +0 -0
  132. data/lib/adwords_api/v201603/budget_service.rb +0 -0
  133. data/lib/adwords_api/v201603/budget_service_registry.rb +0 -0
  134. data/lib/adwords_api/v201603/campaign_criterion_service.rb +0 -0
  135. data/lib/adwords_api/v201603/campaign_criterion_service_registry.rb +0 -0
  136. data/lib/adwords_api/v201603/campaign_extension_setting_service.rb +0 -0
  137. data/lib/adwords_api/v201603/campaign_extension_setting_service_registry.rb +0 -0
  138. data/lib/adwords_api/v201603/campaign_feed_service.rb +0 -0
  139. data/lib/adwords_api/v201603/campaign_feed_service_registry.rb +0 -0
  140. data/lib/adwords_api/v201603/campaign_service.rb +0 -0
  141. data/lib/adwords_api/v201603/campaign_service_registry.rb +0 -0
  142. data/lib/adwords_api/v201603/campaign_shared_set_service.rb +0 -0
  143. data/lib/adwords_api/v201603/campaign_shared_set_service_registry.rb +0 -0
  144. data/lib/adwords_api/v201603/constant_data_service.rb +0 -0
  145. data/lib/adwords_api/v201603/constant_data_service_registry.rb +0 -0
  146. data/lib/adwords_api/v201603/conversion_tracker_service.rb +0 -0
  147. data/lib/adwords_api/v201603/conversion_tracker_service_registry.rb +0 -0
  148. data/lib/adwords_api/v201603/customer_extension_setting_service.rb +0 -0
  149. data/lib/adwords_api/v201603/customer_extension_setting_service_registry.rb +0 -0
  150. data/lib/adwords_api/v201603/customer_feed_service.rb +0 -0
  151. data/lib/adwords_api/v201603/customer_feed_service_registry.rb +0 -0
  152. data/lib/adwords_api/v201603/customer_service.rb +0 -0
  153. data/lib/adwords_api/v201603/customer_service_registry.rb +0 -0
  154. data/lib/adwords_api/v201603/customer_sync_service.rb +0 -0
  155. data/lib/adwords_api/v201603/customer_sync_service_registry.rb +0 -0
  156. data/lib/adwords_api/v201603/data_service.rb +0 -0
  157. data/lib/adwords_api/v201603/data_service_registry.rb +0 -0
  158. data/lib/adwords_api/v201603/draft_async_error_service.rb +0 -0
  159. data/lib/adwords_api/v201603/draft_async_error_service_registry.rb +0 -0
  160. data/lib/adwords_api/v201603/draft_service.rb +0 -0
  161. data/lib/adwords_api/v201603/draft_service_registry.rb +0 -0
  162. data/lib/adwords_api/v201603/experiment_service.rb +0 -0
  163. data/lib/adwords_api/v201603/experiment_service_registry.rb +0 -0
  164. data/lib/adwords_api/v201603/feed_item_service.rb +0 -0
  165. data/lib/adwords_api/v201603/feed_item_service_registry.rb +0 -0
  166. data/lib/adwords_api/v201603/feed_mapping_service.rb +0 -0
  167. data/lib/adwords_api/v201603/feed_mapping_service_registry.rb +0 -0
  168. data/lib/adwords_api/v201603/feed_service.rb +0 -0
  169. data/lib/adwords_api/v201603/feed_service_registry.rb +0 -0
  170. data/lib/adwords_api/v201603/label_service.rb +0 -0
  171. data/lib/adwords_api/v201603/label_service_registry.rb +0 -0
  172. data/lib/adwords_api/v201603/location_criterion_service.rb +0 -0
  173. data/lib/adwords_api/v201603/location_criterion_service_registry.rb +0 -0
  174. data/lib/adwords_api/v201603/managed_customer_service.rb +0 -0
  175. data/lib/adwords_api/v201603/managed_customer_service_registry.rb +0 -0
  176. data/lib/adwords_api/v201603/media_service.rb +0 -0
  177. data/lib/adwords_api/v201603/media_service_registry.rb +0 -0
  178. data/lib/adwords_api/v201603/offline_conversion_feed_service.rb +0 -0
  179. data/lib/adwords_api/v201603/offline_conversion_feed_service_registry.rb +0 -0
  180. data/lib/adwords_api/v201603/report_definition_service.rb +0 -0
  181. data/lib/adwords_api/v201603/report_definition_service_registry.rb +0 -0
  182. data/lib/adwords_api/v201603/shared_criterion_service.rb +0 -0
  183. data/lib/adwords_api/v201603/shared_criterion_service_registry.rb +0 -0
  184. data/lib/adwords_api/v201603/shared_set_service.rb +0 -0
  185. data/lib/adwords_api/v201603/shared_set_service_registry.rb +0 -0
  186. data/lib/adwords_api/v201603/targeting_idea_service.rb +0 -0
  187. data/lib/adwords_api/v201603/targeting_idea_service_registry.rb +0 -0
  188. data/lib/adwords_api/v201603/traffic_estimator_service.rb +0 -0
  189. data/lib/adwords_api/v201603/traffic_estimator_service_registry.rb +0 -0
  190. data/lib/adwords_api/v201603/trial_async_error_service.rb +0 -0
  191. data/lib/adwords_api/v201603/trial_async_error_service_registry.rb +0 -0
  192. data/lib/adwords_api/v201603/trial_service.rb +0 -0
  193. data/lib/adwords_api/v201603/trial_service_registry.rb +0 -0
  194. data/lib/adwords_api/v201605/account_label_service.rb +0 -0
  195. data/lib/adwords_api/v201605/account_label_service_registry.rb +0 -0
  196. data/lib/adwords_api/v201605/ad_customizer_feed_service.rb +0 -0
  197. data/lib/adwords_api/v201605/ad_customizer_feed_service_registry.rb +0 -0
  198. data/lib/adwords_api/v201605/ad_group_ad_service.rb +0 -0
  199. data/lib/adwords_api/v201605/ad_group_ad_service_registry.rb +0 -0
  200. data/lib/adwords_api/v201605/ad_group_bid_modifier_service.rb +0 -0
  201. data/lib/adwords_api/v201605/ad_group_bid_modifier_service_registry.rb +0 -0
  202. data/lib/adwords_api/v201605/ad_group_criterion_service.rb +0 -0
  203. data/lib/adwords_api/v201605/ad_group_criterion_service_registry.rb +0 -0
  204. data/lib/adwords_api/v201605/ad_group_extension_setting_service.rb +0 -0
  205. data/lib/adwords_api/v201605/ad_group_extension_setting_service_registry.rb +0 -0
  206. data/lib/adwords_api/v201605/ad_group_feed_service.rb +0 -0
  207. data/lib/adwords_api/v201605/ad_group_feed_service_registry.rb +0 -0
  208. data/lib/adwords_api/v201605/ad_group_service.rb +0 -0
  209. data/lib/adwords_api/v201605/ad_group_service_registry.rb +0 -0
  210. data/lib/adwords_api/v201605/ad_param_service.rb +0 -0
  211. data/lib/adwords_api/v201605/ad_param_service_registry.rb +0 -0
  212. data/lib/adwords_api/v201605/adwords_user_list_service.rb +0 -0
  213. data/lib/adwords_api/v201605/adwords_user_list_service_registry.rb +0 -0
  214. data/lib/adwords_api/v201605/batch_job_service.rb +0 -0
  215. data/lib/adwords_api/v201605/batch_job_service_registry.rb +0 -0
  216. data/lib/adwords_api/v201605/bidding_strategy_service.rb +0 -0
  217. data/lib/adwords_api/v201605/bidding_strategy_service_registry.rb +0 -0
  218. data/lib/adwords_api/v201605/budget_order_service.rb +0 -0
  219. data/lib/adwords_api/v201605/budget_order_service_registry.rb +0 -0
  220. data/lib/adwords_api/v201605/budget_service.rb +0 -0
  221. data/lib/adwords_api/v201605/budget_service_registry.rb +0 -0
  222. data/lib/adwords_api/v201605/campaign_criterion_service.rb +0 -0
  223. data/lib/adwords_api/v201605/campaign_criterion_service_registry.rb +0 -0
  224. data/lib/adwords_api/v201605/campaign_extension_setting_service.rb +0 -0
  225. data/lib/adwords_api/v201605/campaign_extension_setting_service_registry.rb +0 -0
  226. data/lib/adwords_api/v201605/campaign_feed_service.rb +0 -0
  227. data/lib/adwords_api/v201605/campaign_feed_service_registry.rb +0 -0
  228. data/lib/adwords_api/v201605/campaign_service.rb +0 -0
  229. data/lib/adwords_api/v201605/campaign_service_registry.rb +0 -0
  230. data/lib/adwords_api/v201605/campaign_shared_set_service.rb +0 -0
  231. data/lib/adwords_api/v201605/campaign_shared_set_service_registry.rb +0 -0
  232. data/lib/adwords_api/v201605/constant_data_service.rb +0 -0
  233. data/lib/adwords_api/v201605/constant_data_service_registry.rb +0 -0
  234. data/lib/adwords_api/v201605/conversion_tracker_service.rb +0 -0
  235. data/lib/adwords_api/v201605/conversion_tracker_service_registry.rb +0 -0
  236. data/lib/adwords_api/v201605/customer_extension_setting_service.rb +0 -0
  237. data/lib/adwords_api/v201605/customer_extension_setting_service_registry.rb +0 -0
  238. data/lib/adwords_api/v201605/customer_feed_service.rb +0 -0
  239. data/lib/adwords_api/v201605/customer_feed_service_registry.rb +0 -0
  240. data/lib/adwords_api/v201605/customer_service.rb +0 -0
  241. data/lib/adwords_api/v201605/customer_service_registry.rb +0 -0
  242. data/lib/adwords_api/v201605/customer_sync_service.rb +0 -0
  243. data/lib/adwords_api/v201605/customer_sync_service_registry.rb +0 -0
  244. data/lib/adwords_api/v201605/data_service.rb +0 -0
  245. data/lib/adwords_api/v201605/data_service_registry.rb +0 -0
  246. data/lib/adwords_api/v201605/draft_async_error_service.rb +0 -0
  247. data/lib/adwords_api/v201605/draft_async_error_service_registry.rb +0 -0
  248. data/lib/adwords_api/v201605/draft_service.rb +0 -0
  249. data/lib/adwords_api/v201605/draft_service_registry.rb +0 -0
  250. data/lib/adwords_api/v201605/experiment_service.rb +0 -0
  251. data/lib/adwords_api/v201605/experiment_service_registry.rb +0 -0
  252. data/lib/adwords_api/v201605/feed_item_service.rb +0 -0
  253. data/lib/adwords_api/v201605/feed_item_service_registry.rb +0 -0
  254. data/lib/adwords_api/v201605/feed_mapping_service.rb +0 -0
  255. data/lib/adwords_api/v201605/feed_mapping_service_registry.rb +0 -0
  256. data/lib/adwords_api/v201605/feed_service.rb +0 -0
  257. data/lib/adwords_api/v201605/feed_service_registry.rb +0 -0
  258. data/lib/adwords_api/v201605/label_service.rb +0 -0
  259. data/lib/adwords_api/v201605/label_service_registry.rb +0 -0
  260. data/lib/adwords_api/v201605/location_criterion_service.rb +0 -0
  261. data/lib/adwords_api/v201605/location_criterion_service_registry.rb +0 -0
  262. data/lib/adwords_api/v201605/managed_customer_service.rb +0 -0
  263. data/lib/adwords_api/v201605/managed_customer_service_registry.rb +0 -0
  264. data/lib/adwords_api/v201605/media_service.rb +0 -0
  265. data/lib/adwords_api/v201605/media_service_registry.rb +0 -0
  266. data/lib/adwords_api/v201605/offline_conversion_feed_service.rb +0 -0
  267. data/lib/adwords_api/v201605/offline_conversion_feed_service_registry.rb +0 -0
  268. data/lib/adwords_api/v201605/report_definition_service.rb +0 -0
  269. data/lib/adwords_api/v201605/report_definition_service_registry.rb +0 -0
  270. data/lib/adwords_api/v201605/shared_criterion_service.rb +0 -0
  271. data/lib/adwords_api/v201605/shared_criterion_service_registry.rb +0 -0
  272. data/lib/adwords_api/v201605/shared_set_service.rb +0 -0
  273. data/lib/adwords_api/v201605/shared_set_service_registry.rb +0 -0
  274. data/lib/adwords_api/v201605/targeting_idea_service.rb +0 -0
  275. data/lib/adwords_api/v201605/targeting_idea_service_registry.rb +0 -0
  276. data/lib/adwords_api/v201605/traffic_estimator_service.rb +0 -0
  277. data/lib/adwords_api/v201605/traffic_estimator_service_registry.rb +0 -0
  278. data/lib/adwords_api/v201605/trial_async_error_service.rb +0 -0
  279. data/lib/adwords_api/v201605/trial_async_error_service_registry.rb +0 -0
  280. data/lib/adwords_api/v201605/trial_service.rb +0 -0
  281. data/lib/adwords_api/v201605/trial_service_registry.rb +0 -0
  282. data/lib/adwords_api/version.rb +1 -1
  283. data/test/adwords_api/test_batch_job_utils.rb +2 -2
  284. data/test/adwords_api/test_report_stream.rb +0 -0
  285. data/test/templates/v201605/basic_operations_get_campaigns.def +1 -1
  286. data/test/templates/v201605/misc_use_oauth2_jwt.def +1 -1
  287. metadata +4 -164
  288. data/examples/v201509/account_management/create_account.rb +0 -88
  289. data/examples/v201509/account_management/get_account_changes.rb +0 -139
  290. data/examples/v201509/account_management/get_account_hierarchy.rb +0 -94
  291. data/examples/v201509/advanced_operations/add_ad_customizers.rb +0 -184
  292. data/examples/v201509/advanced_operations/add_ad_group_bid_modifier.rb +0 -101
  293. data/examples/v201509/advanced_operations/add_click_to_download_ad.rb +0 -133
  294. data/examples/v201509/advanced_operations/add_complete_campaigns_using_batch_job.rb +0 -356
  295. data/examples/v201509/advanced_operations/add_html5_ad.rb +0 -137
  296. data/examples/v201509/advanced_operations/add_text_ad_with_upgraded_urls.rb +0 -134
  297. data/examples/v201509/advanced_operations/create_and_attach_shared_keyword_set.rb +0 -141
  298. data/examples/v201509/advanced_operations/find_and_remove_criteria_from_shared_set.rb +0 -174
  299. data/examples/v201509/advanced_operations/get_ad_group_bid_modifiers.rb +0 -102
  300. data/examples/v201509/advanced_operations/use_shared_bidding_strategy.rb +0 -147
  301. data/examples/v201509/basic_operations/add_ad_groups.rb +0 -142
  302. data/examples/v201509/basic_operations/add_campaigns.rb +0 -139
  303. data/examples/v201509/basic_operations/add_keywords.rb +0 -114
  304. data/examples/v201509/basic_operations/add_text_ads.rb +0 -109
  305. data/examples/v201509/basic_operations/get_ad_groups.rb +0 -102
  306. data/examples/v201509/basic_operations/get_campaigns.rb +0 -97
  307. data/examples/v201509/basic_operations/get_campaigns_with_awql.rb +0 -89
  308. data/examples/v201509/basic_operations/get_keywords.rb +0 -109
  309. data/examples/v201509/basic_operations/get_text_ads.rb +0 -110
  310. data/examples/v201509/basic_operations/pause_ad.rb +0 -88
  311. data/examples/v201509/basic_operations/remove_ad.rb +0 -89
  312. data/examples/v201509/basic_operations/remove_ad_group.rb +0 -85
  313. data/examples/v201509/basic_operations/remove_campaign.rb +0 -87
  314. data/examples/v201509/basic_operations/remove_keyword.rb +0 -94
  315. data/examples/v201509/basic_operations/update_ad_group.rb +0 -85
  316. data/examples/v201509/basic_operations/update_campaign.rb +0 -86
  317. data/examples/v201509/basic_operations/update_keyword.rb +0 -106
  318. data/examples/v201509/campaign_management/add_campaign_labels.rb +0 -82
  319. data/examples/v201509/campaign_management/add_experiment.rb +0 -162
  320. data/examples/v201509/campaign_management/add_keywords_in_bulk.rb +0 -153
  321. data/examples/v201509/campaign_management/add_keywords_using_incremental_batch_job.rb +0 -179
  322. data/examples/v201509/campaign_management/get_all_disapproved_ads.rb +0 -97
  323. data/examples/v201509/campaign_management/get_all_disapproved_ads_with_awql.rb +0 -89
  324. data/examples/v201509/campaign_management/get_campaigns_by_label.rb +0 -108
  325. data/examples/v201509/campaign_management/promote_experiment.rb +0 -81
  326. data/examples/v201509/campaign_management/set_ad_parameters.rb +0 -118
  327. data/examples/v201509/campaign_management/set_criterion_bid_modifier.rb +0 -104
  328. data/examples/v201509/campaign_management/validate_text_ad.rb +0 -110
  329. data/examples/v201509/error_handling/handle_partial_failures.rb +0 -130
  330. data/examples/v201509/error_handling/handle_policy_violation_error.rb +0 -141
  331. data/examples/v201509/extensions/add_google_my_business_location_extensions.rb +0 -193
  332. data/examples/v201509/extensions/add_site_links.rb +0 -164
  333. data/examples/v201509/extensions/add_site_links_using_feeds.rb +0 -281
  334. data/examples/v201509/migration/migrate_to_extension_settings.rb +0 -386
  335. data/examples/v201509/migration/upgrade_ad_url.rb +0 -93
  336. data/examples/v201509/misc/get_all_images_and_videos.rb +0 -104
  337. data/examples/v201509/misc/setup_oauth2.rb +0 -84
  338. data/examples/v201509/misc/upload_image.rb +0 -93
  339. data/examples/v201509/misc/upload_media_bundle.rb +0 -90
  340. data/examples/v201509/misc/use_oauth2_jwt.rb +0 -93
  341. data/examples/v201509/misc/use_runtime_config.rb +0 -92
  342. data/examples/v201509/optimization/estimate_keyword_traffic.rb +0 -146
  343. data/examples/v201509/optimization/get_keyword_bid_simulations.rb +0 -95
  344. data/examples/v201509/optimization/get_keyword_ideas.rb +0 -126
  345. data/examples/v201509/remarketing/add_audience.rb +0 -118
  346. data/examples/v201509/remarketing/add_conversion_tracker.rb +0 -98
  347. data/examples/v201509/remarketing/add_crm_based_user_list.rb +0 -119
  348. data/examples/v201509/remarketing/add_rule_based_user_lists.rb +0 -167
  349. data/examples/v201509/remarketing/upload_offline_conversions.rb +0 -98
  350. data/examples/v201509/reporting/download_criteria_report.rb +0 -92
  351. data/examples/v201509/reporting/download_criteria_report_with_awql.rb +0 -93
  352. data/examples/v201509/reporting/get_report_fields.rb +0 -75
  353. data/examples/v201509/reporting/parallel_report_download.rb +0 -164
  354. data/examples/v201509/reporting/stream_criteria_report_results.rb +0 -97
  355. data/examples/v201509/shopping_campaigns/add_product_partition_tree.rb +0 -267
  356. data/examples/v201509/shopping_campaigns/add_product_scope.rb +0 -129
  357. data/examples/v201509/shopping_campaigns/add_shopping_campaign.rb +0 -129
  358. data/examples/v201509/shopping_campaigns/get_product_category_taxonomy.rb +0 -115
  359. data/examples/v201509/targeting/add_campaign_targeting_criteria.rb +0 -180
  360. data/examples/v201509/targeting/add_demographic_targeting_criteria.rb +0 -112
  361. data/examples/v201509/targeting/get_campaign_targeting_criteria.rb +0 -106
  362. data/examples/v201509/targeting/get_targetable_languages_and_carriers.rb +0 -89
  363. data/examples/v201509/targeting/lookup_location.rb +0 -108
  364. data/lib/adwords_api/v201509/account_label_service.rb +0 -46
  365. data/lib/adwords_api/v201509/account_label_service_registry.rb +0 -46
  366. data/lib/adwords_api/v201509/ad_customizer_feed_service.rb +0 -46
  367. data/lib/adwords_api/v201509/ad_customizer_feed_service_registry.rb +0 -46
  368. data/lib/adwords_api/v201509/ad_group_ad_service.rb +0 -70
  369. data/lib/adwords_api/v201509/ad_group_ad_service_registry.rb +0 -46
  370. data/lib/adwords_api/v201509/ad_group_bid_modifier_service.rb +0 -54
  371. data/lib/adwords_api/v201509/ad_group_bid_modifier_service_registry.rb +0 -46
  372. data/lib/adwords_api/v201509/ad_group_criterion_service.rb +0 -62
  373. data/lib/adwords_api/v201509/ad_group_criterion_service_registry.rb +0 -46
  374. data/lib/adwords_api/v201509/ad_group_extension_setting_service.rb +0 -54
  375. data/lib/adwords_api/v201509/ad_group_extension_setting_service_registry.rb +0 -46
  376. data/lib/adwords_api/v201509/ad_group_feed_service.rb +0 -54
  377. data/lib/adwords_api/v201509/ad_group_feed_service_registry.rb +0 -46
  378. data/lib/adwords_api/v201509/ad_group_service.rb +0 -62
  379. data/lib/adwords_api/v201509/ad_group_service_registry.rb +0 -46
  380. data/lib/adwords_api/v201509/ad_param_service.rb +0 -46
  381. data/lib/adwords_api/v201509/ad_param_service_registry.rb +0 -46
  382. data/lib/adwords_api/v201509/adwords_user_list_service.rb +0 -54
  383. data/lib/adwords_api/v201509/adwords_user_list_service_registry.rb +0 -46
  384. data/lib/adwords_api/v201509/batch_job_service.rb +0 -54
  385. data/lib/adwords_api/v201509/batch_job_service_registry.rb +0 -46
  386. data/lib/adwords_api/v201509/bidding_strategy_service.rb +0 -54
  387. data/lib/adwords_api/v201509/bidding_strategy_service_registry.rb +0 -46
  388. data/lib/adwords_api/v201509/budget_order_service.rb +0 -54
  389. data/lib/adwords_api/v201509/budget_order_service_registry.rb +0 -46
  390. data/lib/adwords_api/v201509/budget_service.rb +0 -54
  391. data/lib/adwords_api/v201509/budget_service_registry.rb +0 -46
  392. data/lib/adwords_api/v201509/campaign_criterion_service.rb +0 -54
  393. data/lib/adwords_api/v201509/campaign_criterion_service_registry.rb +0 -46
  394. data/lib/adwords_api/v201509/campaign_extension_setting_service.rb +0 -54
  395. data/lib/adwords_api/v201509/campaign_extension_setting_service_registry.rb +0 -46
  396. data/lib/adwords_api/v201509/campaign_feed_service.rb +0 -54
  397. data/lib/adwords_api/v201509/campaign_feed_service_registry.rb +0 -46
  398. data/lib/adwords_api/v201509/campaign_service.rb +0 -62
  399. data/lib/adwords_api/v201509/campaign_service_registry.rb +0 -46
  400. data/lib/adwords_api/v201509/campaign_shared_set_service.rb +0 -54
  401. data/lib/adwords_api/v201509/campaign_shared_set_service_registry.rb +0 -46
  402. data/lib/adwords_api/v201509/constant_data_service.rb +0 -102
  403. data/lib/adwords_api/v201509/constant_data_service_registry.rb +0 -46
  404. data/lib/adwords_api/v201509/conversion_tracker_service.rb +0 -54
  405. data/lib/adwords_api/v201509/conversion_tracker_service_registry.rb +0 -46
  406. data/lib/adwords_api/v201509/customer_extension_setting_service.rb +0 -54
  407. data/lib/adwords_api/v201509/customer_extension_setting_service_registry.rb +0 -46
  408. data/lib/adwords_api/v201509/customer_feed_service.rb +0 -54
  409. data/lib/adwords_api/v201509/customer_feed_service_registry.rb +0 -46
  410. data/lib/adwords_api/v201509/customer_service.rb +0 -46
  411. data/lib/adwords_api/v201509/customer_service_registry.rb +0 -46
  412. data/lib/adwords_api/v201509/customer_sync_service.rb +0 -38
  413. data/lib/adwords_api/v201509/customer_sync_service_registry.rb +0 -47
  414. data/lib/adwords_api/v201509/data_service.rb +0 -78
  415. data/lib/adwords_api/v201509/data_service_registry.rb +0 -46
  416. data/lib/adwords_api/v201509/experiment_service.rb +0 -46
  417. data/lib/adwords_api/v201509/experiment_service_registry.rb +0 -46
  418. data/lib/adwords_api/v201509/feed_item_service.rb +0 -54
  419. data/lib/adwords_api/v201509/feed_item_service_registry.rb +0 -46
  420. data/lib/adwords_api/v201509/feed_mapping_service.rb +0 -54
  421. data/lib/adwords_api/v201509/feed_mapping_service_registry.rb +0 -46
  422. data/lib/adwords_api/v201509/feed_service.rb +0 -54
  423. data/lib/adwords_api/v201509/feed_service_registry.rb +0 -46
  424. data/lib/adwords_api/v201509/label_service.rb +0 -54
  425. data/lib/adwords_api/v201509/label_service_registry.rb +0 -46
  426. data/lib/adwords_api/v201509/location_criterion_service.rb +0 -46
  427. data/lib/adwords_api/v201509/location_criterion_service_registry.rb +0 -46
  428. data/lib/adwords_api/v201509/managed_customer_service.rb +0 -78
  429. data/lib/adwords_api/v201509/managed_customer_service_registry.rb +0 -46
  430. data/lib/adwords_api/v201509/media_service.rb +0 -54
  431. data/lib/adwords_api/v201509/media_service_registry.rb +0 -46
  432. data/lib/adwords_api/v201509/mutate_job_service.rb +0 -54
  433. data/lib/adwords_api/v201509/mutate_job_service_registry.rb +0 -46
  434. data/lib/adwords_api/v201509/offline_conversion_feed_service.rb +0 -38
  435. data/lib/adwords_api/v201509/offline_conversion_feed_service_registry.rb +0 -46
  436. data/lib/adwords_api/v201509/report_definition_service.rb +0 -38
  437. data/lib/adwords_api/v201509/report_definition_service_registry.rb +0 -46
  438. data/lib/adwords_api/v201509/shared_criterion_service.rb +0 -54
  439. data/lib/adwords_api/v201509/shared_criterion_service_registry.rb +0 -46
  440. data/lib/adwords_api/v201509/shared_set_service.rb +0 -54
  441. data/lib/adwords_api/v201509/shared_set_service_registry.rb +0 -46
  442. data/lib/adwords_api/v201509/targeting_idea_service.rb +0 -38
  443. data/lib/adwords_api/v201509/targeting_idea_service_registry.rb +0 -46
  444. data/lib/adwords_api/v201509/traffic_estimator_service.rb +0 -38
  445. data/lib/adwords_api/v201509/traffic_estimator_service_registry.rb +0 -46
  446. data/test/templates/v201509/basic_operations_get_campaigns.def +0 -116
  447. data/test/templates/v201509/misc_use_oauth2_jwt.def +0 -131
@@ -1,193 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # Encoding: utf-8
3
- #
4
- # Copyright:: Copyright 2014, 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 a feed that syncs feed items from a Google My Business (GMB)
20
- # account and associates the feed with a customer.
21
-
22
- require 'adwords_api'
23
- require 'date'
24
-
25
- def add_gmb_location_extensions(gmb_email_address, gmb_access_token,
26
- business_account_identifier)
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
- feed_srv = adwords.service(:FeedService, API_VERSION)
36
- customer_feed_srv = adwords.service(:CustomerFeedService, API_VERSION)
37
-
38
- if gmb_access_token.nil?
39
- gmb_access_token = adwords.get_auth_handler.get_token(
40
- adwords.credential_handler.credentials)[:access_token]
41
- end
42
-
43
- # Create a feed that will sync to the Google My Business account specified
44
- # by gmb_email_address. Do not add FeedAttributes to this object, as AdWords
45
- # will add them automatically because this will be a system generated feed.
46
- gmb_feed = {
47
- :name => "GMB feed #%d" % (Time.new.to_f * 1000).to_i,
48
- :system_feed_generation_data => {
49
- :xsi_type => 'PlacesLocationFeedData',
50
- :o_auth_info => {
51
- :http_method => 'GET',
52
- :http_request_url => 'https://www.googleapis.com/auth/adwords',
53
- :http_authorization_header => "Bearer %s" % gmb_access_token
54
- },
55
- :email_address => gmb_email_address
56
- },
57
- # Since this feed's feed items will be managed by AdWords, you must set
58
- # its origin to ADWORDS.
59
- :origin => 'ADWORDS'
60
- }
61
-
62
- # Optional: specify labels to filter Google My Business listings. If
63
- # specified, only listings that have any of the labels set are synchronized
64
- # into FeedItems.
65
- gmb_feed[:system_feed_generation_data][:label_filters] =
66
- ['Stores in New York City']
67
-
68
- # Only include the business_account_identifier if it's specified.
69
- # A nil value will cause an invalid request.
70
- unless business_account_identifier.nil?
71
- gmb_feed[:system_feed_generation_data][:business_account_identifier] =
72
- business_account_identifier
73
- end
74
-
75
- gmb_operation = {
76
- :operator => 'ADD',
77
- :operand => gmb_feed
78
- }
79
-
80
- result = feed_srv.mutate([gmb_operation])
81
- added_feed = result[:value].first
82
- puts "Added GMB feed with ID %d" % added_feed[:id]
83
-
84
- # Add a CustomerFeed that associates the feed with this customer for the
85
- # LOCATION placeholder type.
86
- customer_feed = {
87
- :feed_id => added_feed[:id],
88
- :placeholder_types => [PLACEHOLDER_TYPE_LOCATION],
89
- :matching_function => {
90
- :operator => 'IDENTITY',
91
- :lhs_operand => {
92
- :xsi_type => 'ConstantOperand',
93
- :type => 'BOOLEAN',
94
- :boolean_value => true
95
- }
96
- }
97
- }
98
-
99
- customer_feed_operation = {
100
- :xsi_type => 'CustomerFeedOperation',
101
- :operator => 'ADD',
102
- :operand => customer_feed
103
- }
104
-
105
- added_customer_feed = nil
106
- number_of_attempts = 0
107
- while i < MAX_CUSTOMER_FEED_ADD_ATTEMPTS && !added_customer_feed
108
- number_of_attempts += 1
109
- begin
110
- result = customer_feed_srv.mutate([customer_feed_operation])
111
- added_customer_feed = result[:value].first
112
- puts "Attempt #%d to add the CustomerFeed was successful" %
113
- number_of_attempts
114
- rescue
115
- sleep_seconds = 5 * (2 ** number_of_attempts)
116
- puts ("Attempt #%d to add the CustomerFeed was not succeessful. " +
117
- "Waiting %d seconds before trying again.") %
118
- [number_of_attempts, sleep_seconds]
119
- sleep(sleep_seconds)
120
- end
121
- end
122
-
123
- unless added_customer_feed
124
- raise StandardError, ("Could not create the CustomerFeed after %d " +
125
- "attempts. Please retry the CustomerFeed ADD operation later.") %
126
- MAX_CUSTOMER_FEED_ADD_ATTEMPTS
127
- end
128
-
129
- puts "Added CustomerFeed for feed ID %d and placeholder type %d" %
130
- [added_customer_feed[:id], added_customer_feed[:placeholder_types].first]
131
-
132
- # OPTIONAL: Create a CampaignFeed to specify which FeedItems to use at the
133
- # Campaign level. This will be similar to the CampaignFeed in the
134
- # add_site_links example, except you can filter based on the business name
135
- # and category of each FeedItem by using a FeedAttributeOperand in your
136
- # matching function.
137
-
138
- # OPTIONAL: Create an AdGroupFeed for even more fine grained control over
139
- # which feed items are used at the AdGroup level.
140
- end
141
-
142
- if __FILE__ == $0
143
- API_VERSION = :v201509
144
- PLACEHOLDER_TYPE_LOCATION = 7
145
- MAX_CUSTOMER_FEED_ADD_ATTEMPTS = 10
146
-
147
- begin
148
- # The email address of either an owner or a manager of the GMB account.
149
- gmb_email_address = 'INSERT_GMB_EMAIL_ADDRESS_HERE'
150
-
151
- # If the gmbEmailAddress above is the same as you used to generate your
152
- # AdWords API refresh token, leave the value below as nil.
153
- # Otherwise, to obtain an access token for your GMB account, generate a
154
- # refresh token as you did for AdWords, but make sure you are logged in as
155
- # the same user as gmb_email_address above when you follow the link, then
156
- # capture the generated access token
157
- gmb_access_token = nil
158
-
159
- # If the gmb_email_address above is for a GMB manager instead of
160
- # the GMB account owner, then set business_account_identifier to the
161
- # +Page ID of a location for which the manager has access. See the
162
- # location extensions guide at
163
- # https://developers.google.com/adwords/api/docs/guides/feed-services-locations
164
- # for details.
165
- business_account_identifier = nil
166
-
167
- add_gmb_location_extensions(gmb_email_address, gmb_access_token,
168
- business_account_identifier)
169
-
170
- # Authorization error.
171
- rescue AdsCommon::Errors::OAuth2VerificationRequired => e
172
- puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
173
- "OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
174
- "to retrieve and store OAuth2 tokens."
175
- puts "See this wiki page for more details:\n\n " +
176
- 'https://github.com/googleads/google-api-ads-ruby/wiki/OAuth2'
177
-
178
- # HTTP errors.
179
- rescue AdsCommon::Errors::HttpError => e
180
- puts "HTTP Error: %s" % e
181
-
182
- # API errors.
183
- rescue AdwordsApi::Errors::ApiException => e
184
- puts "Message: %s" % e.message
185
- puts 'Errors:'
186
- e.errors.each_with_index do |error, index|
187
- puts "\tError [%d]:" % (index + 1)
188
- error.each do |field, value|
189
- puts "\t\t%s: %s" % [field, value]
190
- end
191
- end
192
- end
193
- end
@@ -1,164 +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 a sitelinks feed and associates it with a campaign.
20
-
21
- require 'adwords_api'
22
- require 'date'
23
-
24
- def add_site_links(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
- customer_srv = adwords.service(:CustomerService, API_VERSION)
34
- customer = customer_srv.get()
35
- customer_time_zone = customer[:date_time_zone]
36
-
37
- campaign_extension_setting_srv =
38
- adwords.service(:CampaignExtensionSettingService, API_VERSION)
39
-
40
- sitelink_1 = {
41
- :xsi_type => "SitelinkFeedItem",
42
- :sitelink_text => "Store Hours",
43
- :sitelink_url => "http://www.example.com/storehours"
44
- }
45
-
46
- sitelink_2 = {
47
- :xsi_type => "SitelinkFeedItem",
48
- :sitelink_text => "Thanksgiving Specials",
49
- :sitelink_url => "http://www.example.com/thanksgiving",
50
- :start_time => DateTime.new(Date.today.year, 11, 20, 0, 0, 0).
51
- strftime("%Y%m%d %H%M%S ") + customer_time_zone,
52
- :end_time => DateTime.new(Date.today.year, 11, 27, 23, 59, 59).
53
- strftime("%Y%m%d %H%M%S ") + customer_time_zone
54
- }
55
-
56
- sitelink_3 = {
57
- :xsi_type => "SitelinkFeedItem",
58
- :sitelink_text => "Wifi available",
59
- :sitelink_url => "http://www.example.com/mobile/wifi",
60
- :device_preference => {:device_preference => 30001}
61
- }
62
-
63
- sitelink_4 = {
64
- :xsi_type => "SitelinkFeedItem",
65
- :sitelink_text => "Happy hours",
66
- :sitelink_url => "http://www.example.com/happyhours",
67
- :scheduling => {
68
- :feed_item_schedules => [
69
- {
70
- :day_of_week => 'MONDAY',
71
- :start_hour => 18,
72
- :start_minute => 'ZERO',
73
- :end_hour => 21,
74
- :end_minute => 'ZERO'
75
- },
76
- {
77
- :day_of_week => 'TUESDAY',
78
- :start_hour => 18,
79
- :start_minute => 'ZERO',
80
- :end_hour => 21,
81
- :end_minute => 'ZERO'
82
- },
83
- {
84
- :day_of_week => 'WEDNESDAY',
85
- :start_hour => 18,
86
- :start_minute => 'ZERO',
87
- :end_hour => 21,
88
- :end_minute => 'ZERO'
89
- },
90
- {
91
- :day_of_week => 'THURSDAY',
92
- :start_hour => 18,
93
- :start_minute => 'ZERO',
94
- :end_hour => 21,
95
- :end_minute => 'ZERO'
96
- },
97
- {
98
- :day_of_week => 'FRIDAY',
99
- :start_hour => 18,
100
- :start_minute => 'ZERO',
101
- :end_hour => 21,
102
- :end_minute => 'ZERO'
103
- }
104
- ]
105
- }
106
- }
107
-
108
- campaign_extension_setting = {
109
- :campaign_id => campaign_id,
110
- :extension_type => 'SITELINK',
111
- :extension_setting => {
112
- :extensions => [sitelink_1, sitelink_2, sitelink_3, sitelink_4]
113
- }
114
- }
115
-
116
- operation = {
117
- :operand => campaign_extension_setting,
118
- :operator => 'ADD'
119
- }
120
-
121
- response = campaign_extension_setting_srv.mutate([operation])
122
- if response and response[:value]
123
- new_extension_setting = response[:value].first
124
- puts "Extension setting wiht type = %s was added to campaign ID %d" % [
125
- new_extension_setting[:extension_type],
126
- new_extension_setting[:campaign_id]
127
- ]
128
- elsif
129
- puts "No extension settings were created."
130
- end
131
- end
132
-
133
- if __FILE__ == $0
134
- API_VERSION = :v201509
135
-
136
- begin
137
- # Campaign ID to add site link to.
138
- campaign_id = 'INSERT_CAMPAIGN_ID_HERE'.to_i
139
- add_site_links(campaign_id)
140
-
141
- # Authorization error.
142
- rescue AdsCommon::Errors::OAuth2VerificationRequired => e
143
- puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
144
- "OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
145
- "to retrieve and store OAuth2 tokens."
146
- puts "See this wiki page for more details:\n\n " +
147
- 'https://github.com/googleads/google-api-ads-ruby/wiki/OAuth2'
148
-
149
- # HTTP errors.
150
- rescue AdsCommon::Errors::HttpError => e
151
- puts "HTTP Error: %s" % e
152
-
153
- # API errors.
154
- rescue AdwordsApi::Errors::ApiException => e
155
- puts "Message: %s" % e.message
156
- puts 'Errors:'
157
- e.errors.each_with_index do |error, index|
158
- puts "\tError [%d]:" % (index + 1)
159
- error.each do |field, value|
160
- puts "\t\t%s: %s" % [field, value]
161
- end
162
- end
163
- end
164
- end
@@ -1,281 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # Encoding: utf-8
3
- #
4
- # Copyright:: Copyright 2013, 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 a sitelinks feed and associates it with a campaign.
20
-
21
- require 'adwords_api'
22
-
23
- def add_site_links(campaign_id)
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
- feed_srv = adwords.service(:FeedService, API_VERSION)
33
- feed_item_srv = adwords.service(:FeedItemService, API_VERSION)
34
- feed_mapping_srv = adwords.service(:FeedMappingService, API_VERSION)
35
- campaign_feed_srv = adwords.service(:CampaignFeedService, API_VERSION)
36
-
37
- sitelinks_data = {}
38
-
39
- # Create site links feed first.
40
- site_links_feed = {
41
- :name => 'Feed For Site Links',
42
- :attributes => [
43
- {:type => 'STRING', :name => 'Link Text'},
44
- {:type => 'URL_LIST', :name => 'Final URLs'},
45
- {:type => 'STRING', :name => 'Line 1 Description'},
46
- {:type => 'STRING', :name => 'Line 2 Description'}
47
- ]
48
- }
49
-
50
- response = feed_srv.mutate([
51
- {:operator => 'ADD', :operand => site_links_feed}
52
- ])
53
- if response and response[:value]
54
- feed = response[:value].first
55
- # Attribute of type STRING.
56
- link_text_feed_attribute_id = feed[:attributes][0][:id]
57
- # Attribute of type URL_LIST.
58
- final_url_feed_attribute_id = feed[:attributes][1][:id]
59
- # Attribute of type STRING.
60
- line_1_feed_attribute_id = feed[:attributes][2][:id]
61
- #Attribute of type STRING.
62
- line_2_feed_attribute_id = feed[:attributes][3][:id]
63
- puts "Feed with name '%s' and ID %d was added with" %
64
- [feed[:name], feed[:id]]
65
- puts "\tText attribute ID %d and Final URLs attribute ID %d " +
66
- "and Line 1 attribute ID %d and Line 2 attribute ID %d." % [
67
- link_text_feed_attribute_id,
68
- final_url_feed_attribute_id,
69
- line_1_feed_attribute_id,
70
- line_2_feed_attribute_id
71
- ]
72
-
73
- sitelinks_data[:feed_id] = feed[:id]
74
- sitelinks_data[:link_text_feed_id] = link_text_feed_attribute_id
75
- sitelinks_data[:final_url_feed_id] = final_url_feed_attribute_id
76
- sitelinks_data[:line_1_feed_id] = line_1_feed_attribute_id
77
- sitelinks_data[:line_2_feed_id] = line_2_feed_attribute_id
78
- else
79
- raise new StandardError, 'No feeds were added.'
80
- end
81
-
82
- # Create site links feed items.
83
- items_data = [
84
- {
85
- :text => 'Home',
86
- :final_urls => ['http://www.example.com'],
87
- :line_1 => 'Home line 1',
88
- :line_2 => 'Home line 2'
89
- },
90
- {
91
- :text => 'Stores',
92
- :final_urls => ['http://www.example.com/stores'],
93
- :line_1 => 'Stores line 1',
94
- :line_2 => 'Stores line 2'
95
- },
96
- {
97
- :text => 'On Sale',
98
- :final_urls => ['http://www.example.com/sale'],
99
- :line_1 => 'On Sale line 1',
100
- :line_2 => 'On Sale line 2'
101
- },
102
- {
103
- :text => 'Support',
104
- :final_urls => ['http://www.example.com/support'],
105
- :line_1 => 'Support line 1',
106
- :line_2 => 'Support line 2'
107
- },
108
- {
109
- :text => 'Products',
110
- :final_urls => ['http://www.example.com/products'],
111
- :line_1 => 'Products line 1',
112
- :line_2 => 'Products line 2'
113
- },
114
- {
115
- :text => 'About Us',
116
- :final_urls => ['http://www.example.com/about'],
117
- :line_1 => 'About line 1',
118
- :line_2 => 'About line 2',
119
- :location_id => '21137'
120
- }
121
- ]
122
-
123
- feed_items = items_data.map do |item|
124
- feed_item = {
125
- :feed_id => sitelinks_data[:feed_id],
126
- :attribute_values => [
127
- {
128
- :feed_attribute_id => sitelinks_data[:link_text_feed_id],
129
- :string_value => item[:text]
130
- },
131
- {
132
- :feed_attribute_id => sitelinks_data[:final_url_feed_id],
133
- :string_values => item[:final_urls]
134
- },
135
- {
136
- :feed_attribute_id => sitelinks_data[:line_1_feed_id],
137
- :string_value => item[:line_1]
138
- },
139
- {
140
- :feed_attribute_id => sitelinks_data[:line_2_feed_id],
141
- :string_value => item[:line_2]
142
- }
143
- ]
144
- }
145
- # OPTIONAL: Use geographical targeting on a feed.
146
- # The IDs can be found in the documentation or retrieved with the
147
- # LocationCriterionService.
148
- unless item[:location_id].nil?
149
- feed_item[:geo_targeting] = {
150
- :id => item[:location_id]
151
- }
152
- end
153
- next feed_item
154
- end
155
-
156
- feed_items_operations = feed_items.map do |item|
157
- {:operator => 'ADD', :operand => item}
158
- end
159
-
160
- response = feed_item_srv.mutate(feed_items_operations)
161
- if response and response[:value]
162
- sitelinks_data[:feed_item_ids] = []
163
- response[:value].each do |feed_item|
164
- puts 'Feed item with ID %d was added.' % feed_item[:feed_item_id]
165
- sitelinks_data[:feed_item_ids] << feed_item[:feed_item_id]
166
- end
167
- else
168
- raise new StandardError, 'No feed items were added.'
169
- end
170
-
171
- # Create site links feed mapping.
172
- feed_mapping = {
173
- :placeholder_type => PLACEHOLDER_SITELINKS,
174
- :feed_id => sitelinks_data[:feed_id],
175
- :attribute_field_mappings => [
176
- {
177
- :feed_attribute_id => sitelinks_data[:link_text_feed_id],
178
- :field_id => PLACEHOLDER_FIELD_SITELINK_LINK_TEXT
179
- },
180
- {
181
- :feed_attribute_id => sitelinks_data[:final_url_feed_id],
182
- :field_id => PLACEHOLDER_FIELD_SITELINK_FINAL_URLS
183
- },
184
- {
185
- :feed_attribute_id => sitelinks_data[:line_1_feed_id],
186
- :field_id => PLACEHOLDER_FIELD_SITELINK_LINE_1_TEXT
187
- },
188
- {
189
- :feed_attribute_id => sitelinks_data[:line_2_feed_id],
190
- :field_id => PLACEHOLDER_FIELD_SITELINK_LINE_2_TEXT
191
- }
192
- ]
193
- }
194
-
195
- response = feed_mapping_srv.mutate([
196
- {:operator => 'ADD', :operand => feed_mapping}
197
- ])
198
- if response and response[:value]
199
- feed_mapping = response[:value].first
200
- puts ('Feed mapping with ID %d and placeholder type %d was saved for feed' +
201
- ' with ID %d.') % [
202
- feed_mapping[:feed_mapping_id],
203
- feed_mapping[:placeholder_type],
204
- feed_mapping[:feed_id]
205
- ]
206
- else
207
- raise new StandardError, 'No feed mappings were added.'
208
- end
209
-
210
- # Construct a matching function that associates the sitelink feeditems to the
211
- # campaign, and set the device preference to Mobile. See the matching function
212
- # guide at:
213
- # https://developers.google.com/adwords/api/docs/guides/feed-matching-functions
214
- # for more details.
215
- matching_function_string =
216
- "AND(IN(FEED_ITEM_ID, {%s}), EQUALS(CONTEXT.DEVICE, 'Mobile'))" %
217
- sitelinks_data[:feed_item_ids].join(',')
218
-
219
- # Create site links campaign feed.
220
- campaign_feed = {
221
- :feed_id => sitelinks_data[:feed_id],
222
- :campaign_id => campaign_id,
223
- :matching_function => {:function_string => matching_function_string},
224
- # Specifying placeholder types on the CampaignFeed allows the same feed
225
- # to be used for different placeholders in different Campaigns.
226
- :placeholder_types => [PLACEHOLDER_SITELINKS]
227
- }
228
-
229
- response = campaign_feed_srv.mutate([
230
- {:operator => 'ADD', :operand => campaign_feed}
231
- ])
232
- if response and response[:value]
233
- campaign_feed = response[:value].first
234
- puts 'Campaign with ID %d was associated with feed with ID %d.' %
235
- [campaign_feed[:campaign_id], campaign_feed[:feed_id]]
236
- else
237
- raise new StandardError, 'No campaign feeds were added.'
238
- end
239
- end
240
-
241
- if __FILE__ == $0
242
- API_VERSION = :v201509
243
-
244
- # See the Placeholder reference page for a list of all the placeholder types
245
- # and fields, see:
246
- # https://developers.google.com/adwords/api/docs/appendix/placeholders
247
- PLACEHOLDER_SITELINKS = 1
248
- PLACEHOLDER_FIELD_SITELINK_LINK_TEXT = 1
249
- PLACEHOLDER_FIELD_SITELINK_FINAL_URLS = 5
250
- PLACEHOLDER_FIELD_SITELINK_LINE_1_TEXT = 3
251
- PLACEHOLDER_FIELD_SITELINK_LINE_2_TEXT = 4
252
-
253
- begin
254
- # Campaign ID to add site link to.
255
- campaign_id = 'INSERT_CAMPAIGN_ID_HERE'.to_i
256
- add_site_links(campaign_id)
257
-
258
- # Authorization error.
259
- rescue AdsCommon::Errors::OAuth2VerificationRequired => e
260
- puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
261
- "OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
262
- "to retrieve and store OAuth2 tokens."
263
- puts "See this wiki page for more details:\n\n " +
264
- 'https://github.com/googleads/google-api-ads-ruby/wiki/OAuth2'
265
-
266
- # HTTP errors.
267
- rescue AdsCommon::Errors::HttpError => e
268
- puts "HTTP Error: %s" % e
269
-
270
- # API errors.
271
- rescue AdwordsApi::Errors::ApiException => e
272
- puts "Message: %s" % e.message
273
- puts 'Errors:'
274
- e.errors.each_with_index do |error, index|
275
- puts "\tError [%d]:" % (index + 1)
276
- error.each do |field, value|
277
- puts "\t\t%s: %s" % [field, value]
278
- end
279
- end
280
- end
281
- end