google-adwords-api 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (527) hide show
  1. data/README +178 -0
  2. data/Rakefile +117 -0
  3. data/adwords_api.yml +21 -0
  4. data/examples/v200909/add_ad_extension_override.rb +91 -0
  5. data/examples/v200909/add_ad_group.rb +98 -0
  6. data/examples/v200909/add_ad_group_criteria.rb +117 -0
  7. data/examples/v200909/add_ads.rb +129 -0
  8. data/examples/v200909/add_campaign.rb +101 -0
  9. data/examples/v200909/add_campaign_ad_extension.rb +130 -0
  10. data/examples/v200909/add_negative_campaign_criterion.rb +96 -0
  11. data/examples/v200909/check_campaigns.rb +132 -0
  12. data/examples/v200909/delete_ad.rb +94 -0
  13. data/examples/v200909/delete_ad_group.rb +86 -0
  14. data/examples/v200909/delete_ad_group_criterion.rb +95 -0
  15. data/examples/v200909/delete_campaign.rb +87 -0
  16. data/examples/v200909/get_all_active_ad_group_criteria.rb +93 -0
  17. data/examples/v200909/get_all_ad_extension_overrides.rb +91 -0
  18. data/examples/v200909/get_all_ad_group_criteria.rb +91 -0
  19. data/examples/v200909/get_all_ad_groups.rb +88 -0
  20. data/examples/v200909/get_all_ad_params.rb +89 -0
  21. data/examples/v200909/get_all_ads.rb +88 -0
  22. data/examples/v200909/get_all_campaign_ad_extensions.rb +90 -0
  23. data/examples/v200909/get_all_campaign_targets.rb +83 -0
  24. data/examples/v200909/get_all_campaigns.rb +83 -0
  25. data/examples/v200909/get_all_disapproved_ads.rb +94 -0
  26. data/examples/v200909/get_all_paused_campaigns.rb +86 -0
  27. data/examples/v200909/get_conversion_optimizer_eligibility.rb +112 -0
  28. data/examples/v200909/get_geo_location_info.rb +108 -0
  29. data/examples/v200909/get_method_cost.rb +96 -0
  30. data/examples/v200909/get_operation_count.rb +88 -0
  31. data/examples/v200909/get_related_keywords.rb +115 -0
  32. data/examples/v200909/get_related_placements.rb +114 -0
  33. data/examples/v200909/get_total_usage_units_per_month.rb +83 -0
  34. data/examples/v200909/get_unit_count.rb +88 -0
  35. data/examples/v200909/perform_bulk_mutate_job.rb +221 -0
  36. data/examples/v200909/set_ad_params.rb +124 -0
  37. data/examples/v200909/set_campaign_targets.rb +125 -0
  38. data/examples/v200909/update_ad.rb +95 -0
  39. data/examples/v200909/update_ad_group.rb +90 -0
  40. data/examples/v200909/update_ad_group_criterion.rb +108 -0
  41. data/examples/v200909/update_campaign.rb +93 -0
  42. data/examples/v201003/add_ad_extension_override.rb +91 -0
  43. data/examples/v201003/add_ad_group.rb +98 -0
  44. data/examples/v201003/add_ad_group_criteria.rb +117 -0
  45. data/examples/v201003/add_ads.rb +182 -0
  46. data/examples/v201003/add_campaign.rb +101 -0
  47. data/examples/v201003/add_campaign_ad_extension.rb +130 -0
  48. data/examples/v201003/add_keywords_performance_report_definition.rb +108 -0
  49. data/examples/v201003/add_negative_campaign_criterion.rb +96 -0
  50. data/examples/v201003/check_campaigns.rb +132 -0
  51. data/examples/v201003/delete_ad.rb +94 -0
  52. data/examples/v201003/delete_ad_group.rb +86 -0
  53. data/examples/v201003/delete_ad_group_criterion.rb +95 -0
  54. data/examples/v201003/delete_campaign.rb +87 -0
  55. data/examples/v201003/download_report.rb +71 -0
  56. data/examples/v201003/get_all_active_ad_group_criteria.rb +93 -0
  57. data/examples/v201003/get_all_ad_extension_overrides.rb +91 -0
  58. data/examples/v201003/get_all_ad_group_criteria.rb +91 -0
  59. data/examples/v201003/get_all_ad_groups.rb +88 -0
  60. data/examples/v201003/get_all_ad_params.rb +89 -0
  61. data/examples/v201003/get_all_ads.rb +91 -0
  62. data/examples/v201003/get_all_campaign_ad_extensions.rb +90 -0
  63. data/examples/v201003/get_all_campaign_targets.rb +83 -0
  64. data/examples/v201003/get_all_campaigns.rb +83 -0
  65. data/examples/v201003/get_all_disapproved_ads.rb +94 -0
  66. data/examples/v201003/get_all_images.rb +88 -0
  67. data/examples/v201003/get_all_paused_campaigns.rb +86 -0
  68. data/examples/v201003/get_all_report_definitions.rb +84 -0
  69. data/examples/v201003/get_all_videos.rb +85 -0
  70. data/examples/v201003/get_conversion_optimizer_eligibility.rb +112 -0
  71. data/examples/v201003/get_criterion_bid_landscape.rb +105 -0
  72. data/examples/v201003/get_geo_location_info.rb +108 -0
  73. data/examples/v201003/get_method_cost.rb +96 -0
  74. data/examples/v201003/get_operation_count.rb +88 -0
  75. data/examples/v201003/get_related_keywords.rb +115 -0
  76. data/examples/v201003/get_related_placements.rb +114 -0
  77. data/examples/v201003/get_report_fields.rb +81 -0
  78. data/examples/v201003/get_total_usage_units_per_month.rb +83 -0
  79. data/examples/v201003/get_unit_count.rb +88 -0
  80. data/examples/v201003/perform_bulk_mutate_job.rb +221 -0
  81. data/examples/v201003/set_ad_params.rb +124 -0
  82. data/examples/v201003/set_campaign_targets.rb +125 -0
  83. data/examples/v201003/update_ad.rb +95 -0
  84. data/examples/v201003/update_ad_group.rb +90 -0
  85. data/examples/v201003/update_ad_group_criterion.rb +108 -0
  86. data/examples/v201003/update_campaign.rb +92 -0
  87. data/examples/v201003/upload_image.rb +97 -0
  88. data/examples/v201008/add_ad_extension_override.rb +91 -0
  89. data/examples/v201008/add_ad_group.rb +98 -0
  90. data/examples/v201008/add_ad_group_criteria.rb +117 -0
  91. data/examples/v201008/add_ads.rb +182 -0
  92. data/examples/v201008/add_campaign.rb +101 -0
  93. data/examples/v201008/add_campaign_ad_extension.rb +130 -0
  94. data/examples/v201008/add_experiment.rb +162 -0
  95. data/examples/v201008/add_keywords_performance_report_definition.rb +108 -0
  96. data/examples/v201008/add_negative_campaign_criterion.rb +96 -0
  97. data/examples/v201008/add_user_list.rb +96 -0
  98. data/examples/v201008/check_campaigns.rb +132 -0
  99. data/examples/v201008/delete_ad.rb +94 -0
  100. data/examples/v201008/delete_ad_group.rb +86 -0
  101. data/examples/v201008/delete_ad_group_criterion.rb +95 -0
  102. data/examples/v201008/delete_bulk_mutate_job.rb +96 -0
  103. data/examples/v201008/delete_campaign.rb +87 -0
  104. data/examples/v201008/delete_experiment.rb +87 -0
  105. data/examples/v201008/delete_user_list.rb +87 -0
  106. data/examples/v201008/download_report.rb +71 -0
  107. data/examples/v201008/get_account_hierarchy.rb +112 -0
  108. data/examples/v201008/get_all_account_changes.rb +144 -0
  109. data/examples/v201008/get_all_active_ad_group_criteria.rb +93 -0
  110. data/examples/v201008/get_all_ad_extension_overrides.rb +91 -0
  111. data/examples/v201008/get_all_ad_group_criteria.rb +91 -0
  112. data/examples/v201008/get_all_ad_groups.rb +88 -0
  113. data/examples/v201008/get_all_ad_params.rb +89 -0
  114. data/examples/v201008/get_all_ads.rb +91 -0
  115. data/examples/v201008/get_all_campaign_ad_extensions.rb +90 -0
  116. data/examples/v201008/get_all_campaign_targets.rb +83 -0
  117. data/examples/v201008/get_all_campaigns.rb +83 -0
  118. data/examples/v201008/get_all_disapproved_ads.rb +94 -0
  119. data/examples/v201008/get_all_experiments.rb +93 -0
  120. data/examples/v201008/get_all_images.rb +88 -0
  121. data/examples/v201008/get_all_paused_campaigns.rb +86 -0
  122. data/examples/v201008/get_all_report_definitions.rb +84 -0
  123. data/examples/v201008/get_all_user_lists.rb +84 -0
  124. data/examples/v201008/get_all_videos.rb +85 -0
  125. data/examples/v201008/get_bulk_mutate_job.rb +106 -0
  126. data/examples/v201008/get_campaign_alerts.rb +103 -0
  127. data/examples/v201008/get_conversion_optimizer_eligibility.rb +97 -0
  128. data/examples/v201008/get_criterion_bid_landscape.rb +105 -0
  129. data/examples/v201008/get_geo_location_info.rb +108 -0
  130. data/examples/v201008/get_method_cost.rb +96 -0
  131. data/examples/v201008/get_operation_count.rb +88 -0
  132. data/examples/v201008/get_related_keywords.rb +115 -0
  133. data/examples/v201008/get_related_placements.rb +114 -0
  134. data/examples/v201008/get_report_fields.rb +81 -0
  135. data/examples/v201008/get_total_usage_units_per_month.rb +83 -0
  136. data/examples/v201008/get_traffic_estimates.rb +156 -0
  137. data/examples/v201008/get_unit_count.rb +88 -0
  138. data/examples/v201008/handle_partial_failures.rb +135 -0
  139. data/examples/v201008/handle_policy_violation_error.rb +146 -0
  140. data/examples/v201008/perform_bulk_mutate_job.rb +221 -0
  141. data/examples/v201008/promote_experiment.rb +88 -0
  142. data/examples/v201008/set_ad_params.rb +124 -0
  143. data/examples/v201008/set_campaign_targets.rb +125 -0
  144. data/examples/v201008/update_ad.rb +95 -0
  145. data/examples/v201008/update_ad_group.rb +90 -0
  146. data/examples/v201008/update_ad_group_criterion.rb +108 -0
  147. data/examples/v201008/update_campaign.rb +93 -0
  148. data/examples/v201008/update_user_list.rb +91 -0
  149. data/examples/v201008/upload_image.rb +97 -0
  150. data/examples/v201101/add_ad_extension_override.rb +91 -0
  151. data/examples/v201101/add_ad_group.rb +98 -0
  152. data/examples/v201101/add_ad_group_criteria.rb +117 -0
  153. data/examples/v201101/add_ads.rb +182 -0
  154. data/examples/v201101/add_campaign.rb +108 -0
  155. data/examples/v201101/add_campaign_ad_extension.rb +130 -0
  156. data/examples/v201101/add_experiment.rb +162 -0
  157. data/examples/v201101/add_keywords_performance_report_definition.rb +108 -0
  158. data/examples/v201101/add_mcc_report_definition.rb +103 -0
  159. data/examples/v201101/add_negative_campaign_criterion.rb +96 -0
  160. data/examples/v201101/add_user_list.rb +96 -0
  161. data/examples/v201101/check_campaigns.rb +132 -0
  162. data/examples/v201101/delete_ad.rb +94 -0
  163. data/examples/v201101/delete_ad_group.rb +86 -0
  164. data/examples/v201101/delete_ad_group_criterion.rb +95 -0
  165. data/examples/v201101/delete_bulk_mutate_job.rb +96 -0
  166. data/examples/v201101/delete_campaign.rb +87 -0
  167. data/examples/v201101/delete_experiment.rb +87 -0
  168. data/examples/v201101/delete_user_list.rb +87 -0
  169. data/examples/v201101/download_mcc_report.rb +93 -0
  170. data/examples/v201101/download_report.rb +71 -0
  171. data/examples/v201101/get_account_hierarchy.rb +112 -0
  172. data/examples/v201101/get_ad_group_bid_landscape.rb +103 -0
  173. data/examples/v201101/get_all_account_changes.rb +146 -0
  174. data/examples/v201101/get_all_active_ad_group_criteria.rb +106 -0
  175. data/examples/v201101/get_all_ad_extension_overrides.rb +91 -0
  176. data/examples/v201101/get_all_ad_group_criteria.rb +97 -0
  177. data/examples/v201101/get_all_ad_groups.rb +94 -0
  178. data/examples/v201101/get_all_ad_params.rb +89 -0
  179. data/examples/v201101/get_all_ads.rb +99 -0
  180. data/examples/v201101/get_all_campaign_ad_extensions.rb +96 -0
  181. data/examples/v201101/get_all_campaign_targets.rb +83 -0
  182. data/examples/v201101/get_all_campaigns.rb +86 -0
  183. data/examples/v201101/get_all_disapproved_ads.rb +102 -0
  184. data/examples/v201101/get_all_experiments.rb +98 -0
  185. data/examples/v201101/get_all_images.rb +90 -0
  186. data/examples/v201101/get_all_paused_campaigns.rb +92 -0
  187. data/examples/v201101/get_all_report_definitions.rb +84 -0
  188. data/examples/v201101/get_all_user_lists.rb +87 -0
  189. data/examples/v201101/get_all_videos.rb +87 -0
  190. data/examples/v201101/get_bulk_mutate_job.rb +106 -0
  191. data/examples/v201101/get_campaign_alerts.rb +103 -0
  192. data/examples/v201101/get_conversion_optimizer_eligibility.rb +102 -0
  193. data/examples/v201101/get_criterion_bid_landscape.rb +102 -0
  194. data/examples/v201101/get_geo_location_info.rb +108 -0
  195. data/examples/v201101/get_method_cost.rb +96 -0
  196. data/examples/v201101/get_operation_count.rb +88 -0
  197. data/examples/v201101/get_related_keywords.rb +115 -0
  198. data/examples/v201101/get_related_placements.rb +114 -0
  199. data/examples/v201101/get_report_fields.rb +81 -0
  200. data/examples/v201101/get_total_usage_units_per_month.rb +83 -0
  201. data/examples/v201101/get_traffic_estimates.rb +157 -0
  202. data/examples/v201101/get_unit_count.rb +88 -0
  203. data/examples/v201101/handle_partial_failures.rb +135 -0
  204. data/examples/v201101/handle_policy_violation_error.rb +146 -0
  205. data/examples/v201101/perform_bulk_mutate_job.rb +221 -0
  206. data/examples/v201101/promote_experiment.rb +88 -0
  207. data/examples/v201101/set_ad_params.rb +124 -0
  208. data/examples/v201101/set_campaign_targets.rb +111 -0
  209. data/examples/v201101/update_ad.rb +95 -0
  210. data/examples/v201101/update_ad_group.rb +90 -0
  211. data/examples/v201101/update_ad_group_criterion.rb +108 -0
  212. data/examples/v201101/update_campaign.rb +93 -0
  213. data/examples/v201101/update_user_list.rb +91 -0
  214. data/examples/v201101/upload_image.rb +97 -0
  215. data/lib/adwords_api.rb +273 -0
  216. data/lib/adwords_api/api_config.rb +270 -0
  217. data/lib/adwords_api/auth/v13_login_handler.rb +36 -0
  218. data/lib/adwords_api/credential_handler.rb +111 -0
  219. data/lib/adwords_api/errors.rb +85 -0
  220. data/lib/adwords_api/extensions.rb +245 -0
  221. data/lib/adwords_api/soap4r_response_handler.rb +121 -0
  222. data/lib/adwords_api/utils.rb +80 -0
  223. data/lib/adwords_api/v13/AccountService.rb +321 -0
  224. data/lib/adwords_api/v13/AccountServiceDriver.rb +87 -0
  225. data/lib/adwords_api/v13/AccountServiceMappingRegistry.rb +337 -0
  226. data/lib/adwords_api/v13/AccountServiceWrapper.rb +407 -0
  227. data/lib/adwords_api/v13/ReportService.rb +328 -0
  228. data/lib/adwords_api/v13/ReportServiceDriver.rb +103 -0
  229. data/lib/adwords_api/v13/ReportServiceMappingRegistry.rb +298 -0
  230. data/lib/adwords_api/v13/ReportServiceWrapper.rb +500 -0
  231. data/lib/adwords_api/v13/TrafficEstimatorService.rb +414 -0
  232. data/lib/adwords_api/v13/TrafficEstimatorServiceDriver.rb +79 -0
  233. data/lib/adwords_api/v13/TrafficEstimatorServiceMappingRegistry.rb +491 -0
  234. data/lib/adwords_api/v13/TrafficEstimatorServiceWrapper.rb +402 -0
  235. data/lib/adwords_api/v200909/AdExtensionOverrideService.rb +1105 -0
  236. data/lib/adwords_api/v200909/AdExtensionOverrideServiceDriver.rb +63 -0
  237. data/lib/adwords_api/v200909/AdExtensionOverrideServiceMappingRegistry.rb +1265 -0
  238. data/lib/adwords_api/v200909/AdExtensionOverrideServiceWrapper.rb +332 -0
  239. data/lib/adwords_api/v200909/AdGroupAdService.rb +2603 -0
  240. data/lib/adwords_api/v200909/AdGroupAdServiceDriver.rb +63 -0
  241. data/lib/adwords_api/v200909/AdGroupAdServiceMappingRegistry.rb +2755 -0
  242. data/lib/adwords_api/v200909/AdGroupAdServiceWrapper.rb +332 -0
  243. data/lib/adwords_api/v200909/AdGroupCriterionService.rb +1577 -0
  244. data/lib/adwords_api/v200909/AdGroupCriterionServiceDriver.rb +63 -0
  245. data/lib/adwords_api/v200909/AdGroupCriterionServiceMappingRegistry.rb +1821 -0
  246. data/lib/adwords_api/v200909/AdGroupCriterionServiceWrapper.rb +332 -0
  247. data/lib/adwords_api/v200909/AdGroupService.rb +1251 -0
  248. data/lib/adwords_api/v200909/AdGroupServiceDriver.rb +63 -0
  249. data/lib/adwords_api/v200909/AdGroupServiceMappingRegistry.rb +1395 -0
  250. data/lib/adwords_api/v200909/AdGroupServiceWrapper.rb +332 -0
  251. data/lib/adwords_api/v200909/AdParamService.rb +765 -0
  252. data/lib/adwords_api/v200909/AdParamServiceDriver.rb +63 -0
  253. data/lib/adwords_api/v200909/AdParamServiceMappingRegistry.rb +927 -0
  254. data/lib/adwords_api/v200909/AdParamServiceWrapper.rb +332 -0
  255. data/lib/adwords_api/v200909/BulkMutateJobService.rb +4778 -0
  256. data/lib/adwords_api/v200909/BulkMutateJobServiceDriver.rb +63 -0
  257. data/lib/adwords_api/v200909/BulkMutateJobServiceMappingRegistry.rb +5077 -0
  258. data/lib/adwords_api/v200909/BulkMutateJobServiceWrapper.rb +332 -0
  259. data/lib/adwords_api/v200909/CampaignAdExtensionService.rb +1065 -0
  260. data/lib/adwords_api/v200909/CampaignAdExtensionServiceDriver.rb +63 -0
  261. data/lib/adwords_api/v200909/CampaignAdExtensionServiceMappingRegistry.rb +1273 -0
  262. data/lib/adwords_api/v200909/CampaignAdExtensionServiceWrapper.rb +332 -0
  263. data/lib/adwords_api/v200909/CampaignCriterionService.rb +1019 -0
  264. data/lib/adwords_api/v200909/CampaignCriterionServiceDriver.rb +63 -0
  265. data/lib/adwords_api/v200909/CampaignCriterionServiceMappingRegistry.rb +1237 -0
  266. data/lib/adwords_api/v200909/CampaignCriterionServiceWrapper.rb +332 -0
  267. data/lib/adwords_api/v200909/CampaignService.rb +1633 -0
  268. data/lib/adwords_api/v200909/CampaignServiceDriver.rb +63 -0
  269. data/lib/adwords_api/v200909/CampaignServiceMappingRegistry.rb +1785 -0
  270. data/lib/adwords_api/v200909/CampaignServiceWrapper.rb +332 -0
  271. data/lib/adwords_api/v200909/CampaignTargetService.rb +1435 -0
  272. data/lib/adwords_api/v200909/CampaignTargetServiceDriver.rb +63 -0
  273. data/lib/adwords_api/v200909/CampaignTargetServiceMappingRegistry.rb +1569 -0
  274. data/lib/adwords_api/v200909/CampaignTargetServiceWrapper.rb +332 -0
  275. data/lib/adwords_api/v200909/GeoLocationService.rb +611 -0
  276. data/lib/adwords_api/v200909/GeoLocationServiceDriver.rb +55 -0
  277. data/lib/adwords_api/v200909/GeoLocationServiceMappingRegistry.rb +771 -0
  278. data/lib/adwords_api/v200909/GeoLocationServiceWrapper.rb +303 -0
  279. data/lib/adwords_api/v200909/InfoService.rb +605 -0
  280. data/lib/adwords_api/v200909/InfoServiceDriver.rb +55 -0
  281. data/lib/adwords_api/v200909/InfoServiceMappingRegistry.rb +764 -0
  282. data/lib/adwords_api/v200909/InfoServiceWrapper.rb +303 -0
  283. data/lib/adwords_api/v200909/TargetingIdeaService.rb +2253 -0
  284. data/lib/adwords_api/v200909/TargetingIdeaServiceDriver.rb +63 -0
  285. data/lib/adwords_api/v200909/TargetingIdeaServiceMappingRegistry.rb +2688 -0
  286. data/lib/adwords_api/v200909/TargetingIdeaServiceWrapper.rb +335 -0
  287. data/lib/adwords_api/v201003/AdExtensionOverrideService.rb +1301 -0
  288. data/lib/adwords_api/v201003/AdExtensionOverrideServiceDriver.rb +63 -0
  289. data/lib/adwords_api/v201003/AdExtensionOverrideServiceMappingRegistry.rb +1468 -0
  290. data/lib/adwords_api/v201003/AdExtensionOverrideServiceWrapper.rb +332 -0
  291. data/lib/adwords_api/v201003/AdGroupAdService.rb +2909 -0
  292. data/lib/adwords_api/v201003/AdGroupAdServiceDriver.rb +63 -0
  293. data/lib/adwords_api/v201003/AdGroupAdServiceMappingRegistry.rb +2970 -0
  294. data/lib/adwords_api/v201003/AdGroupAdServiceWrapper.rb +332 -0
  295. data/lib/adwords_api/v201003/AdGroupCriterionService.rb +1762 -0
  296. data/lib/adwords_api/v201003/AdGroupCriterionServiceDriver.rb +63 -0
  297. data/lib/adwords_api/v201003/AdGroupCriterionServiceMappingRegistry.rb +1978 -0
  298. data/lib/adwords_api/v201003/AdGroupCriterionServiceWrapper.rb +332 -0
  299. data/lib/adwords_api/v201003/AdGroupService.rb +1421 -0
  300. data/lib/adwords_api/v201003/AdGroupServiceDriver.rb +63 -0
  301. data/lib/adwords_api/v201003/AdGroupServiceMappingRegistry.rb +1546 -0
  302. data/lib/adwords_api/v201003/AdGroupServiceWrapper.rb +332 -0
  303. data/lib/adwords_api/v201003/AdParamService.rb +859 -0
  304. data/lib/adwords_api/v201003/AdParamServiceDriver.rb +63 -0
  305. data/lib/adwords_api/v201003/AdParamServiceMappingRegistry.rb +1002 -0
  306. data/lib/adwords_api/v201003/AdParamServiceWrapper.rb +332 -0
  307. data/lib/adwords_api/v201003/BidLandscapeService.rb +847 -0
  308. data/lib/adwords_api/v201003/BidLandscapeServiceDriver.rb +55 -0
  309. data/lib/adwords_api/v201003/BidLandscapeServiceMappingRegistry.rb +958 -0
  310. data/lib/adwords_api/v201003/BidLandscapeServiceWrapper.rb +306 -0
  311. data/lib/adwords_api/v201003/BulkMutateJobService.rb +5401 -0
  312. data/lib/adwords_api/v201003/BulkMutateJobServiceDriver.rb +63 -0
  313. data/lib/adwords_api/v201003/BulkMutateJobServiceMappingRegistry.rb +5600 -0
  314. data/lib/adwords_api/v201003/BulkMutateJobServiceWrapper.rb +332 -0
  315. data/lib/adwords_api/v201003/CampaignAdExtensionService.rb +1255 -0
  316. data/lib/adwords_api/v201003/CampaignAdExtensionServiceDriver.rb +63 -0
  317. data/lib/adwords_api/v201003/CampaignAdExtensionServiceMappingRegistry.rb +1452 -0
  318. data/lib/adwords_api/v201003/CampaignAdExtensionServiceWrapper.rb +332 -0
  319. data/lib/adwords_api/v201003/CampaignCriterionService.rb +1145 -0
  320. data/lib/adwords_api/v201003/CampaignCriterionServiceDriver.rb +63 -0
  321. data/lib/adwords_api/v201003/CampaignCriterionServiceMappingRegistry.rb +1344 -0
  322. data/lib/adwords_api/v201003/CampaignCriterionServiceWrapper.rb +332 -0
  323. data/lib/adwords_api/v201003/CampaignService.rb +1901 -0
  324. data/lib/adwords_api/v201003/CampaignServiceDriver.rb +63 -0
  325. data/lib/adwords_api/v201003/CampaignServiceMappingRegistry.rb +2010 -0
  326. data/lib/adwords_api/v201003/CampaignServiceWrapper.rb +332 -0
  327. data/lib/adwords_api/v201003/CampaignTargetService.rb +1642 -0
  328. data/lib/adwords_api/v201003/CampaignTargetServiceDriver.rb +63 -0
  329. data/lib/adwords_api/v201003/CampaignTargetServiceMappingRegistry.rb +1754 -0
  330. data/lib/adwords_api/v201003/CampaignTargetServiceWrapper.rb +332 -0
  331. data/lib/adwords_api/v201003/GeoLocationService.rb +692 -0
  332. data/lib/adwords_api/v201003/GeoLocationServiceDriver.rb +55 -0
  333. data/lib/adwords_api/v201003/GeoLocationServiceMappingRegistry.rb +840 -0
  334. data/lib/adwords_api/v201003/GeoLocationServiceWrapper.rb +303 -0
  335. data/lib/adwords_api/v201003/InfoService.rb +687 -0
  336. data/lib/adwords_api/v201003/InfoServiceDriver.rb +55 -0
  337. data/lib/adwords_api/v201003/InfoServiceMappingRegistry.rb +833 -0
  338. data/lib/adwords_api/v201003/InfoServiceWrapper.rb +303 -0
  339. data/lib/adwords_api/v201003/MediaService.rb +1192 -0
  340. data/lib/adwords_api/v201003/MediaServiceDriver.rb +63 -0
  341. data/lib/adwords_api/v201003/MediaServiceMappingRegistry.rb +1290 -0
  342. data/lib/adwords_api/v201003/MediaServiceWrapper.rb +332 -0
  343. data/lib/adwords_api/v201003/ReportDefinitionService.rb +905 -0
  344. data/lib/adwords_api/v201003/ReportDefinitionServiceDriver.rb +71 -0
  345. data/lib/adwords_api/v201003/ReportDefinitionServiceMappingRegistry.rb +1036 -0
  346. data/lib/adwords_api/v201003/ReportDefinitionServiceWrapper.rb +378 -0
  347. data/lib/adwords_api/v201003/TargetingIdeaService.rb +2517 -0
  348. data/lib/adwords_api/v201003/TargetingIdeaServiceDriver.rb +63 -0
  349. data/lib/adwords_api/v201003/TargetingIdeaServiceMappingRegistry.rb +2925 -0
  350. data/lib/adwords_api/v201003/TargetingIdeaServiceWrapper.rb +335 -0
  351. data/lib/adwords_api/v201008/AdExtensionOverrideService.rb +1383 -0
  352. data/lib/adwords_api/v201008/AdExtensionOverrideServiceDriver.rb +63 -0
  353. data/lib/adwords_api/v201008/AdExtensionOverrideServiceMappingRegistry.rb +1563 -0
  354. data/lib/adwords_api/v201008/AdExtensionOverrideServiceWrapper.rb +332 -0
  355. data/lib/adwords_api/v201008/AdGroupAdService.rb +2928 -0
  356. data/lib/adwords_api/v201008/AdGroupAdServiceDriver.rb +63 -0
  357. data/lib/adwords_api/v201008/AdGroupAdServiceMappingRegistry.rb +2969 -0
  358. data/lib/adwords_api/v201008/AdGroupAdServiceWrapper.rb +332 -0
  359. data/lib/adwords_api/v201008/AdGroupCriterionService.rb +1981 -0
  360. data/lib/adwords_api/v201008/AdGroupCriterionServiceDriver.rb +63 -0
  361. data/lib/adwords_api/v201008/AdGroupCriterionServiceMappingRegistry.rb +2229 -0
  362. data/lib/adwords_api/v201008/AdGroupCriterionServiceWrapper.rb +332 -0
  363. data/lib/adwords_api/v201008/AdGroupService.rb +1548 -0
  364. data/lib/adwords_api/v201008/AdGroupServiceDriver.rb +63 -0
  365. data/lib/adwords_api/v201008/AdGroupServiceMappingRegistry.rb +1687 -0
  366. data/lib/adwords_api/v201008/AdGroupServiceWrapper.rb +332 -0
  367. data/lib/adwords_api/v201008/AdParamService.rb +889 -0
  368. data/lib/adwords_api/v201008/AdParamServiceDriver.rb +63 -0
  369. data/lib/adwords_api/v201008/AdParamServiceMappingRegistry.rb +1041 -0
  370. data/lib/adwords_api/v201008/AdParamServiceWrapper.rb +332 -0
  371. data/lib/adwords_api/v201008/AlertService.rb +743 -0
  372. data/lib/adwords_api/v201008/AlertServiceDriver.rb +55 -0
  373. data/lib/adwords_api/v201008/AlertServiceMappingRegistry.rb +836 -0
  374. data/lib/adwords_api/v201008/AlertServiceWrapper.rb +303 -0
  375. data/lib/adwords_api/v201008/BidLandscapeService.rb +928 -0
  376. data/lib/adwords_api/v201008/BidLandscapeServiceDriver.rb +55 -0
  377. data/lib/adwords_api/v201008/BidLandscapeServiceMappingRegistry.rb +1059 -0
  378. data/lib/adwords_api/v201008/BidLandscapeServiceWrapper.rb +306 -0
  379. data/lib/adwords_api/v201008/BulkMutateJobService.rb +6063 -0
  380. data/lib/adwords_api/v201008/BulkMutateJobServiceDriver.rb +63 -0
  381. data/lib/adwords_api/v201008/BulkMutateJobServiceMappingRegistry.rb +6265 -0
  382. data/lib/adwords_api/v201008/BulkMutateJobServiceWrapper.rb +332 -0
  383. data/lib/adwords_api/v201008/CampaignAdExtensionService.rb +1594 -0
  384. data/lib/adwords_api/v201008/CampaignAdExtensionServiceDriver.rb +63 -0
  385. data/lib/adwords_api/v201008/CampaignAdExtensionServiceMappingRegistry.rb +1789 -0
  386. data/lib/adwords_api/v201008/CampaignAdExtensionServiceWrapper.rb +332 -0
  387. data/lib/adwords_api/v201008/CampaignCriterionService.rb +1243 -0
  388. data/lib/adwords_api/v201008/CampaignCriterionServiceDriver.rb +63 -0
  389. data/lib/adwords_api/v201008/CampaignCriterionServiceMappingRegistry.rb +1467 -0
  390. data/lib/adwords_api/v201008/CampaignCriterionServiceWrapper.rb +332 -0
  391. data/lib/adwords_api/v201008/CampaignService.rb +1979 -0
  392. data/lib/adwords_api/v201008/CampaignServiceDriver.rb +63 -0
  393. data/lib/adwords_api/v201008/CampaignServiceMappingRegistry.rb +2089 -0
  394. data/lib/adwords_api/v201008/CampaignServiceWrapper.rb +332 -0
  395. data/lib/adwords_api/v201008/CampaignTargetService.rb +1651 -0
  396. data/lib/adwords_api/v201008/CampaignTargetServiceDriver.rb +63 -0
  397. data/lib/adwords_api/v201008/CampaignTargetServiceMappingRegistry.rb +1757 -0
  398. data/lib/adwords_api/v201008/CampaignTargetServiceWrapper.rb +332 -0
  399. data/lib/adwords_api/v201008/CustomerSyncService.rb +693 -0
  400. data/lib/adwords_api/v201008/CustomerSyncServiceDriver.rb +55 -0
  401. data/lib/adwords_api/v201008/CustomerSyncServiceMappingRegistry.rb +820 -0
  402. data/lib/adwords_api/v201008/CustomerSyncServiceWrapper.rb +303 -0
  403. data/lib/adwords_api/v201008/ExperimentService.rb +1124 -0
  404. data/lib/adwords_api/v201008/ExperimentServiceDriver.rb +63 -0
  405. data/lib/adwords_api/v201008/ExperimentServiceMappingRegistry.rb +1281 -0
  406. data/lib/adwords_api/v201008/ExperimentServiceWrapper.rb +332 -0
  407. data/lib/adwords_api/v201008/GeoLocationService.rb +695 -0
  408. data/lib/adwords_api/v201008/GeoLocationServiceDriver.rb +55 -0
  409. data/lib/adwords_api/v201008/GeoLocationServiceMappingRegistry.rb +843 -0
  410. data/lib/adwords_api/v201008/GeoLocationServiceWrapper.rb +303 -0
  411. data/lib/adwords_api/v201008/InfoService.rb +690 -0
  412. data/lib/adwords_api/v201008/InfoServiceDriver.rb +55 -0
  413. data/lib/adwords_api/v201008/InfoServiceMappingRegistry.rb +836 -0
  414. data/lib/adwords_api/v201008/InfoServiceWrapper.rb +303 -0
  415. data/lib/adwords_api/v201008/MediaService.rb +1144 -0
  416. data/lib/adwords_api/v201008/MediaServiceDriver.rb +63 -0
  417. data/lib/adwords_api/v201008/MediaServiceMappingRegistry.rb +1241 -0
  418. data/lib/adwords_api/v201008/MediaServiceWrapper.rb +332 -0
  419. data/lib/adwords_api/v201008/ReportDefinitionService.rb +976 -0
  420. data/lib/adwords_api/v201008/ReportDefinitionServiceDriver.rb +71 -0
  421. data/lib/adwords_api/v201008/ReportDefinitionServiceMappingRegistry.rb +1115 -0
  422. data/lib/adwords_api/v201008/ReportDefinitionServiceWrapper.rb +378 -0
  423. data/lib/adwords_api/v201008/ServicedAccountService.rb +630 -0
  424. data/lib/adwords_api/v201008/ServicedAccountServiceDriver.rb +55 -0
  425. data/lib/adwords_api/v201008/ServicedAccountServiceMappingRegistry.rb +752 -0
  426. data/lib/adwords_api/v201008/ServicedAccountServiceWrapper.rb +303 -0
  427. data/lib/adwords_api/v201008/TargetingIdeaService.rb +2645 -0
  428. data/lib/adwords_api/v201008/TargetingIdeaServiceDriver.rb +63 -0
  429. data/lib/adwords_api/v201008/TargetingIdeaServiceMappingRegistry.rb +3080 -0
  430. data/lib/adwords_api/v201008/TargetingIdeaServiceWrapper.rb +335 -0
  431. data/lib/adwords_api/v201008/TrafficEstimatorService.rb +1833 -0
  432. data/lib/adwords_api/v201008/TrafficEstimatorServiceDriver.rb +55 -0
  433. data/lib/adwords_api/v201008/TrafficEstimatorServiceMappingRegistry.rb +2124 -0
  434. data/lib/adwords_api/v201008/TrafficEstimatorServiceWrapper.rb +303 -0
  435. data/lib/adwords_api/v201008/UserListService.rb +846 -0
  436. data/lib/adwords_api/v201008/UserListServiceDriver.rb +63 -0
  437. data/lib/adwords_api/v201008/UserListServiceMappingRegistry.rb +915 -0
  438. data/lib/adwords_api/v201008/UserListServiceWrapper.rb +332 -0
  439. data/lib/adwords_api/v201101/AdExtensionOverrideService.rb +1399 -0
  440. data/lib/adwords_api/v201101/AdExtensionOverrideServiceDriver.rb +63 -0
  441. data/lib/adwords_api/v201101/AdExtensionOverrideServiceMappingRegistry.rb +1573 -0
  442. data/lib/adwords_api/v201101/AdExtensionOverrideServiceWrapper.rb +332 -0
  443. data/lib/adwords_api/v201101/AdGroupAdService.rb +2585 -0
  444. data/lib/adwords_api/v201101/AdGroupAdServiceDriver.rb +63 -0
  445. data/lib/adwords_api/v201101/AdGroupAdServiceMappingRegistry.rb +2583 -0
  446. data/lib/adwords_api/v201101/AdGroupAdServiceWrapper.rb +332 -0
  447. data/lib/adwords_api/v201101/AdGroupCriterionService.rb +2099 -0
  448. data/lib/adwords_api/v201101/AdGroupCriterionServiceDriver.rb +63 -0
  449. data/lib/adwords_api/v201101/AdGroupCriterionServiceMappingRegistry.rb +2327 -0
  450. data/lib/adwords_api/v201101/AdGroupCriterionServiceWrapper.rb +332 -0
  451. data/lib/adwords_api/v201101/AdGroupService.rb +1610 -0
  452. data/lib/adwords_api/v201101/AdGroupServiceDriver.rb +63 -0
  453. data/lib/adwords_api/v201101/AdGroupServiceMappingRegistry.rb +1765 -0
  454. data/lib/adwords_api/v201101/AdGroupServiceWrapper.rb +332 -0
  455. data/lib/adwords_api/v201101/AdParamService.rb +922 -0
  456. data/lib/adwords_api/v201101/AdParamServiceDriver.rb +63 -0
  457. data/lib/adwords_api/v201101/AdParamServiceMappingRegistry.rb +1077 -0
  458. data/lib/adwords_api/v201101/AdParamServiceWrapper.rb +332 -0
  459. data/lib/adwords_api/v201101/AlertService.rb +747 -0
  460. data/lib/adwords_api/v201101/AlertServiceDriver.rb +55 -0
  461. data/lib/adwords_api/v201101/AlertServiceMappingRegistry.rb +838 -0
  462. data/lib/adwords_api/v201101/AlertServiceWrapper.rb +303 -0
  463. data/lib/adwords_api/v201101/BulkMutateJobService.rb +6208 -0
  464. data/lib/adwords_api/v201101/BulkMutateJobServiceDriver.rb +63 -0
  465. data/lib/adwords_api/v201101/BulkMutateJobServiceMappingRegistry.rb +6433 -0
  466. data/lib/adwords_api/v201101/BulkMutateJobServiceWrapper.rb +332 -0
  467. data/lib/adwords_api/v201101/CampaignAdExtensionService.rb +1677 -0
  468. data/lib/adwords_api/v201101/CampaignAdExtensionServiceDriver.rb +63 -0
  469. data/lib/adwords_api/v201101/CampaignAdExtensionServiceMappingRegistry.rb +1855 -0
  470. data/lib/adwords_api/v201101/CampaignAdExtensionServiceWrapper.rb +332 -0
  471. data/lib/adwords_api/v201101/CampaignCriterionService.rb +1388 -0
  472. data/lib/adwords_api/v201101/CampaignCriterionServiceDriver.rb +63 -0
  473. data/lib/adwords_api/v201101/CampaignCriterionServiceMappingRegistry.rb +1601 -0
  474. data/lib/adwords_api/v201101/CampaignCriterionServiceWrapper.rb +332 -0
  475. data/lib/adwords_api/v201101/CampaignService.rb +2188 -0
  476. data/lib/adwords_api/v201101/CampaignServiceDriver.rb +63 -0
  477. data/lib/adwords_api/v201101/CampaignServiceMappingRegistry.rb +2301 -0
  478. data/lib/adwords_api/v201101/CampaignServiceWrapper.rb +332 -0
  479. data/lib/adwords_api/v201101/CampaignTargetService.rb +1629 -0
  480. data/lib/adwords_api/v201101/CampaignTargetServiceDriver.rb +63 -0
  481. data/lib/adwords_api/v201101/CampaignTargetServiceMappingRegistry.rb +1725 -0
  482. data/lib/adwords_api/v201101/CampaignTargetServiceWrapper.rb +332 -0
  483. data/lib/adwords_api/v201101/CustomerSyncService.rb +694 -0
  484. data/lib/adwords_api/v201101/CustomerSyncServiceDriver.rb +55 -0
  485. data/lib/adwords_api/v201101/CustomerSyncServiceMappingRegistry.rb +820 -0
  486. data/lib/adwords_api/v201101/CustomerSyncServiceWrapper.rb +303 -0
  487. data/lib/adwords_api/v201101/DataService.rb +1079 -0
  488. data/lib/adwords_api/v201101/DataServiceDriver.rb +63 -0
  489. data/lib/adwords_api/v201101/DataServiceMappingRegistry.rb +1177 -0
  490. data/lib/adwords_api/v201101/DataServiceWrapper.rb +338 -0
  491. data/lib/adwords_api/v201101/ExperimentService.rb +1256 -0
  492. data/lib/adwords_api/v201101/ExperimentServiceDriver.rb +63 -0
  493. data/lib/adwords_api/v201101/ExperimentServiceMappingRegistry.rb +1417 -0
  494. data/lib/adwords_api/v201101/ExperimentServiceWrapper.rb +332 -0
  495. data/lib/adwords_api/v201101/GeoLocationService.rb +695 -0
  496. data/lib/adwords_api/v201101/GeoLocationServiceDriver.rb +55 -0
  497. data/lib/adwords_api/v201101/GeoLocationServiceMappingRegistry.rb +843 -0
  498. data/lib/adwords_api/v201101/GeoLocationServiceWrapper.rb +303 -0
  499. data/lib/adwords_api/v201101/InfoService.rb +690 -0
  500. data/lib/adwords_api/v201101/InfoServiceDriver.rb +55 -0
  501. data/lib/adwords_api/v201101/InfoServiceMappingRegistry.rb +836 -0
  502. data/lib/adwords_api/v201101/InfoServiceWrapper.rb +303 -0
  503. data/lib/adwords_api/v201101/MediaService.rb +1247 -0
  504. data/lib/adwords_api/v201101/MediaServiceDriver.rb +63 -0
  505. data/lib/adwords_api/v201101/MediaServiceMappingRegistry.rb +1357 -0
  506. data/lib/adwords_api/v201101/MediaServiceWrapper.rb +332 -0
  507. data/lib/adwords_api/v201101/ReportDefinitionService.rb +1121 -0
  508. data/lib/adwords_api/v201101/ReportDefinitionServiceDriver.rb +71 -0
  509. data/lib/adwords_api/v201101/ReportDefinitionServiceMappingRegistry.rb +1263 -0
  510. data/lib/adwords_api/v201101/ReportDefinitionServiceWrapper.rb +364 -0
  511. data/lib/adwords_api/v201101/ServicedAccountService.rb +636 -0
  512. data/lib/adwords_api/v201101/ServicedAccountServiceDriver.rb +55 -0
  513. data/lib/adwords_api/v201101/ServicedAccountServiceMappingRegistry.rb +756 -0
  514. data/lib/adwords_api/v201101/ServicedAccountServiceWrapper.rb +303 -0
  515. data/lib/adwords_api/v201101/TargetingIdeaService.rb +2827 -0
  516. data/lib/adwords_api/v201101/TargetingIdeaServiceDriver.rb +63 -0
  517. data/lib/adwords_api/v201101/TargetingIdeaServiceMappingRegistry.rb +3262 -0
  518. data/lib/adwords_api/v201101/TargetingIdeaServiceWrapper.rb +335 -0
  519. data/lib/adwords_api/v201101/TrafficEstimatorService.rb +1839 -0
  520. data/lib/adwords_api/v201101/TrafficEstimatorServiceDriver.rb +55 -0
  521. data/lib/adwords_api/v201101/TrafficEstimatorServiceMappingRegistry.rb +2128 -0
  522. data/lib/adwords_api/v201101/TrafficEstimatorServiceWrapper.rb +303 -0
  523. data/lib/adwords_api/v201101/UserListService.rb +1206 -0
  524. data/lib/adwords_api/v201101/UserListServiceDriver.rb +63 -0
  525. data/lib/adwords_api/v201101/UserListServiceMappingRegistry.rb +1323 -0
  526. data/lib/adwords_api/v201101/UserListServiceWrapper.rb +332 -0
  527. metadata +649 -0
