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,81 @@
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 gets the list of possible report fields for a report type.
21
+ #
22
+ # Tags: ReportDefinitionService.getReportFields
23
+
24
+ require 'rubygems'
25
+ gem 'google-adwords-api'
26
+ require 'adwords_api'
27
+
28
+ API_VERSION = :v201101
29
+
30
+ def get_report_fields()
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
+ report_def_srv = adwords.service(:ReportDefinitionService, API_VERSION)
35
+
36
+ report_type = 'INSERT_REPORT_TYPE_HERE'
37
+
38
+ # Get report fields.
39
+ fields = report_def_srv.get_report_fields(report_type)
40
+ if fields
41
+ puts 'Report type \'%s\' contains the following fields:' % report_type
42
+ fields.each do |field|
43
+ puts ' - %s (%s)' % [field[:field_name], field[:field_type]]
44
+ puts ' := [%s]' % field[:enum_values].join(', ') if field[:enum_values]
45
+ end
46
+ end
47
+ end
48
+
49
+ if __FILE__ == $0
50
+ # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
51
+ # variable to 'true'. This can be done either from your operating system
52
+ # environment or via code, as done below.
53
+ ENV['ADWORDSAPI_DEBUG'] = 'false'
54
+
55
+ begin
56
+ get_report_fields()
57
+
58
+ # Connection error. Likely transitory.
59
+ rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
60
+ puts 'Connection Error: %s' % e
61
+ puts 'Source: %s' % e.backtrace.first
62
+
63
+ # API Error.
64
+ rescue AdwordsApi::Errors::ApiException => e
65
+ puts 'API Exception caught.'
66
+ puts 'Message: %s' % e.message
67
+ puts 'Code: %d' % e.code if e.code
68
+ puts 'Trigger: %s' % e.trigger if e.trigger
69
+ puts 'Errors:'
70
+ if e.errors
71
+ e.errors.each_with_index do |error, index|
72
+ puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
73
+ error.each_pair do |field, value|
74
+ if field != :xsi_type
75
+ puts ' %s: %s' % [field, value]
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,83 @@
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 retrieve the total number of API units that
21
+ # can be used by the developer token making the call, for the current month.
22
+ #
23
+ # Tags: InfoService.get
24
+
25
+ require 'rubygems'
26
+ gem 'google-adwords-api'
27
+ require 'adwords_api'
28
+
29
+ API_VERSION = :v201101
30
+
31
+ def get_total_usage_units_per_month()
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
+ info_srv = adwords.service(:InfoService, API_VERSION)
36
+
37
+ selector = {
38
+ :api_usage_type => 'TOTAL_USAGE_API_UNITS_PER_MONTH'
39
+ }
40
+
41
+ # Get the usage info.
42
+ adwords.use_mcc do
43
+ info = info_srv.get(selector)
44
+ if info
45
+ puts 'The total number of API units available this month is %d.' %
46
+ info[:cost]
47
+ end
48
+ end
49
+ end
50
+
51
+ if __FILE__ == $0
52
+ # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
53
+ # variable to 'true'. This can be done either from your operating system
54
+ # environment or via code, as done below.
55
+ ENV['ADWORDSAPI_DEBUG'] = 'false'
56
+
57
+ begin
58
+ get_total_usage_units_per_month()
59
+
60
+ # Connection error. Likely transitory.
61
+ rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
62
+ puts 'Connection Error: %s' % e
63
+ puts 'Source: %s' % e.backtrace.first
64
+
65
+ # API Error.
66
+ rescue AdwordsApi::Errors::ApiException => e
67
+ puts 'API Exception caught.'
68
+ puts 'Message: %s' % e.message
69
+ puts 'Code: %d' % e.code if e.code
70
+ puts 'Trigger: %s' % e.trigger if e.trigger
71
+ puts 'Errors:'
72
+ if e.errors
73
+ e.errors.each_with_index do |error, index|
74
+ puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
75
+ error.each_pair do |field, value|
76
+ if field != :xsi_type
77
+ puts ' %s: %s' % [field, value]
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,157 @@
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 gets keyword traffic estimates.
21
+ #
22
+ # Tags: TrafficEstimatorService.get
23
+
24
+ require 'rubygems'
25
+ gem 'google-adwords-api'
26
+ require 'adwords_api'
27
+ require 'pp'
28
+
29
+ API_VERSION = :v201101
30
+
31
+ def get_traffic_estimates()
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
+ traffic_estimator_srv = adwords.service(:TrafficEstimatorService, API_VERSION)
36
+
37
+ # Create keywords. Up to 2000 keywords can be passed in a single request.
38
+ keywords = [
39
+ {
40
+ # The 'xsi_type' field allows you to specify the xsi:type of the object
41
+ # being created. It's only necessary when you must provide an explicit
42
+ # type that the client library can't infer.
43
+ :xsi_type => 'Keyword',
44
+ :text => 'mars cruise',
45
+ :match_type => 'BROAD'
46
+ },
47
+ {
48
+ :xsi_type => 'Keyword',
49
+ :text => 'cheap cruise',
50
+ :match_type => 'PHRASE'
51
+ },
52
+ {
53
+ :xsi_type => 'Keyword',
54
+ :text => 'cruise',
55
+ :match_type => 'EXACT'
56
+ }
57
+ ]
58
+
59
+ # Create a keyword estimate request for each keyword.
60
+ keyword_requests = []
61
+ keywords.each do |keyword|
62
+ request = {
63
+ :keyword => keyword
64
+ }
65
+ keyword_requests << request
66
+ end
67
+
68
+ # Create ad group estimate requests.
69
+ ad_group_request = {
70
+ :keyword_estimate_requests => keyword_requests,
71
+ :max_cpc => {
72
+ :micro_amount => 1000000
73
+ }
74
+ }
75
+
76
+ # Create campaign estimate requests.
77
+ campaign_request = {
78
+ :ad_group_estimate_requests => [ad_group_request],
79
+ :targets => [
80
+ {
81
+ :xsi_type => 'CountryTarget',
82
+ :country_code => 'US'
83
+ },
84
+ {
85
+ :xsi_type => 'LanguageTarget',
86
+ :language_code => 'en'
87
+ }
88
+ ]
89
+ }
90
+
91
+ # Create selector and retrieve reults.
92
+ selector = {
93
+ :campaign_estimate_requests => [campaign_request]
94
+ }
95
+ response = traffic_estimator_srv.get(selector)
96
+ if response and response[:campaign_estimates]
97
+ campaign_estimates = response[:campaign_estimates]
98
+ keyword_estimates =
99
+ campaign_estimates.first[:ad_group_estimates].first[:keyword_estimates]
100
+ keyword_estimates.each_with_index do |estimate, index|
101
+ keyword = keyword_requests[index][:keyword]
102
+
103
+ # Find the mean of the min and max values.
104
+ mean_avg_cpc = (estimate[:min][:average_cpc][:micro_amount] +
105
+ estimate[:max][:average_cpc][:micro_amount]) / 2
106
+ mean_avg_position = (estimate[:min][:average_position] +
107
+ estimate[:max][:average_position]) / 2
108
+ mean_clicks = (estimate[:min][:clicks_per_day] +
109
+ estimate[:max][:clicks_per_day]) / 2
110
+ mean_total_cost = (estimate[:min][:total_cost][:micro_amount] +
111
+ estimate[:max][:total_cost][:micro_amount]) / 2
112
+
113
+ puts "Results for the keyword with text #{keyword[:text]} and match " +
114
+ "type #{keyword[:match_type]}:"
115
+ puts " Estimated average CPC: %d" % mean_avg_cpc
116
+ puts " Estimated ad position: %.2f" % mean_avg_position
117
+ puts " Estimated daily clicks: %d" % mean_clicks
118
+ puts " Estimated daily cost: %d" % mean_total_cost
119
+ end
120
+ else
121
+ puts "No traffic estimates were returned."
122
+ end
123
+ end
124
+
125
+ if __FILE__ == $0
126
+ # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
127
+ # variable to 'true'. This can be done either from your operating system
128
+ # environment or via code, as done below.
129
+ ENV['ADWORDSAPI_DEBUG'] = 'false'
130
+
131
+ begin
132
+ get_traffic_estimates()
133
+
134
+ # Connection error. Likely transitory.
135
+ rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
136
+ puts 'Connection Error: %s' % e
137
+ puts 'Source: %s' % e.backtrace.first
138
+
139
+ # API Error.
140
+ rescue AdwordsApi::Errors::ApiException => e
141
+ puts 'API Exception caught.'
142
+ puts 'Message: %s' % e.message
143
+ puts 'Code: %d' % e.code if e.code
144
+ puts 'Trigger: %s' % e.trigger if e.trigger
145
+ puts 'Errors:'
146
+ if e.errors
147
+ e.errors.each_with_index do |error, index|
148
+ puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
149
+ error.each_pair do |field, value|
150
+ if field != :xsi_type
151
+ puts ' %s: %s' % [field, value]
152
+ end
153
+ end
154
+ end
155
+ end
156
+ end
157
+ end
@@ -0,0 +1,88 @@
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 retrieve the number of API units recorded for
21
+ # the developer token being used to make this call over the given date range.
22
+ #
23
+ # Tags: InfoService.get
24
+
25
+ require 'rubygems'
26
+ gem 'google-adwords-api'
27
+ require 'adwords_api'
28
+
29
+ API_VERSION = :v201101
30
+
31
+ def get_unit_count()
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
+ info_srv = adwords.service(:InfoService, API_VERSION)
36
+
37
+ selector = {
38
+ :api_usage_type => 'UNIT_COUNT',
39
+ :date_range => {
40
+ :min => Time.now.strftime('%Y%m01'),
41
+ :max => Time.now.strftime('%Y%m%d')
42
+ }
43
+ }
44
+
45
+ # Get the unit info.
46
+ adwords.use_mcc do
47
+ info = info_srv.get(selector)
48
+ if info
49
+ puts 'The total number of units consumed from %s to %s is %d.' %
50
+ [selector[:date_range][:min], selector[:date_range][:max],
51
+ info[:cost]]
52
+ end
53
+ end
54
+ end
55
+
56
+ if __FILE__ == $0
57
+ # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
58
+ # variable to 'true'. This can be done either from your operating system
59
+ # environment or via code, as done below.
60
+ ENV['ADWORDSAPI_DEBUG'] = 'false'
61
+
62
+ begin
63
+ get_unit_count()
64
+
65
+ # Connection error. Likely transitory.
66
+ rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
67
+ puts 'Connection Error: %s' % e
68
+ puts 'Source: %s' % e.backtrace.first
69
+
70
+ # API Error.
71
+ rescue AdwordsApi::Errors::ApiException => e
72
+ puts 'API Exception caught.'
73
+ puts 'Message: %s' % e.message
74
+ puts 'Code: %d' % e.code if e.code
75
+ puts 'Trigger: %s' % e.trigger if e.trigger
76
+ puts 'Errors:'
77
+ if e.errors
78
+ e.errors.each_with_index do |error, index|
79
+ puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
80
+ error.each_pair do |field, value|
81
+ if field != :xsi_type
82
+ puts ' %s: %s' % [field, value]
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,135 @@
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 demonstrates how to handle partial failures.
21
+ #
22
+ # Tags: AdGroupCriterionService.mutate
23
+
24
+ require 'rubygems'
25
+ gem 'google-adwords-api'
26
+ require 'adwords_api'
27
+
28
+ API_VERSION = :v201101
29
+
30
+ def handle_partial_failures()
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
+ ad_group_criterion_srv =
35
+ adwords.service(:AdGroupCriterionService, API_VERSION)
36
+
37
+ ad_group_id = 'INSERT_AD_GROUP_ID_HERE'.to_i
38
+
39
+ # Set partial failures flag.
40
+ adwords.partial_failure = true
41
+
42
+ # Create keywords.
43
+ keyword_text = ['mars cruise', 'inv@lid cruise', 'venus cruise',
44
+ 'b(a)d keyword cruise']
45
+ keywords = []
46
+ keyword_text.each do |text|
47
+ keyword = {
48
+ # The 'xsi_type' field allows you to specify the xsi:type of the object
49
+ # being created. It's only necessary when you must provide an explicit
50
+ # type that the client library can't infer.
51
+ :xsi_type => 'Keyword',
52
+ :match_type => 'BROAD',
53
+ :text => text
54
+ }
55
+ keywords << keyword
56
+ end
57
+
58
+ # Create biddable ad group criteria and operations.
59
+ operations = []
60
+ keywords.each do |kwd|
61
+ operation = {
62
+ :operator => 'ADD',
63
+ :operand => {
64
+ :xsi_type => 'BiddableAdGroupCriterion',
65
+ :ad_group_id => ad_group_id,
66
+ :criterion => kwd
67
+ }
68
+ }
69
+ operations << operation
70
+ end
71
+
72
+ # Add criteria.
73
+ response = ad_group_criterion_srv.mutate(operations)
74
+ if response and response[:value]
75
+ ad_group_criteria = response[:value]
76
+ ad_group_criteria.each do |ad_group_criterion|
77
+ if ad_group_criterion[:criterion]
78
+ puts "Ad group criterion with ad group id " +
79
+ "#{ad_group_criterion[:ad_group_id]}, criterion id "+
80
+ "#{ad_group_criterion[:criterion][:id]} and keyword \"" +
81
+ "#{ad_group_criterion[:criterion][:text]}\" was added."
82
+ end
83
+ end
84
+ else
85
+ puts "No criteria were added."
86
+ end
87
+
88
+ # Check partial failures.
89
+ if response and response[:partial_failure_errors]
90
+ response[:partial_failure_errors].each do |error|
91
+ operation_index = AdwordsApi::Utils.operation_index_for_error(error)
92
+ if operation_index
93
+ ad_group_criterion = operations[operation_index][:operand]
94
+ puts "Ad group criterion with ad group id " +
95
+ "#{ad_group_criterion[:ad_group_id]} and keyword \"" +
96
+ "#{ad_group_criterion[:criterion][:text]}\" triggered an error " +
97
+ "for the following reason: \"#{error[:error_string]}\"."
98
+ end
99
+ end
100
+ end
101
+ end
102
+
103
+ if __FILE__ == $0
104
+ # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
105
+ # variable to 'true'. This can be done either from your operating system
106
+ # environment or via code, as done below.
107
+ ENV['ADWORDSAPI_DEBUG'] = 'false'
108
+
109
+ begin
110
+ handle_partial_failures()
111
+
112
+ # Connection error. Likely transitory.
113
+ rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
114
+ puts 'Connection Error: %s' % e
115
+ puts 'Source: %s' % e.backtrace.first
116
+
117
+ # API Error.
118
+ rescue AdwordsApi::Errors::ApiException => e
119
+ puts 'API Exception caught.'
120
+ puts 'Message: %s' % e.message
121
+ puts 'Code: %d' % e.code if e.code
122
+ puts 'Trigger: %s' % e.trigger if e.trigger
123
+ puts 'Errors:'
124
+ if e.errors
125
+ e.errors.each_with_index do |error, index|
126
+ puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
127
+ error.each_pair do |field, value|
128
+ if field != :xsi_type
129
+ puts ' %s: %s' % [field, value]
130
+ end
131
+ end
132
+ end
133
+ end
134
+ end
135
+ end