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 = :v201003
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 = :v201003
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,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 = :v201003
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,96 @@
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 negative campaign criterion for a
21
+ # given campaign. To create a campaign, run add_campaign.rb.
22
+ #
23
+ # Tags: CampaignCriterionService.mutate
24
+
25
+ require 'rubygems'
26
+ gem 'google-adwords-api'
27
+ require 'adwords_api'
28
+
29
+ API_VERSION = :v201003
30
+
31
+ def add_negative_campaign_criterion()
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_criterion_srv =
36
+ adwords.service(:CampaignCriterionService, API_VERSION)
37
+
38
+ campaign_id = 'INSERT_CAMPAIGN_ID_HERE'.to_i
39
+
40
+ # Prepare for adding criterion.
41
+ operation = {
42
+ :operator => 'ADD',
43
+ :operand => {
44
+ # The 'xsi_type' field allows you to specify the xsi:type of the object
45
+ # being created. It's only necessary when you must provide an explicit
46
+ # type that the client library can't infer.
47
+ :xsi_type => 'NegativeCampaignCriterion',
48
+ :campaign_id => campaign_id,
49
+ :criterion => {
50
+ :xsi_type => 'Keyword',
51
+ :text => 'jupiter cruise',
52
+ :match_type => 'BROAD'
53
+ }
54
+ }
55
+ }
56
+
57
+ # Add criterion.
58
+ response = campaign_criterion_srv.mutate([operation])
59
+ campaign_criterion = response[:value].first
60
+ puts 'Campaign criterion id %d was successfully added.' %
61
+ campaign_criterion[:criterion][:id]
62
+ end
63
+
64
+ if __FILE__ == $0
65
+ # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
66
+ # variable to 'true'. This can be done either from your operating system
67
+ # environment or via code, as done below.
68
+ ENV['ADWORDSAPI_DEBUG'] = 'false'
69
+
70
+ begin
71
+ add_negative_campaign_criterion()
72
+
73
+ # Connection error. Likely transitory.
74
+ rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
75
+ puts 'Connection Error: %s' % e
76
+ puts 'Source: %s' % e.backtrace.first
77
+
78
+ # API Error.
79
+ rescue AdwordsApi::Errors::ApiException => e
80
+ puts 'API Exception caught.'
81
+ puts 'Message: %s' % e.message
82
+ puts 'Code: %d' % e.code if e.code
83
+ puts 'Trigger: %s' % e.trigger if e.trigger
84
+ puts 'Errors:'
85
+ if e.errors
86
+ e.errors.each_with_index do |error, index|
87
+ puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
88
+ error.each_pair do |field, value|
89
+ if field != :xsi_type
90
+ puts ' %s: %s' % [field, value]
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,132 @@
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 shows how to use the 'validate only' header. No objects will be
21
+ # created, but exceptions will still be thrown.
22
+ #
23
+ # Tags: CampaignService.mutate
24
+
25
+ require 'rubygems'
26
+ gem 'google-adwords-api'
27
+ require 'adwords_api'
28
+
29
+ API_VERSION = :v201003
30
+
31
+ def check_campaigns()
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_srv = adwords.service(:CampaignService, API_VERSION)
36
+
37
+ # Enable 'validate only'
38
+ adwords.validate_only = true
39
+
40
+ # Prepare for adding campaign.
41
+ operation = {
42
+ :operator => 'ADD',
43
+ :operand => {
44
+ :name => 'Interplanetary Cruise #%s' % (Time.new.to_f * 1000).to_i,
45
+ :status => 'PAUSED',
46
+ :bidding_strategy => {
47
+ # The 'xsi_type' field allows you to specify the xsi:type of the object
48
+ # being created. It's only necessary when you must provide an explicit
49
+ # type that the client library can't infer.
50
+ :xsi_type => 'ManualCPC'
51
+ },
52
+ :budget => {
53
+ :period => 'DAILY',
54
+ :amount => {
55
+ :micro_amount => 50000000
56
+ },
57
+ :delivery_method => 'STANDARD'
58
+ }
59
+ }
60
+ }
61
+
62
+ # Validate campaign add operation.
63
+ response = campaign_srv.mutate([operation])
64
+ if response and response[:value]
65
+ campaigns = response[:value]
66
+ campaigns.each do |campaign|
67
+ puts "Unexpected campaign creation! Name \"#{campaign[:name]}\", id " +
68
+ "#{campaign[:id]} and status is \"#{campaign[:status]}\"."
69
+ end
70
+ else
71
+ puts 'No campaigns created.'
72
+ end
73
+
74
+ # Provide an invalid bidding strategy that will cause an exception during
75
+ # validation.
76
+ operation = {
77
+ :operator => 'ADD',
78
+ :operand => {
79
+ :name => 'Interplanetary Cruise #%s' % (Time.new.to_f * 1000).to_i,
80
+ :status => 'PAUSED',
81
+ :bidding_strategy => nil,
82
+ :budget => {
83
+ :period => 'DAILY',
84
+ :amount => {
85
+ :micro_amount => 50000000
86
+ },
87
+ :delivery_method => 'STANDARD'
88
+ }
89
+ }
90
+ }
91
+
92
+ # Validate campaign add operation.
93
+ begin
94
+ response = campaign_srv.mutate([operation])
95
+ rescue AdwordsApi::Errors::ApiException => e
96
+ puts "Validation correctly failed: #{e.message}"
97
+ end
98
+ end
99
+
100
+ if __FILE__ == $0
101
+ # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
102
+ # variable to 'true'. This can be done either from your operating system
103
+ # environment or via code, as done below.
104
+ ENV['ADWORDSAPI_DEBUG'] = 'false'
105
+
106
+ begin
107
+ check_campaigns()
108
+
109
+ # Connection error. Likely transitory.
110
+ rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
111
+ puts 'Connection Error: %s' % e
112
+ puts 'Source: %s' % e.backtrace.first
113
+
114
+ # API Error.
115
+ rescue AdwordsApi::Errors::ApiException => e
116
+ puts 'API Exception caught.'
117
+ puts 'Message: %s' % e.message
118
+ puts 'Code: %d' % e.code if e.code
119
+ puts 'Trigger: %s' % e.trigger if e.trigger
120
+ puts 'Errors:'
121
+ if e.errors
122
+ e.errors.each_with_index do |error, index|
123
+ puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
124
+ error.each_pair do |field, value|
125
+ if field != :xsi_type
126
+ puts ' %s: %s' % [field, value]
127
+ end
128
+ end
129
+ end
130
+ end
131
+ end
132
+ end