@@ -0,0 +1,130 @@
1
+ #!/usr/bin/ruby
2
+ #
3
+ # Author:: api.sgomes@gmail.com (Sérgio Gomes)
4
+ #
5
+ # Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
6
+ #
7
+ # License:: Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
16
+ # implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+ #
20
+ # This example illustrates how to create a campaign ad extension for an existing
21
+ # campaign. To create a campaign, run add_campaign.rb.
22
+ #
23
+ # Tags: GeoLocationService.get, CampaignAdExtensionService.mutate
24
+
25
+ require 'rubygems'
26
+ gem 'google-adwords-api'
27
+ require 'adwords_api'
28
+
29
+ API_VERSION = :v201101
30
+
31
+ def add_campaign_ad_extension()
32
+ # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
33
+ # when called without parameters.
34
+ adwords = AdwordsApi::Api.new
35
+ campaign_ad_ext_srv =
36
+ adwords.service(:CampaignAdExtensionService, API_VERSION)
37
+ geo_location_srv = adwords.service(:GeoLocationService, API_VERSION)
38
+
39
+ campaign_id = 'INSERT_CAMPAIGN_ID_HERE'.to_i
40
+
41
+ selector = {
42
+ :addresses => [
43
+ {
44
+ :street_address => '1600 Amphitheatre Parkway',
45
+ :city_name => 'Mountain View',
46
+ :province_code => 'CA',
47
+ :postal_code => '94043',
48
+ :country_code => 'US'
49
+ },
50
+ {
51
+ :street_address => "38 Avenue de l'Opéra",
52
+ :city_name => 'Paris',
53
+ :postal_code => '75002',
54
+ :country_code => 'FR'
55
+ }
56
+ ]
57
+ }
58
+
59
+ # Get the geo location info for the various addresses and build the operations
60
+ # with that information.
61
+ locations = geo_location_srv.get(selector)
62
+ if locations
63
+ operations = []
64
+ locations.each do |location|
65
+ operation = {
66
+ :operator => 'ADD',
67
+ :operand => {
68
+ :campaign_id => campaign_id,
69
+ :status => 'ACTIVE',
70
+ :ad_extension => {
71
+ # The 'xsi_type' field allows you to specify the xsi:type of the
72
+ # object being created. It's only necessary when you must provide an
73
+ # explicit type that the client library can't infer.
74
+ :xsi_type => 'LocationExtension',
75
+ :address => location[:address],
76
+ :geo_point => location[:geo_point],
77
+ :encoded_location => location[:encoded_location],
78
+ :source => 'ADWORDS_FRONTEND'
79
+ }
80
+ }
81
+ }
82
+ operations << operation
83
+ end
84
+ else
85
+ puts "Unable to retrieve geo locations."
86
+ exit
87
+ end
88
+
89
+ # Add campaign ad extensions.
90
+ response = campaign_ad_ext_srv.mutate(operations)
91
+ extensions = response[:value]
92
+ extensions.each do |extension|
93
+ puts "Campaign extension id #{extension[:ad_extension][:id]} and status " +
94
+ "#{extension[:status]} successfully added."
95
+ end
96
+ end
97
+
98
+ if __FILE__ == $0
99
+ # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
100
+ # variable to 'true'. This can be done either from your operating system
101
+ # environment or via code, as done below.
102
+ ENV['ADWORDSAPI_DEBUG'] = 'false'
103
+
104
+ begin
105
+ add_campaign_ad_extension()
106
+
107
+ # Connection error. Likely transitory.
108
+ rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
109
+ puts 'Connection Error: %s' % e
110
+ puts 'Source: %s' % e.backtrace.first
111
+
112
+ # API Error.
113
+ rescue AdwordsApi::Errors::ApiException => e
114
+ puts 'API Exception caught.'
115
+ puts 'Message: %s' % e.message
116
+ puts 'Code: %d' % e.code if e.code
117
+ puts 'Trigger: %s' % e.trigger if e.trigger
118
+ puts 'Errors:'
119
+ if e.errors
120
+ e.errors.each_with_index do |error, index|
121
+ puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
122
+ error.each_pair do |field, value|
123
+ if field != :xsi_type
124
+ puts ' %s: %s' % [field, value]
125
+ end
126
+ end
127
+ end
128
+ end
129
+ end
130
+ end
@@ -0,0 +1,162 @@
1
+ #!/usr/bin/ruby
2
+ #
3
+ # Author:: api.sgomes@gmail.com (Sérgio Gomes)
4
+ #
5
+ # Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
6
+ #
7
+ # License:: Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
16
+ # implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+ #
20
+ # This example creates an experiment using a query percentage of 10, which
21
+ # defines what fraction of auctions should go to the control split (90%) vs.
22
+ # the experiment split (10%), then adds experimental bid changes for criteria
23
+ # and ad groups. To get campaigns, run get_all_campaigns.rb. To get ad groups,
24
+ # run get_all_ad_groups.rb. To get criteria, run get_all_ad_group_criteria.rb.
25
+ #
26
+ # Tags: ExperimentService.mutate
27
+
28
+ require 'rubygems'
29
+ gem 'google-adwords-api'
30
+ require 'adwords_api'
31
+
32
+ API_VERSION = :v201101
33
+
34
+ def add_experiment()
35
+ # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
36
+ # when called without parameters.
37
+ adwords = AdwordsApi::Api.new
38
+ experiment_srv = adwords.service(:ExperimentService, API_VERSION)
39
+ ad_group_srv = adwords.service(:AdGroupService, API_VERSION)
40
+ ad_group_criterion_srv =
41
+ adwords.service(:AdGroupCriterionService, API_VERSION)
42
+
43
+ campaign_id = 'INSERT_CAMPAIGN_ID_HERE'.to_i
44
+ ad_group_id = 'INSERT_AD_GROUP_ID_HERE'.to_i
45
+ criterion_id = 'INSERT_CRITERION_ID_HERE'.to_i
46
+
47
+ # Prepare for adding experiment.
48
+ operation = {
49
+ :operator => 'ADD',
50
+ :operand => {
51
+ :campaign_id => campaign_id,
52
+ :name => 'Interplanetary Experiment #%s' % (Time.new.to_f * 1000).to_i,
53
+ :query_percentage => 10,
54
+ :start_date_time => Time.now.strftime("%Y%m%d %H%M%S")
55
+ }
56
+ }
57
+
58
+ # Add experiment.
59
+ response = experiment_srv.mutate([operation])
60
+ experiment = response[:value].first
61
+ puts 'Experiment with name "%s" and id %d was added.' %
62
+ [experiment[:name], experiment[:id]]
63
+
64
+ experiment_id = experiment[:id]
65
+
66
+ # Setup ad group for the experiment.
67
+ ad_group = {
68
+ :id => ad_group_id,
69
+ # Set experiment data for the ad group.
70
+ :experiment_data => {
71
+ :experiment_id => experiment_id,
72
+ :experiment_delta_status => 'MODIFIED',
73
+ # Bid multiplier rule that will modify ad group bid for the experiment.
74
+ :experiment_bid_multipliers => {
75
+ :xsi_type => 'ManualCPCAdGroupExperimentBidMultipliers',
76
+ :max_cpc_multiplier => {
77
+ :multiplier => 1.5
78
+ }
79
+ }
80
+ }
81
+ }
82
+
83
+ # Prepare for updating ad group.
84
+ operation = {
85
+ :operator => 'SET',
86
+ :operand => ad_group
87
+ }
88
+
89
+ # Update ad group.
90
+ response = ad_group_srv.mutate([operation])
91
+ ad_group = response[:value].first
92
+ puts 'Ad group id %d was updated for the experiment.' % ad_group[:id]
93
+
94
+ # Setup ad group criterion for the experiment.
95
+ ad_group_criterion = {
96
+ :xsi_type => 'BiddableAdGroupCriterion',
97
+ :ad_group_id => ad_group_id,
98
+ :criterion => {
99
+ :id => criterion_id
100
+ },
101
+ # Set experiment data for the criterion.
102
+ :experiment_data => {
103
+ :xsi_type => 'BiddableAdGroupCriterionExperimentData',
104
+ :experiment_id => experiment_id,
105
+ :experiment_delta_status => 'MODIFIED',
106
+ # Bid multiplier rule that will modify criterion bid for the experiment.
107
+ :experiment_bid_multiplier => {
108
+ :xsi_type => 'ManualCPCAdGroupCriterionExperimentBidMultiplier',
109
+ :max_cpc_multiplier => {
110
+ :multiplier => 1.5
111
+ }
112
+ }
113
+ }
114
+ }
115
+
116
+ # Prepare for updating ad group criterion.
117
+ operation = {
118
+ :operator => 'SET',
119
+ :operand => ad_group_criterion
120
+ }
121
+
122
+ # Update criterion.
123
+ response = ad_group_criterion_srv.mutate([operation])
124
+ criterion = response[:value].first
125
+ puts 'Criterion id %d was successfully updated for the experiment.' %
126
+ [criterion[:criterion][:id]]
127
+
128
+ end
129
+
130
+ if __FILE__ == $0
131
+ # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
132
+ # variable to 'true'. This can be done either from your operating system
133
+ # environment or via code, as done below.
134
+ ENV['ADWORDSAPI_DEBUG'] = 'false'
135
+
136
+ begin
137
+ add_experiment()
138
+
139
+ # Connection error. Likely transitory.
140
+ rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
141
+ puts 'Connection Error: %s' % e
142
+ puts 'Source: %s' % e.backtrace.first
143
+
144
+ # API Error.
145
+ rescue AdwordsApi::Errors::ApiException => e
146
+ puts 'API Exception caught.'
147
+ puts 'Message: %s' % e.message
148
+ puts 'Code: %d' % e.code if e.code
149
+ puts 'Trigger: %s' % e.trigger if e.trigger
150
+ puts 'Errors:'
151
+ if e.errors
152
+ e.errors.each_with_index do |error, index|
153
+ puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
154
+ error.each_pair do |field, value|
155
+ if field != :xsi_type
156
+ puts ' %s: %s' % [field, value]
157
+ end
158
+ end
159
+ end
160
+ end
161
+ end
162
+ end
@@ -0,0 +1,108 @@
1
+ #!/usr/bin/ruby
2
+ #
3
+ # Author:: api.sgomes@gmail.com (Sérgio Gomes)
4
+ #
5
+ # Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
6
+ #
7
+ # License:: Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
16
+ # implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+ #
20
+ # This example adds a keywords performance report. To get ad groups, run
21
+ # get_all_ad_groups.rb. To get report fields, run get_report_fields.rb.
22
+ #
23
+ # Tags: ReportDefinitionService.mutate
24
+
25
+ require 'rubygems'
26
+ gem 'google-adwords-api'
27
+ require 'adwords_api'
28
+
29
+ API_VERSION = :v201101
30
+
31
+ def add_keywords_performance_report_definition()
32
+ # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
33
+ # when called without parameters.
34
+ adwords = AdwordsApi::Api.new
35
+ report_def_srv = adwords.service(:ReportDefinitionService, API_VERSION)
36
+
37
+ ad_group_id = 'INSERT_AD_GROUP_ID_HERE'.to_i
38
+ start_date = 'INSERT_START_DATE_HERE'
39
+ end_date = 'INSERT_END_DATE_HERE'
40
+
41
+ # Prepare for adding report definition.
42
+ operation = {
43
+ :operator => 'ADD',
44
+ :operand => {
45
+ :selector => {
46
+ :fields => ['AdGroupId', 'Id', 'KeywordText', 'KeywordMatchType',
47
+ 'Impressions', 'Clicks', 'Cost'],
48
+ :predicates => [{
49
+ :operator => 'EQUALS',
50
+ :field => 'AdGroupId',
51
+ :values => [ad_group_id]
52
+ }],
53
+ :date_range => {
54
+ :min => start_date,
55
+ :max => end_date
56
+ }
57
+ },
58
+ :report_name => 'Keywords performance report #%s' %
59
+ (Time.new.to_f * 1000).to_i,
60
+ :report_type => 'KEYWORDS_PERFORMANCE_REPORT',
61
+ :date_range_type => 'CUSTOM_DATE',
62
+ :download_format => 'XML'
63
+ }
64
+ }
65
+
66
+ # Add report definition.
67
+ response = report_def_srv.mutate([operation])
68
+ if response
69
+ response.each do |report_definition|
70
+ puts 'Report definition with name \'%s\' and id \'%s\' was added' %
71
+ [report_definition[:report_name], report_definition[:id]]
72
+ end
73
+ end
74
+ end
75
+
76
+ if __FILE__ == $0
77
+ # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
78
+ # variable to 'true'. This can be done either from your operating system
79
+ # environment or via code, as done below.
80
+ ENV['ADWORDSAPI_DEBUG'] = 'false'
81
+
82
+ begin
83
+ add_keywords_performance_report_definition()
84
+
85
+ # Connection error. Likely transitory.
86
+ rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
87
+ puts 'Connection Error: %s' % e
88
+ puts 'Source: %s' % e.backtrace.first
89
+
90
+ # API Error.
91
+ rescue AdwordsApi::Errors::ApiException => e
92
+ puts 'API Exception caught.'
93
+ puts 'Message: %s' % e.message
94
+ puts 'Code: %d' % e.code if e.code
95
+ puts 'Trigger: %s' % e.trigger if e.trigger
96
+ puts 'Errors:'
97
+ if e.errors
98
+ e.errors.each_with_index do |error, index|
99
+ puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
100
+ error.each_pair do |field, value|
101
+ if field != :xsi_type
102
+ puts ' %s: %s' % [field, value]
103
+ end
104
+ end
105
+ end
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,103 @@
1
+ #!/usr/bin/ruby
2
+ #
3
+ # Author:: api.dklimkin@gmail.com (Danial Klimkin)
4
+ #
5
+ # Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
6
+ #
7
+ # License:: Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
16
+ # implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+ #
20
+ # This example adds a cross client (MCC) report. To get ad groups, run
21
+ # get_all_ad_groups.rb. To get report fields, run get_report_fields.rb.
22
+ #
23
+ # Tags: ReportDefinitionService.mutate
24
+
25
+ require 'rubygems'
26
+ gem 'google-adwords-api'
27
+ require 'adwords_api'
28
+
29
+ API_VERSION = :v201101
30
+
31
+ def add_mcc_report_definition()
32
+ # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
33
+ # when called without parameters.
34
+ adwords = AdwordsApi::Api.new
35
+ report_def_srv = adwords.service(:ReportDefinitionService, API_VERSION)
36
+
37
+ # List of client logins to get report for ['abc@example.com', ...].
38
+ client_logins = []
39
+
40
+ # Prepare per-client selector.
41
+ client_selectors = client_logins.collect { |login| {:login => login} }
42
+
43
+ # Prepare for adding report definition.
44
+ operation = {
45
+ :operator => 'ADD',
46
+ :operand => {
47
+ :report_type => 'KEYWORDS_PERFORMANCE_REPORT',
48
+ :report_name => 'Ruby MCC report example #%d' %
49
+ (Time.new.to_f * 1000).to_i,
50
+ :selector => {
51
+ :fields => ['AdGroupId', 'Id', 'KeywordText', 'KeywordMatchType',
52
+ 'Impressions', 'Clicks', 'Cost']
53
+ },
54
+ :date_range_type => 'LAST_MONTH',
55
+ :download_format => 'XML',
56
+ :cross_client => true,
57
+ :client_selectors => client_selectors
58
+ }
59
+ }
60
+
61
+ # Add report definition.
62
+ response = report_def_srv.mutate([operation])
63
+ if response
64
+ response.each do |report_definition|
65
+ puts 'Report definition with name \'%s\' and id \'%s\' was added' %
66
+ [report_definition[:report_name], report_definition[:id]]
67
+ end
68
+ end
69
+ end
70
+
71
+ if __FILE__ == $0
72
+ # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
73
+ # variable to 'true'. This can be done either from your operating system
74
+ # environment or via code, as done below.
75
+ ENV['ADWORDSAPI_DEBUG'] = 'false'
76
+
77
+ begin
78
+ add_mcc_report_definition()
79
+
80
+ # Connection error. Likely transitory.
81
+ rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
82
+ puts 'Connection Error: %s' % e
83
+ puts 'Source: %s' % e.backtrace.first
84
+
85
+ # API Error.
86
+ rescue AdwordsApi::Errors::ApiException => e
87
+ puts 'API Exception caught.'
88
+ puts 'Message: %s' % e.message
89
+ puts 'Code: %d' % e.code if e.code
90
+ puts 'Trigger: %s' % e.trigger if e.trigger
91
+ puts 'Errors:'
92
+ if e.errors
93
+ e.errors.each_with_index do |error, index|
94
+ puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
95
+ error.each_pair do |field, value|
96
+ if field != :xsi_type
97
+ puts ' %s: %s' % [field, value]
98
+ end
99
+ end
100
+ end
101
+ end
102
+ end
103
+ end