google-adwords-api 0.1.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 (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,101 @@
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.
21
+ #
22
+ # Tags: CampaignService.mutate
23
+
24
+ require 'rubygems'
25
+ gem 'google-adwords-api'
26
+ require 'adwords_api'
27
+
28
+ API_VERSION = :v201008
29
+
30
+ def add_campaign()
31
+ # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
32
+ # when called without parameters.
33
+ adwords = AdwordsApi::Api.new
34
+ campaign_srv = adwords.service(:CampaignService, API_VERSION)
35
+
36
+ # Prepare for adding campaign.
37
+ operation = {
38
+ :operator => 'ADD',
39
+ :operand => {
40
+ :name => 'Interplanetary Cruise #%s' % (Time.new.to_f * 1000).to_i,
41
+ :status => 'PAUSED',
42
+ :bidding_strategy => {
43
+ # The 'xsi_type' field allows you to specify the xsi:type of the object
44
+ # being created. It's only necessary when you must provide an explicit
45
+ # type that the client library can't infer.
46
+ :xsi_type => 'ManualCPC'
47
+ },
48
+ :budget => {
49
+ :period => 'DAILY',
50
+ :amount => {
51
+ :micro_amount => 50000000
52
+ },
53
+ :delivery_method => 'STANDARD'
54
+ }
55
+ }
56
+ }
57
+
58
+ # Add campaign.
59
+ response = campaign_srv.mutate([operation])
60
+ if response and response[:value]
61
+ campaign = response[:value].first
62
+ puts 'Campaign with name "%s" and id %d was added.' %
63
+ [campaign[:name], campaign[:id]]
64
+ else
65
+ puts 'No campaigns were added.'
66
+ end
67
+ end
68
+
69
+ if __FILE__ == $0
70
+ # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
71
+ # variable to 'true'. This can be done either from your operating system
72
+ # environment or via code, as done below.
73
+ ENV['ADWORDSAPI_DEBUG'] = 'false'
74
+
75
+ begin
76
+ add_campaign()
77
+
78
+ # Connection error. Likely transitory.
79
+ rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
80
+ puts 'Connection Error: %s' % e
81
+ puts 'Source: %s' % e.backtrace.first
82
+
83
+ # API Error.
84
+ rescue AdwordsApi::Errors::ApiException => e
85
+ puts 'API Exception caught.'
86
+ puts 'Message: %s' % e.message
87
+ puts 'Code: %d' % e.code if e.code
88
+ puts 'Trigger: %s' % e.trigger if e.trigger
89
+ puts 'Errors:'
90
+ if e.errors
91
+ e.errors.each_with_index do |error, index|
92
+ puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
93
+ error.each_pair do |field, value|
94
+ if field != :xsi_type
95
+ puts ' %s: %s' % [field, value]
96
+ end
97
+ end
98
+ end
99
+ end
100
+ end
101
+ end
@@ -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 = :v201008
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 = :v201008
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 = :v201008
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