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,93 @@
1
+ #!/usr/bin/ruby
2
+ #
3
+ # Author:: api.dklimkin@gmail.com (Danial Klimkin)
4
+ #
5
+ # Copyright:: Copyright 2010, 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 and downloads a report from a report definition. To get a
21
+ # report definition, run add_keywords_performance_report_definition.rb.
22
+
23
+ require 'rubygems'
24
+ gem 'google-adwords-api'
25
+ require 'adwords_api'
26
+
27
+ API_VERSION = :v201101
28
+ MAX_RETRIES = 10
29
+ RETRY_INTERVAL = 30
30
+
31
+ def download_mcc_report()
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
+ report_definition_id = 'INSERT_REPORT_ID_HERE'.to_i
38
+
39
+ # Initially run with qt = 'new'
40
+ qt = 'new'
41
+ retries_count = 0
42
+
43
+ begin
44
+ # Acquire report or report status with "download_mcc_report" extension
45
+ # method.
46
+ report_data = report_def_srv.download_mcc_report(report_definition_id, qt)
47
+ # Saving query id for following queries.
48
+ qt = report_data[:body]['qt']
49
+ # Checking the response code.
50
+ case report_data[:code]
51
+ when 200
52
+ puts "Acquired report of size: %d" % report_data[:body].size
53
+ break
54
+ when 206
55
+ puts "Received a status update: %s" % report_data[:body]['stateName']
56
+ puts "Waiting for %d seconds to retry..." % RETRY_INTERVAL
57
+ when 500
58
+ puts "Received a failure: %s" % report_data[:body]['stateName']
59
+ break
60
+ end
61
+ sleep(RETRY_INTERVAL)
62
+ retries_count += 1
63
+ end while retries_count < MAX_RETRIES
64
+ end
65
+
66
+ if __FILE__ == $0
67
+ begin
68
+ download_mcc_report()
69
+
70
+ # Connection error. Likely transitory.
71
+ rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
72
+ puts 'Connection Error: %s' % e
73
+ puts 'Source: %s' % e.backtrace.first
74
+
75
+ # API Error.
76
+ rescue AdwordsApi::Errors::ApiException => e
77
+ puts 'API Exception caught.'
78
+ puts 'Message: %s' % e.message
79
+ puts 'Code: %d' % e.code if e.code
80
+ puts 'Trigger: %s' % e.trigger if e.trigger
81
+ puts 'Errors:'
82
+ if e.errors
83
+ e.errors.each_with_index do |error, index|
84
+ puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
85
+ error.each_pair do |field, value|
86
+ if field != :xsi_type
87
+ puts ' %s: %s' % [field, value]
88
+ end
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,71 @@
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 and downloads a report from a report definition. To get a
21
+ # report definition, run add_keywords_performance_report_definition.rb.
22
+
23
+ require 'rubygems'
24
+ gem 'google-adwords-api'
25
+ require 'adwords_api'
26
+
27
+ API_VERSION = :v201101
28
+
29
+ def download_report()
30
+ # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
31
+ # when called without parameters.
32
+ adwords = AdwordsApi::Api.new
33
+ report_def_srv = adwords.service(:ReportDefinitionService, API_VERSION)
34
+
35
+ report_definition_id = 'INSERT_REPORT_DEFINITION_ID'.to_i
36
+ file_name = 'INSERT_OUTPUT_FILE_NAME_HERE'
37
+
38
+ # Download report, using "download_report_as_file" extension method.
39
+ report_def_srv.download_report_as_file(report_definition_id, file_name)
40
+ puts 'Report with definition id %d was downloaded to \'%s\'.' %
41
+ [report_definition_id, file_name]
42
+ end
43
+
44
+ if __FILE__ == $0
45
+ begin
46
+ download_report()
47
+
48
+ # Connection error. Likely transitory.
49
+ rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
50
+ puts 'Connection Error: %s' % e
51
+ puts 'Source: %s' % e.backtrace.first
52
+
53
+ # API Error.
54
+ rescue AdwordsApi::Errors::ApiException => e
55
+ puts 'API Exception caught.'
56
+ puts 'Message: %s' % e.message
57
+ puts 'Code: %d' % e.code if e.code
58
+ puts 'Trigger: %s' % e.trigger if e.trigger
59
+ puts 'Errors:'
60
+ if e.errors
61
+ e.errors.each_with_index do |error, index|
62
+ puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
63
+ error.each_pair do |field, value|
64
+ if field != :xsi_type
65
+ puts ' %s: %s' % [field, value]
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,112 @@
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 account hierarchy under an
21
+ # account.
22
+ #
23
+ # Tags: ServicedAccountService.get
24
+
25
+ require 'rubygems'
26
+ gem 'google-adwords-api'
27
+ require 'adwords_api'
28
+
29
+ API_VERSION = :v201101
30
+
31
+ def get_account_hierarchy()
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
+ serviced_account_srv = adwords.service(:ServicedAccountService, API_VERSION)
36
+
37
+ # Get the account hierarchy for this account.
38
+ selector = {
39
+ :service_types => ['UI_AND_API', 'API_ONLY'],
40
+ :enable_paging => false
41
+ }
42
+
43
+ graph = nil
44
+
45
+ # Run with MCC account.
46
+ adwords.use_mcc do
47
+ graph = serviced_account_srv.get(selector)
48
+ end
49
+
50
+ if graph
51
+ # Display the accounts.
52
+ account_number = graph[:accounts] ? graph[:accounts].size : 0
53
+ puts "There are %d customers under this account hierarchy." %
54
+ account_number
55
+ if graph[:accounts]
56
+ graph[:accounts].each_with_index do |account, index|
57
+ puts "#{index + 1}) Customer id: " +
58
+ AdwordsApi::Utils.format_id(account[:customer_id])
59
+ puts "Login email: #{account[:login]}"
60
+ puts "Company Name: #{account[:company_name]}"
61
+ puts "IsMcc: #{account[:can_manage_clients]}"
62
+ puts ''
63
+ end
64
+
65
+ puts ''
66
+
67
+ # Display the links.
68
+ graph[:links].each do |link|
69
+ puts "There is a #{link[:type_of_link]} link of type " +
70
+ "#{link[:service_type]} from " +
71
+ "#{AdwordsApi::Utils.format_id(link[:manager_id][:id])} to " +
72
+ "#{AdwordsApi::Utils.format_id(link[:client_id][:id])}"
73
+ end
74
+ end
75
+ else
76
+ puts "No accounts were found."
77
+ end
78
+ end
79
+
80
+ if __FILE__ == $0
81
+ # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
82
+ # variable to 'true'. This can be done either from your operating system
83
+ # environment or via code, as done below.
84
+ ENV['ADWORDSAPI_DEBUG'] = 'false'
85
+
86
+ begin
87
+ get_account_hierarchy()
88
+
89
+ # Connection error. Likely transitory.
90
+ rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
91
+ puts 'Connection Error: %s' % e
92
+ puts 'Source: %s' % e.backtrace.first
93
+
94
+ # API Error.
95
+ rescue AdwordsApi::Errors::ApiException => e
96
+ puts 'API Exception caught.'
97
+ puts 'Message: %s' % e.message
98
+ puts 'Code: %d' % e.code if e.code
99
+ puts 'Trigger: %s' % e.trigger if e.trigger
100
+ puts 'Errors:'
101
+ if e.errors
102
+ e.errors.each_with_index do |error, index|
103
+ puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
104
+ error.each_pair do |field, value|
105
+ if field != :xsi_type
106
+ puts ' %s: %s' % [field, value]
107
+ end
108
+ end
109
+ end
110
+ end
111
+ end
112
+ end
@@ -0,0 +1,103 @@
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 bid landscapes for an ad group. To get ad groups,
21
+ # run get_all_ad_groups.rb.
22
+ #
23
+ # Tags: DataService.getAdGroupBidLandscape
24
+
25
+ require 'rubygems'
26
+ gem 'google-adwords-api'
27
+ require 'adwords_api'
28
+
29
+ API_VERSION = :v201101
30
+
31
+ def get_ad_group_bid_landscapes()
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
+ data_srv = adwords.service(:DataService, API_VERSION)
36
+
37
+ ad_group_id = 'INSERT_ADGROUP_ID_HERE'.to_i
38
+ criterion_id = 'INSERT_CRITERION_ID_HERE'.to_i
39
+
40
+ # Get bid landscape for ad group.
41
+ selector = {
42
+ :fields => ["AdGroupId", "LandscapeType", "LandscapeCurrent", "StartDate",
43
+ "EndDate", "Bid", "LocalClicks", "LocalCost", "MarginalCpc",
44
+ "LocalImpressions"],
45
+ :predicates => [
46
+ {:field => 'AdGroupId', :operator => 'IN', :values => [ad_group_id]}
47
+ ]
48
+ }
49
+ page = data_srv.get_criterion_bid_landscape(selector)
50
+ if page and page[:entries]
51
+ puts "#{page[:entries].length} bid landscape(s) retrieved."
52
+ page[:entries].each do |bid_landscape|
53
+ puts "Found ad group bid landscape with ad group id " +
54
+ "'#{bid_landscape[:ad_group_id]}', type " +
55
+ "'#{bid_landscape[:type]}', current " +
56
+ "'#{bid_landscape[:landscape_current]}', start date " +
57
+ "'#{bid_landscape[:start_date]}', end date "+
58
+ "'#{bid_landscape[:end_date]}', with landscape points:"
59
+ bid_landscape[:landscape_points].each do |point|
60
+ puts " #{point[:bid][:micro_amount]} => clicks: #{point.clicks}, " +
61
+ "cost: #{point[:cost][:micro_amount]}, marginalCpc: " +
62
+ "#{point[:marginal_cpc][:micro_amount]}, impressions: " +
63
+ "#{point[:impressions]}"
64
+ end
65
+ end
66
+ else
67
+ puts "No ad group bid landscapes retrieved."
68
+ end
69
+ end
70
+
71
+ if __FILE__ == $0
72
+ # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
73
+ # variable to 'true'. This can be done either from your operating system
74
+ # environment or via code, as done below.
75
+ ENV['ADWORDSAPI_DEBUG'] = 'false'
76
+
77
+ begin
78
+ get_ad_group_bid_landscapes()
79
+
80
+ # Connection error. Likely transitory.
81
+ rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
82
+ puts 'Connection Error: %s' % e
83
+ puts 'Source: %s' % e.backtrace.first
84
+
85
+ # API Error.
86
+ rescue AdwordsApi::Errors::ApiException => e
87
+ puts 'API Exception caught.'
88
+ puts 'Message: %s' % e.message
89
+ puts 'Code: %d' % e.code if e.code
90
+ puts 'Trigger: %s' % e.trigger if e.trigger
91
+ puts 'Errors:'
92
+ if e.errors
93
+ e.errors.each_with_index do |error, index|
94
+ puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
95
+ error.each_pair do |field, value|
96
+ if field != :xsi_type
97
+ puts ' %s: %s' % [field, value]
98
+ end
99
+ end
100
+ end
101
+ end
102
+ end
103
+ end
@@ -0,0 +1,146 @@
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 all account changes between the two dates specified, for
21
+ # all campaigns.
22
+ #
23
+ # Tags: CustomerSyncService.get
24
+
25
+ require 'rubygems'
26
+ gem 'google-adwords-api'
27
+ require 'adwords_api'
28
+ require 'pp'
29
+
30
+ API_VERSION = :v201101
31
+
32
+ def get_all_account_changes()
33
+ # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
34
+ # when called without parameters.
35
+ adwords = AdwordsApi::Api.new
36
+ campaign_srv = adwords.service(:CampaignService, API_VERSION)
37
+ customer_sync_srv = adwords.service(:CustomerSyncService, API_VERSION)
38
+
39
+ today_at_midnight = DateTime.parse(Date.today.to_s)
40
+ yesterday_at_midnight = DateTime.parse((Date.today - 1).to_s)
41
+ min_date_time = yesterday_at_midnight.strftime("%Y%m%d %H%M%S")
42
+ max_date_time = today_at_midnight.strftime("%Y%m%d %H%M%S")
43
+
44
+ # Get all the campaigns for this account.
45
+ selector = {
46
+ :fields => ['Id']
47
+ }
48
+ response = campaign_srv.get(selector)
49
+
50
+ campaign_ids = []
51
+
52
+ if response and response[:entries]
53
+ campaigns = response[:entries]
54
+ campaign_ids = campaigns.map { |campaign| campaign[:id] }
55
+ else
56
+ puts "No campaigns were found."
57
+ return
58
+ end
59
+
60
+ # Create selector for CustomerSyncService.
61
+ selector = {
62
+ :campaign_ids => campaign_ids,
63
+ :date_time_range => {
64
+ :min => min_date_time,
65
+ :max => max_date_time
66
+ }
67
+ }
68
+
69
+ # Get all account changes for campaigns.
70
+ campaign_changes = customer_sync_srv.get(selector)
71
+
72
+ # Display changes.
73
+ if campaign_changes
74
+ puts "Most recent change: #{campaign_changes[:last_change_timestamp]}"
75
+ campaign_changes[:changed_campaigns].each do |campaign|
76
+ puts "Campaign with id #{campaign[:campaign_id]} was changed:"
77
+ puts " Campaign changed status: #{campaign[:campaign_change_status]}"
78
+ if campaign[:campaign_change_status] != 'NEW'
79
+ puts " Added ad extensions: %s" %
80
+ campaign[:added_ad_extensions].pretty_inspect
81
+ puts " Added campaign criteria: %s" %
82
+ campaign[:added_campaign_criteria].pretty_inspect
83
+ puts " Added campaign targeting: %s" %
84
+ campaign[:campaign_targeting_changed].pretty_inspect
85
+ puts " Deleted ad extensions: %s" %
86
+ campaign[:deleted_ad_extensions].pretty_inspect
87
+ puts " Deleted campaign criteria: %s" %
88
+ campaign[:deleted_campaign_criteria].pretty_inspect
89
+
90
+ if campaign[:changed_ad_groups]
91
+ campaign[:changed_ad_groups].each do |ad_group|
92
+ puts " Ad group with id #{ad_group[:ad_group_id]} was changed:"
93
+ puts " Ad group changed status: " +
94
+ "#{ad_group[:ad_group_change_status]}"
95
+ if ad_group[:ad_group_change_status] != 'NEW'
96
+ puts " Ads changed: %s" % ad_group[:changed_ads].pretty_inspect
97
+ puts " Criteria changed: %s" %
98
+ ad_group[:changed_criteria].pretty_inspect
99
+ puts " Criteria deleted: %s" %
100
+ ad_group[:deleted_criteria].pretty_inspect
101
+ end
102
+ end
103
+ end
104
+ end
105
+ puts ''
106
+ end
107
+ else
108
+ puts "No account changes were found."
109
+ end
110
+
111
+
112
+ end
113
+
114
+ if __FILE__ == $0
115
+ # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
116
+ # variable to 'true'. This can be done either from your operating system
117
+ # environment or via code, as done below.
118
+ ENV['ADWORDSAPI_DEBUG'] = 'false'
119
+
120
+ begin
121
+ get_all_account_changes()
122
+
123
+ # Connection error. Likely transitory.
124
+ rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
125
+ puts 'Connection Error: %s' % e
126
+ puts 'Source: %s' % e.backtrace.first
127
+
128
+ # API Error.
129
+ rescue AdwordsApi::Errors::ApiException => e
130
+ puts 'API Exception caught.'
131
+ puts 'Message: %s' % e.message
132
+ puts 'Code: %d' % e.code if e.code
133
+ puts 'Trigger: %s' % e.trigger if e.trigger
134
+ puts 'Errors:'
135
+ if e.errors
136
+ e.errors.each_with_index do |error, index|
137
+ puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
138
+ error.each_pair do |field, value|
139
+ if field != :xsi_type
140
+ puts ' %s: %s' % [field, value]
141
+ end
142
+ end
143
+ end
144
+ end
145
+ end
146
+ end