google-adwords-api 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (303) hide show
  1. data/ChangeLog +5 -0
  2. data/README +18 -21
  3. data/Rakefile +1 -1
  4. data/adwords_api.yml +2 -0
  5. data/examples/v200909/add_ad_extension_override.rb +5 -5
  6. data/examples/v200909/add_ad_group.rb +5 -5
  7. data/examples/v200909/add_ad_group_criteria.rb +6 -6
  8. data/examples/v200909/add_ads.rb +7 -6
  9. data/examples/v200909/add_campaign.rb +5 -5
  10. data/examples/v200909/add_campaign_ad_extension.rb +5 -5
  11. data/examples/v200909/add_negative_campaign_criterion.rb +5 -5
  12. data/examples/v200909/check_campaigns.rb +5 -5
  13. data/examples/v200909/delete_ad.rb +5 -5
  14. data/examples/v200909/delete_ad_group.rb +5 -5
  15. data/examples/v200909/delete_ad_group_criterion.rb +5 -5
  16. data/examples/v200909/delete_campaign.rb +5 -5
  17. data/examples/v200909/get_all_active_ad_group_criteria.rb +5 -5
  18. data/examples/v200909/get_all_ad_extension_overrides.rb +5 -5
  19. data/examples/v200909/get_all_ad_group_criteria.rb +5 -5
  20. data/examples/v200909/get_all_ad_groups.rb +5 -5
  21. data/examples/v200909/get_all_ad_params.rb +5 -5
  22. data/examples/v200909/get_all_ads.rb +5 -5
  23. data/examples/v200909/get_all_campaign_ad_extensions.rb +5 -5
  24. data/examples/v200909/get_all_campaign_targets.rb +5 -5
  25. data/examples/v200909/get_all_campaigns.rb +5 -5
  26. data/examples/v200909/get_all_disapproved_ads.rb +5 -5
  27. data/examples/v200909/get_all_paused_campaigns.rb +5 -5
  28. data/examples/v200909/get_conversion_optimizer_eligibility.rb +5 -5
  29. data/examples/v200909/get_geo_location_info.rb +5 -5
  30. data/examples/v200909/get_method_cost.rb +5 -5
  31. data/examples/v200909/get_operation_count.rb +5 -5
  32. data/examples/v200909/get_related_keywords.rb +20 -19
  33. data/examples/v200909/get_related_placements.rb +22 -21
  34. data/examples/v200909/get_total_usage_units_per_month.rb +5 -5
  35. data/examples/v200909/get_unit_count.rb +5 -5
  36. data/examples/v200909/perform_bulk_mutate_job.rb +5 -5
  37. data/examples/v200909/set_ad_params.rb +5 -5
  38. data/examples/v200909/set_campaign_targets.rb +5 -5
  39. data/examples/v200909/update_ad.rb +5 -5
  40. data/examples/v200909/update_ad_group.rb +5 -5
  41. data/examples/v200909/update_ad_group_criterion.rb +5 -5
  42. data/examples/v200909/update_campaign.rb +5 -5
  43. data/examples/v201003/add_ad_extension_override.rb +5 -5
  44. data/examples/v201003/add_ad_group.rb +5 -5
  45. data/examples/v201003/add_ad_group_criteria.rb +5 -5
  46. data/examples/v201003/add_ads.rb +7 -6
  47. data/examples/v201003/add_campaign.rb +5 -5
  48. data/examples/v201003/add_campaign_ad_extension.rb +5 -5
  49. data/examples/v201003/add_keywords_performance_report_definition.rb +5 -5
  50. data/examples/v201003/add_negative_campaign_criterion.rb +5 -5
  51. data/examples/v201003/check_campaigns.rb +5 -5
  52. data/examples/v201003/delete_ad.rb +5 -5
  53. data/examples/v201003/delete_ad_group.rb +5 -5
  54. data/examples/v201003/delete_ad_group_criterion.rb +5 -5
  55. data/examples/v201003/delete_campaign.rb +5 -5
  56. data/examples/v201003/download_report.rb +5 -0
  57. data/examples/v201003/get_all_active_ad_group_criteria.rb +5 -5
  58. data/examples/v201003/get_all_ad_extension_overrides.rb +5 -5
  59. data/examples/v201003/get_all_ad_group_criteria.rb +5 -5
  60. data/examples/v201003/get_all_ad_groups.rb +5 -5
  61. data/examples/v201003/get_all_ad_params.rb +5 -5
  62. data/examples/v201003/get_all_ads.rb +5 -5
  63. data/examples/v201003/get_all_campaign_ad_extensions.rb +5 -5
  64. data/examples/v201003/get_all_campaign_targets.rb +5 -5
  65. data/examples/v201003/get_all_campaigns.rb +5 -5
  66. data/examples/v201003/get_all_disapproved_ads.rb +5 -5
  67. data/examples/v201003/get_all_images.rb +5 -5
  68. data/examples/v201003/get_all_paused_campaigns.rb +5 -5
  69. data/examples/v201003/get_all_report_definitions.rb +5 -5
  70. data/examples/v201003/get_all_videos.rb +5 -5
  71. data/examples/v201003/get_conversion_optimizer_eligibility.rb +5 -5
  72. data/examples/v201003/get_criterion_bid_landscape.rb +5 -5
  73. data/examples/v201003/get_geo_location_info.rb +5 -5
  74. data/examples/v201003/get_method_cost.rb +5 -5
  75. data/examples/v201003/get_operation_count.rb +5 -5
  76. data/examples/v201003/get_related_keywords.rb +20 -19
  77. data/examples/v201003/get_related_placements.rb +19 -15
  78. data/examples/v201003/get_report_fields.rb +5 -5
  79. data/examples/v201003/get_total_usage_units_per_month.rb +5 -5
  80. data/examples/v201003/get_unit_count.rb +5 -5
  81. data/examples/v201003/perform_bulk_mutate_job.rb +5 -5
  82. data/examples/v201003/set_ad_params.rb +5 -5
  83. data/examples/v201003/set_campaign_targets.rb +5 -5
  84. data/examples/v201003/update_ad.rb +5 -5
  85. data/examples/v201003/update_ad_group.rb +5 -5
  86. data/examples/v201003/update_ad_group_criterion.rb +5 -5
  87. data/examples/v201003/update_campaign.rb +5 -5
  88. data/examples/v201003/upload_image.rb +7 -6
  89. data/examples/v201008/add_ad_extension_override.rb +5 -5
  90. data/examples/v201008/add_ad_group.rb +5 -5
  91. data/examples/v201008/add_ad_group_criteria.rb +5 -5
  92. data/examples/v201008/add_ads.rb +7 -6
  93. data/examples/v201008/add_campaign.rb +5 -5
  94. data/examples/v201008/add_campaign_ad_extension.rb +5 -5
  95. data/examples/v201008/add_experiment.rb +5 -5
  96. data/examples/v201008/add_keywords_performance_report_definition.rb +5 -5
  97. data/examples/v201008/add_negative_campaign_criterion.rb +5 -5
  98. data/examples/v201008/add_user_list.rb +5 -5
  99. data/examples/v201008/check_campaigns.rb +5 -5
  100. data/examples/v201008/delete_ad.rb +5 -5
  101. data/examples/v201008/delete_ad_group.rb +5 -5
  102. data/examples/v201008/delete_ad_group_criterion.rb +5 -5
  103. data/examples/v201008/delete_bulk_mutate_job.rb +5 -5
  104. data/examples/v201008/delete_campaign.rb +5 -5
  105. data/examples/v201008/delete_experiment.rb +5 -5
  106. data/examples/v201008/delete_user_list.rb +5 -5
  107. data/examples/v201008/download_report.rb +5 -0
  108. data/examples/v201008/get_account_hierarchy.rb +5 -5
  109. data/examples/v201008/get_all_account_changes.rb +5 -5
  110. data/examples/v201008/get_all_active_ad_group_criteria.rb +5 -5
  111. data/examples/v201008/get_all_ad_extension_overrides.rb +5 -5
  112. data/examples/v201008/get_all_ad_group_criteria.rb +5 -5
  113. data/examples/v201008/get_all_ad_groups.rb +5 -5
  114. data/examples/v201008/get_all_ad_params.rb +5 -5
  115. data/examples/v201008/get_all_ads.rb +5 -5
  116. data/examples/v201008/get_all_campaign_ad_extensions.rb +5 -5
  117. data/examples/v201008/get_all_campaign_targets.rb +5 -5
  118. data/examples/v201008/get_all_campaigns.rb +5 -5
  119. data/examples/v201008/get_all_disapproved_ads.rb +5 -5
  120. data/examples/v201008/get_all_experiments.rb +5 -5
  121. data/examples/v201008/get_all_images.rb +5 -5
  122. data/examples/v201008/get_all_paused_campaigns.rb +5 -5
  123. data/examples/v201008/get_all_report_definitions.rb +5 -5
  124. data/examples/v201008/get_all_user_lists.rb +5 -5
  125. data/examples/v201008/get_all_videos.rb +5 -5
  126. data/examples/v201008/get_bulk_mutate_job.rb +5 -5
  127. data/examples/v201008/get_campaign_alerts.rb +5 -5
  128. data/examples/v201008/get_conversion_optimizer_eligibility.rb +5 -5
  129. data/examples/v201008/get_criterion_bid_landscape.rb +5 -5
  130. data/examples/v201008/get_geo_location_info.rb +5 -5
  131. data/examples/v201008/get_method_cost.rb +5 -5
  132. data/examples/v201008/get_operation_count.rb +5 -5
  133. data/examples/v201008/get_related_keywords.rb +20 -19
  134. data/examples/v201008/get_related_placements.rb +22 -21
  135. data/examples/v201008/get_report_fields.rb +5 -5
  136. data/examples/v201008/get_total_usage_units_per_month.rb +5 -5
  137. data/examples/v201008/get_traffic_estimates.rb +5 -5
  138. data/examples/v201008/get_unit_count.rb +5 -5
  139. data/examples/v201008/handle_partial_failures.rb +5 -5
  140. data/examples/v201008/handle_policy_violation_error.rb +5 -5
  141. data/examples/v201008/perform_bulk_mutate_job.rb +5 -5
  142. data/examples/v201008/promote_experiment.rb +5 -5
  143. data/examples/v201008/set_ad_params.rb +5 -5
  144. data/examples/v201008/set_campaign_targets.rb +5 -5
  145. data/examples/v201008/update_ad.rb +5 -5
  146. data/examples/v201008/update_ad_group.rb +5 -5
  147. data/examples/v201008/update_ad_group_criterion.rb +5 -5
  148. data/examples/v201008/update_campaign.rb +5 -5
  149. data/examples/v201008/update_user_list.rb +5 -5
  150. data/examples/v201008/upload_image.rb +7 -6
  151. data/examples/v201101/add_ad_extension_override.rb +5 -5
  152. data/examples/v201101/add_ad_group.rb +5 -5
  153. data/examples/v201101/add_ad_group_criteria.rb +5 -5
  154. data/examples/v201101/add_ads.rb +7 -6
  155. data/examples/v201101/add_campaign.rb +5 -5
  156. data/examples/v201101/add_campaign_ad_extension.rb +5 -5
  157. data/examples/v201101/add_conversion.rb +5 -5
  158. data/examples/v201101/add_experiment.rb +5 -5
  159. data/examples/v201101/add_keywords_performance_report_definition.rb +5 -5
  160. data/examples/v201101/add_mcc_report_definition.rb +5 -5
  161. data/examples/v201101/add_negative_campaign_criterion.rb +5 -5
  162. data/examples/v201101/add_user_list.rb +5 -5
  163. data/examples/v201101/check_campaigns.rb +5 -5
  164. data/examples/v201101/delete_ad.rb +5 -5
  165. data/examples/v201101/delete_ad_group.rb +5 -5
  166. data/examples/v201101/delete_ad_group_criterion.rb +5 -5
  167. data/examples/v201101/delete_bulk_mutate_job.rb +5 -5
  168. data/examples/v201101/delete_campaign.rb +5 -5
  169. data/examples/v201101/delete_experiment.rb +5 -5
  170. data/examples/v201101/delete_user_list.rb +5 -5
  171. data/examples/v201101/download_mcc_report.rb +5 -0
  172. data/examples/v201101/download_mcc_report_as_file.rb +5 -0
  173. data/examples/v201101/download_report.rb +5 -0
  174. data/examples/v201101/get_account_hierarchy.rb +5 -5
  175. data/examples/v201101/get_ad_group_bid_landscape.rb +5 -5
  176. data/examples/v201101/get_all_account_changes.rb +5 -5
  177. data/examples/v201101/get_all_active_ad_group_criteria.rb +5 -5
  178. data/examples/v201101/get_all_ad_extension_overrides.rb +5 -5
  179. data/examples/v201101/get_all_ad_group_criteria.rb +5 -5
  180. data/examples/v201101/get_all_ad_groups.rb +5 -5
  181. data/examples/v201101/get_all_ad_params.rb +5 -5
  182. data/examples/v201101/get_all_ads.rb +5 -5
  183. data/examples/v201101/get_all_campaign_ad_extensions.rb +5 -5
  184. data/examples/v201101/get_all_campaign_targets.rb +5 -5
  185. data/examples/v201101/get_all_campaigns.rb +5 -5
  186. data/examples/v201101/get_all_conversions.rb +5 -5
  187. data/examples/v201101/get_all_disapproved_ads.rb +5 -5
  188. data/examples/v201101/get_all_experiments.rb +5 -5
  189. data/examples/v201101/get_all_images.rb +5 -5
  190. data/examples/v201101/get_all_paused_campaigns.rb +5 -5
  191. data/examples/v201101/get_all_report_definitions.rb +5 -5
  192. data/examples/v201101/get_all_user_lists.rb +5 -5
  193. data/examples/v201101/get_all_videos.rb +5 -5
  194. data/examples/v201101/get_bulk_mutate_job.rb +5 -5
  195. data/examples/v201101/get_campaign_alerts.rb +5 -5
  196. data/examples/v201101/get_conversion_optimizer_eligibility.rb +5 -5
  197. data/examples/v201101/get_criterion_bid_landscape.rb +5 -5
  198. data/examples/v201101/get_geo_location_info.rb +5 -5
  199. data/examples/v201101/get_keyword_opportunities.rb +5 -5
  200. data/examples/v201101/get_method_cost.rb +5 -5
  201. data/examples/v201101/get_operation_count.rb +5 -5
  202. data/examples/v201101/get_related_keywords.rb +20 -19
  203. data/examples/v201101/get_related_placements.rb +22 -21
  204. data/examples/v201101/get_report_fields.rb +5 -5
  205. data/examples/v201101/get_total_usage_units_per_month.rb +5 -5
  206. data/examples/v201101/get_traffic_estimates.rb +5 -5
  207. data/examples/v201101/get_unit_count.rb +5 -5
  208. data/examples/v201101/handle_partial_failures.rb +5 -5
  209. data/examples/v201101/handle_policy_violation_error.rb +5 -5
  210. data/examples/v201101/perform_bulk_mutate_job.rb +5 -5
  211. data/examples/v201101/promote_experiment.rb +5 -5
  212. data/examples/v201101/set_ad_params.rb +5 -5
  213. data/examples/v201101/set_campaign_targets.rb +5 -5
  214. data/examples/v201101/update_ad.rb +5 -5
  215. data/examples/v201101/update_ad_group.rb +5 -5
  216. data/examples/v201101/update_ad_group_criterion.rb +5 -5
  217. data/examples/v201101/update_campaign.rb +5 -5
  218. data/examples/v201101/update_conversion.rb +5 -5
  219. data/examples/v201101/update_user_list.rb +5 -5
  220. data/examples/v201101/upload_image.rb +7 -6
  221. data/lib/adwords_api.rb +59 -30
  222. data/lib/adwords_api/api_config.rb +18 -5
  223. data/lib/adwords_api/extensions.rb +2 -5
  224. data/lib/adwords_api/soap4r_response_handler.rb +1 -1
  225. data/lib/adwords_api/v13/AccountServiceDriver.rb +5 -5
  226. data/lib/adwords_api/v13/ReportServiceDriver.rb +7 -7
  227. data/lib/adwords_api/v13/TrafficEstimatorServiceDriver.rb +4 -4
  228. data/lib/adwords_api/v200909/AdExtensionOverrideServiceDriver.rb +2 -2
  229. data/lib/adwords_api/v200909/AdGroupAdServiceDriver.rb +2 -2
  230. data/lib/adwords_api/v200909/AdGroupCriterionServiceDriver.rb +2 -2
  231. data/lib/adwords_api/v200909/AdGroupServiceDriver.rb +2 -2
  232. data/lib/adwords_api/v200909/AdParamServiceDriver.rb +2 -2
  233. data/lib/adwords_api/v200909/BulkMutateJobServiceDriver.rb +2 -2
  234. data/lib/adwords_api/v200909/CampaignAdExtensionServiceDriver.rb +2 -2
  235. data/lib/adwords_api/v200909/CampaignCriterionServiceDriver.rb +2 -2
  236. data/lib/adwords_api/v200909/CampaignServiceDriver.rb +2 -2
  237. data/lib/adwords_api/v200909/CampaignTargetServiceDriver.rb +2 -2
  238. data/lib/adwords_api/v200909/GeoLocationServiceDriver.rb +1 -1
  239. data/lib/adwords_api/v200909/InfoServiceDriver.rb +1 -1
  240. data/lib/adwords_api/v200909/TargetingIdeaServiceDriver.rb +2 -2
  241. data/lib/adwords_api/v201003/AdExtensionOverrideServiceDriver.rb +2 -2
  242. data/lib/adwords_api/v201003/AdGroupAdServiceDriver.rb +2 -2
  243. data/lib/adwords_api/v201003/AdGroupCriterionServiceDriver.rb +2 -2
  244. data/lib/adwords_api/v201003/AdGroupServiceDriver.rb +2 -2
  245. data/lib/adwords_api/v201003/AdParamServiceDriver.rb +2 -2
  246. data/lib/adwords_api/v201003/BidLandscapeServiceDriver.rb +1 -1
  247. data/lib/adwords_api/v201003/BulkMutateJobServiceDriver.rb +2 -2
  248. data/lib/adwords_api/v201003/CampaignAdExtensionServiceDriver.rb +2 -2
  249. data/lib/adwords_api/v201003/CampaignCriterionServiceDriver.rb +2 -2
  250. data/lib/adwords_api/v201003/CampaignServiceDriver.rb +2 -2
  251. data/lib/adwords_api/v201003/CampaignTargetServiceDriver.rb +2 -2
  252. data/lib/adwords_api/v201003/GeoLocationServiceDriver.rb +1 -1
  253. data/lib/adwords_api/v201003/InfoServiceDriver.rb +1 -1
  254. data/lib/adwords_api/v201003/MediaServiceDriver.rb +2 -2
  255. data/lib/adwords_api/v201003/ReportDefinitionServiceDriver.rb +3 -3
  256. data/lib/adwords_api/v201003/TargetingIdeaServiceDriver.rb +2 -2
  257. data/lib/adwords_api/v201008/AdExtensionOverrideServiceDriver.rb +2 -2
  258. data/lib/adwords_api/v201008/AdGroupAdServiceDriver.rb +2 -2
  259. data/lib/adwords_api/v201008/AdGroupCriterionServiceDriver.rb +2 -2
  260. data/lib/adwords_api/v201008/AdGroupServiceDriver.rb +2 -2
  261. data/lib/adwords_api/v201008/AdParamServiceDriver.rb +2 -2
  262. data/lib/adwords_api/v201008/AlertServiceDriver.rb +1 -1
  263. data/lib/adwords_api/v201008/BidLandscapeServiceDriver.rb +1 -1
  264. data/lib/adwords_api/v201008/BulkMutateJobServiceDriver.rb +2 -2
  265. data/lib/adwords_api/v201008/CampaignAdExtensionServiceDriver.rb +2 -2
  266. data/lib/adwords_api/v201008/CampaignCriterionServiceDriver.rb +2 -2
  267. data/lib/adwords_api/v201008/CampaignServiceDriver.rb +2 -2
  268. data/lib/adwords_api/v201008/CampaignTargetServiceDriver.rb +2 -2
  269. data/lib/adwords_api/v201008/CustomerSyncServiceDriver.rb +1 -1
  270. data/lib/adwords_api/v201008/ExperimentServiceDriver.rb +2 -2
  271. data/lib/adwords_api/v201008/GeoLocationServiceDriver.rb +1 -1
  272. data/lib/adwords_api/v201008/InfoServiceDriver.rb +1 -1
  273. data/lib/adwords_api/v201008/MediaServiceDriver.rb +2 -2
  274. data/lib/adwords_api/v201008/ReportDefinitionServiceDriver.rb +3 -3
  275. data/lib/adwords_api/v201008/ServicedAccountServiceDriver.rb +1 -1
  276. data/lib/adwords_api/v201008/TargetingIdeaServiceDriver.rb +2 -2
  277. data/lib/adwords_api/v201008/TrafficEstimatorServiceDriver.rb +1 -1
  278. data/lib/adwords_api/v201008/UserListServiceDriver.rb +2 -2
  279. data/lib/adwords_api/v201101/AdExtensionOverrideServiceDriver.rb +2 -2
  280. data/lib/adwords_api/v201101/AdGroupAdServiceDriver.rb +2 -2
  281. data/lib/adwords_api/v201101/AdGroupCriterionServiceDriver.rb +2 -2
  282. data/lib/adwords_api/v201101/AdGroupServiceDriver.rb +2 -2
  283. data/lib/adwords_api/v201101/AdParamServiceDriver.rb +2 -2
  284. data/lib/adwords_api/v201101/AlertServiceDriver.rb +1 -1
  285. data/lib/adwords_api/v201101/BulkMutateJobServiceDriver.rb +2 -2
  286. data/lib/adwords_api/v201101/BulkOpportunityServiceDriver.rb +1 -1
  287. data/lib/adwords_api/v201101/CampaignAdExtensionServiceDriver.rb +2 -2
  288. data/lib/adwords_api/v201101/CampaignCriterionServiceDriver.rb +2 -2
  289. data/lib/adwords_api/v201101/CampaignServiceDriver.rb +2 -2
  290. data/lib/adwords_api/v201101/CampaignTargetServiceDriver.rb +2 -2
  291. data/lib/adwords_api/v201101/ConversionTrackerServiceDriver.rb +2 -2
  292. data/lib/adwords_api/v201101/CustomerSyncServiceDriver.rb +1 -1
  293. data/lib/adwords_api/v201101/DataServiceDriver.rb +2 -2
  294. data/lib/adwords_api/v201101/ExperimentServiceDriver.rb +2 -2
  295. data/lib/adwords_api/v201101/GeoLocationServiceDriver.rb +1 -1
  296. data/lib/adwords_api/v201101/InfoServiceDriver.rb +1 -1
  297. data/lib/adwords_api/v201101/MediaServiceDriver.rb +2 -2
  298. data/lib/adwords_api/v201101/ReportDefinitionServiceDriver.rb +3 -3
  299. data/lib/adwords_api/v201101/ServicedAccountServiceDriver.rb +1 -1
  300. data/lib/adwords_api/v201101/TargetingIdeaServiceDriver.rb +2 -2
  301. data/lib/adwords_api/v201101/TrafficEstimatorServiceDriver.rb +1 -1
  302. data/lib/adwords_api/v201101/UserListServiceDriver.rb +2 -2
  303. metadata +550 -539
@@ -31,6 +31,11 @@ def handle_partial_failures()
31
31
  # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
32
32
  # when called without parameters.
33
33
  adwords = AdwordsApi::Api.new
34
+
35
+ # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
36
+ # the configuration file or provide your own logger:
37
+ # adwords.logger = Logger.new('adwords_xml.log')
38
+
34
39
  ad_group_criterion_srv =
35
40
  adwords.service(:AdGroupCriterionService, API_VERSION)
36
41
 
@@ -101,11 +106,6 @@ def handle_partial_failures()
101
106
  end
102
107
 
103
108
  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
109
  begin
110
110
  handle_partial_failures()
111
111
 
@@ -32,6 +32,11 @@ def handle_policy_violation_error()
32
32
  # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
33
33
  # when called without parameters.
34
34
  adwords = AdwordsApi::Api.new
35
+
36
+ # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
37
+ # the configuration file or provide your own logger:
38
+ # adwords.logger = Logger.new('adwords_xml.log')
39
+
35
40
  ad_group_ad_srv = adwords.service(:AdGroupAdService, API_VERSION)
36
41
 
37
42
  ad_group_id = 'INSERT_AD_GROUP_ID_HERE'.to_i
@@ -112,11 +117,6 @@ def handle_policy_violation_error()
112
117
  end
113
118
 
114
119
  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
120
  begin
121
121
  handle_policy_violation_error()
122
122
 
@@ -32,6 +32,11 @@ def perform_bulk_mutate_job()
32
32
  # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
33
33
  # when called without parameters.
34
34
  adwords = AdwordsApi::Api.new
35
+
36
+ # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
37
+ # the configuration file or provide your own logger:
38
+ # adwords.logger = Logger.new('adwords_xml.log')
39
+
35
40
  bulk_mutate_job_srv = adwords.service(:BulkMutateJobService, API_VERSION)
36
41
 
37
42
  campaign_id = 'INSERT_CAMPAIGN_ID_HERE'.to_i
@@ -187,11 +192,6 @@ def perform_bulk_mutate_job()
187
192
  end
188
193
 
189
194
  if __FILE__ == $0
190
- # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
191
- # variable to 'true'. This can be done either from your operating system
192
- # environment or via code, as done below.
193
- ENV['ADWORDSAPI_DEBUG'] = 'false'
194
-
195
195
  begin
196
196
  perform_bulk_mutate_job()
197
197
 
@@ -33,6 +33,11 @@ def promote_experiment()
33
33
  # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
34
34
  # when called without parameters.
35
35
  adwords = AdwordsApi::Api.new
36
+
37
+ # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
38
+ # the configuration file or provide your own logger:
39
+ # adwords.logger = Logger.new('adwords_xml.log')
40
+
36
41
  experiment_srv = adwords.service(:ExperimentService, API_VERSION)
37
42
 
38
43
  experiment_id = 'INSERT_EXPERIMENT_ID_HERE'.to_i
@@ -54,11 +59,6 @@ def promote_experiment()
54
59
  end
55
60
 
56
61
  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
62
  begin
63
63
  promote_experiment()
64
64
 
@@ -33,6 +33,11 @@ def set_ad_params()
33
33
  # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
34
34
  # when called without parameters.
35
35
  adwords = AdwordsApi::Api.new
36
+
37
+ # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
38
+ # the configuration file or provide your own logger:
39
+ # adwords.logger = Logger.new('adwords_xml.log')
40
+
36
41
  ad_group_ad_srv = adwords.service(:AdGroupAdService, API_VERSION)
37
42
  ad_param_srv = adwords.service(:AdParamService, API_VERSION)
38
43
 
@@ -90,11 +95,6 @@ def set_ad_params()
90
95
  end
91
96
 
92
97
  if __FILE__ == $0
93
- # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
94
- # variable to 'true'. This can be done either from your operating system
95
- # environment or via code, as done below.
96
- ENV['ADWORDSAPI_DEBUG'] = 'false'
97
-
98
98
  begin
99
99
  set_ad_params()
100
100
 
@@ -32,6 +32,11 @@ def set_campaign_targets()
32
32
  # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
33
33
  # when called without parameters.
34
34
  adwords = AdwordsApi::Api.new
35
+
36
+ # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
37
+ # the configuration file or provide your own logger:
38
+ # adwords.logger = Logger.new('adwords_xml.log')
39
+
35
40
  campaign_target_srv = adwords.service(:CampaignTargetService, API_VERSION)
36
41
 
37
42
  campaign_id = 'INSERT_CAMPAIGN_ID_HERE'.to_i
@@ -77,11 +82,6 @@ def set_campaign_targets()
77
82
  end
78
83
 
79
84
  if __FILE__ == $0
80
- # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
81
- # variable to 'true'. This can be done either from your operating system
82
- # environment or via code, as done below.
83
- ENV['ADWORDSAPI_DEBUG'] = 'false'
84
-
85
85
  begin
86
86
  set_campaign_targets()
87
87
 
@@ -32,6 +32,11 @@ def update_ad()
32
32
  # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
33
33
  # when called without parameters.
34
34
  adwords = AdwordsApi::Api.new
35
+
36
+ # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
37
+ # the configuration file or provide your own logger:
38
+ # adwords.logger = Logger.new('adwords_xml.log')
39
+
35
40
  ad_group_ad_srv = adwords.service(:AdGroupAdService, API_VERSION)
36
41
 
37
42
  ad_group_id = 'INSERT_AD_GROUP_ID_HERE'.to_i
@@ -61,11 +66,6 @@ def update_ad()
61
66
  end
62
67
 
63
68
  if __FILE__ == $0
64
- # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
65
- # variable to 'true'. This can be done either from your operating system
66
- # environment or via code, as done below.
67
- ENV['ADWORDSAPI_DEBUG'] = 'false'
68
-
69
69
  begin
70
70
  update_ad()
71
71
 
@@ -32,6 +32,11 @@ def update_ad_group()
32
32
  # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
33
33
  # when called without parameters.
34
34
  adwords = AdwordsApi::Api.new
35
+
36
+ # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
37
+ # the configuration file or provide your own logger:
38
+ # adwords.logger = Logger.new('adwords_xml.log')
39
+
35
40
  ad_group_srv = adwords.service(:AdGroupService, API_VERSION)
36
41
 
37
42
  ad_group_id = 'INSERT_AD_GROUP_ID_HERE'.to_i
@@ -56,11 +61,6 @@ def update_ad_group()
56
61
  end
57
62
 
58
63
  if __FILE__ == $0
59
- # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
60
- # variable to 'true'. This can be done either from your operating system
61
- # environment or via code, as done below.
62
- ENV['ADWORDSAPI_DEBUG'] = 'false'
63
-
64
64
  begin
65
65
  update_ad_group()
66
66
 
@@ -32,6 +32,11 @@ def update_ad_group_criterion()
32
32
  # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
33
33
  # when called without parameters.
34
34
  adwords = AdwordsApi::Api.new
35
+
36
+ # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
37
+ # the configuration file or provide your own logger:
38
+ # adwords.logger = Logger.new('adwords_xml.log')
39
+
35
40
  ad_group_criterion_srv =
36
41
  adwords.service(:AdGroupCriterionService, API_VERSION)
37
42
 
@@ -74,11 +79,6 @@ def update_ad_group_criterion()
74
79
  end
75
80
 
76
81
  if __FILE__ == $0
77
- # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
78
- # variable to 'true'. This can be done either from your operating system
79
- # environment or via code, as done below.
80
- ENV['ADWORDSAPI_DEBUG'] = 'false'
81
-
82
82
  begin
83
83
  update_ad_group_criterion()
84
84
 
@@ -32,6 +32,11 @@ def update_campaign()
32
32
  # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
33
33
  # when called without parameters.
34
34
  adwords = AdwordsApi::Api.new
35
+
36
+ # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
37
+ # the configuration file or provide your own logger:
38
+ # adwords.logger = Logger.new('adwords_xml.log')
39
+
35
40
  campaign_srv = adwords.service(:CampaignService, API_VERSION)
36
41
 
37
42
  campaign_id = 'INSERT_CAMPAIGN_ID_HERE'.to_i
@@ -59,11 +64,6 @@ def update_campaign()
59
64
  end
60
65
 
61
66
  if __FILE__ == $0
62
- # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
63
- # variable to 'true'. This can be done either from your operating system
64
- # environment or via code, as done below.
65
- ENV['ADWORDSAPI_DEBUG'] = 'false'
66
-
67
67
  begin
68
68
  update_campaign()
69
69
 
@@ -32,6 +32,11 @@ def update_conversion()
32
32
  # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
33
33
  # when called without parameters.
34
34
  adwords = AdwordsApi::Api.new
35
+
36
+ # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
37
+ # the configuration file or provide your own logger:
38
+ # adwords.logger = Logger.new('adwords_xml.log')
39
+
35
40
  conv_tracker_srv = adwords.service(:ConversionTrackerService, API_VERSION)
36
41
 
37
42
  conversion_id = 'INSERT_CONVERSION_ID_HERE'.to_i
@@ -62,11 +67,6 @@ def update_conversion()
62
67
  end
63
68
 
64
69
  if __FILE__ == $0
65
- # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
66
- # variable to 'true'. This can be done either from your operating system
67
- # environment or via code, as done below.
68
- ENV['ADWORDSAPI_DEBUG'] = 'false'
69
-
70
70
  begin
71
71
  update_conversion()
72
72
 
@@ -32,6 +32,11 @@ def update_user_list()
32
32
  # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
33
33
  # when called without parameters.
34
34
  adwords = AdwordsApi::Api.new
35
+
36
+ # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
37
+ # the configuration file or provide your own logger:
38
+ # adwords.logger = Logger.new('adwords_xml.log')
39
+
35
40
  user_list_srv = adwords.service(:UserListService, API_VERSION)
36
41
 
37
42
  user_list_id = 'INSERT_USER_LIST_ID_HERE'.to_i
@@ -57,11 +62,6 @@ def update_user_list()
57
62
  end
58
63
 
59
64
  if __FILE__ == $0
60
- # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
61
- # variable to 'true'. This can be done either from your operating system
62
- # environment or via code, as done below.
63
- ENV['ADWORDSAPI_DEBUG'] = 'false'
64
-
65
65
  begin
66
66
  update_user_list()
67
67
 
@@ -32,10 +32,16 @@ def upload_image()
32
32
  # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
33
33
  # when called without parameters.
34
34
  adwords = AdwordsApi::Api.new
35
+
36
+ # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
37
+ # the configuration file or provide your own logger:
38
+ # adwords.logger = Logger.new('adwords_xml.log')
39
+
35
40
  media_srv = adwords.service(:MediaService, API_VERSION)
36
41
 
37
42
  # Create image.
38
- image_url = 'https://sandbox.google.com/sandboximages/image.jpg'
43
+ image_url =
44
+ 'http://www.google.com/intl/en/adwords/select/images/samples/inline.jpg'
39
45
  # This utility method retrieves the contents of a URL using all of the config
40
46
  # options provided to the Api object.
41
47
  image_data = AdsCommon::Http.get(image_url, adwords.config)
@@ -63,11 +69,6 @@ def upload_image()
63
69
  end
64
70
 
65
71
  if __FILE__ == $0
66
- # To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
67
- # variable to 'true'. This can be done either from your operating system
68
- # environment or via code, as done below.
69
- ENV['ADWORDSAPI_DEBUG'] = 'false'
70
-
71
72
  begin
72
73
  upload_image()
73
74
 
data/lib/adwords_api.rb CHANGED
@@ -22,14 +22,16 @@
22
22
 
23
23
  require 'rubygems'
24
24
  gem 'soap4r', '=1.5.8'
25
- gem 'google-ads-common', '~>0.2.1'
25
+ gem 'google-ads-common', '~>0.4.0'
26
26
  require 'thread'
27
27
  require 'uri'
28
- require 'ads_common/logger'
29
28
  require 'ads_common/soap4r_patches'
30
29
  require 'ads_common/api'
31
30
  require 'ads_common/config'
32
31
  require 'ads_common/auth/client_login_handler'
32
+ require 'ads_common/soap4r_headers/nested_header_handler'
33
+ require 'ads_common/soap4r_headers/single_header_handler'
34
+ require 'ads_common/soap4r_logger'
33
35
  require 'adwords_api/auth/v13_login_handler'
34
36
  require 'adwords_api/errors'
35
37
  require 'adwords_api/api_config'
@@ -46,11 +48,6 @@ module AdwordsApi
46
48
  # Holds all the services, as well as login credentials.
47
49
  #
48
50
  class Api < AdsCommon::Api
49
-
50
- REQUEST_HEADER = 'RequestHeader'
51
- HEADER_NAMESPACE_PREAMBLE = 'https://adwords.google.com/api/adwords/cm/'
52
- LOGIN_SERVICE_NAME = 'adwords'
53
-
54
51
  # Mutex object for controlling concurrent access to API object data
55
52
  attr_reader :mutex
56
53
  # Number of units spent on the last operation via this API object
@@ -96,31 +93,23 @@ module AdwordsApi
96
93
  end
97
94
  return header_handlers
98
95
  else
99
- ns = HEADER_NAMESPACE_PREAMBLE + version.to_s
96
+ ns =
97
+ api_config.headers_config[:HEADER_NAMESPACE_PREAMBLE] + version.to_s
100
98
  top_ns = wrapper.namespace
101
99
  return [AdsCommon::Soap4rHeaders::NestedHeaderHandler.new(
102
- @credential_handler, auth_handler, REQUEST_HEADER, top_ns, ns,
103
- version)]
100
+ @credential_handler, auth_handler,
101
+ api_config.headers_config[:REQUEST_HEADER],
102
+ top_ns, ns, version)]
104
103
  end
105
104
  end
106
105
 
107
106
  # Constructor for Api.
108
107
  def initialize(provided_config = nil)
109
- load_config(provided_config)
108
+ super(provided_config)
110
109
  @credential_handler = AdwordsApi::CredentialHandler.new(@config)
111
- environment = config.read('service.environment').upcase.to_sym
112
- if !api_config.environments.include? environment
113
- raise AdsCommon::Errors::Error,
114
- "Unknown environment #{environment}"
115
- end
116
110
  @drivers = Hash.new
117
- @wrappers = Hash.new
118
111
  @total_units = 0
119
112
  @last_units = 0
120
- log_to_console = !ENV['ADWORDSAPI_DEBUG'].nil? &&
121
- ENV['ADWORDSAPI_DEBUG'].upcase == 'TRUE'
122
- @xml_logger = AdsCommon::Logger.new('soap_xml', log_to_console)
123
- @request_logger = AdsCommon::Logger.new('request_info')
124
113
  @mutex = Mutex.new
125
114
  end
126
115
 
@@ -240,7 +229,7 @@ module AdwordsApi
240
229
  # Returns:
241
230
  # - auth handler
242
231
  #
243
- def create_auth_handler(version, environment)
232
+ def create_auth_handler(environment, version)
244
233
  if version == :v13
245
234
  return AdwordsApi::Auth::V13LoginHandler.new
246
235
  else
@@ -248,22 +237,62 @@ module AdwordsApi
248
237
  auth_server = api_config.auth_server(environment)
249
238
  @client_login_handler =
250
239
  AdsCommon::Auth::ClientLoginHandler.new(config, auth_server,
251
- LOGIN_SERVICE_NAME)
240
+ api_config.headers_config[:LOGIN_SERVICE_NAME])
252
241
  end
253
242
  return @client_login_handler
254
243
  end
255
244
  end
256
245
 
257
- # Helper method to load the default configuration file or a given config.
246
+ # Handle loading of a single service.
247
+ # Creates the driver, sets up handlers and logger, declares the appropriate
248
+ # wrapper class and creates an instance of it.
258
249
  #
259
250
  # Args:
260
- # - provided_config: a configuration hash, if you wish to use a specific
261
- # configuration rather than use the default
251
+ # - version: intended API version. Must be a symbol.
252
+ # - service: name for the intended service
262
253
  #
263
- def load_config(provided_config = nil)
264
- @config = (provided_config.nil?) ?
265
- AdsCommon::Config.new(File.join(ENV['HOME'], 'adwords_api.yml')) :
266
- AdsCommon::Config.new(provided_config)
254
+ # Returns:
255
+ # - the simplified wrapper generated for the driver
256
+ #
257
+ def prepare_wrapper(version, service)
258
+ environment = config.read('service.environment')
259
+ api_config.do_require(version, service)
260
+ endpoint = api_config.endpoint(environment, version, service)
261
+ # Set endpoint if not using the default.
262
+ if endpoint.nil? then
263
+ driver = eval("#{api_config.interface_name(version, service)}.new")
264
+ else
265
+ endpoint_url = endpoint.to_s + service.to_s
266
+ driver = eval("#{api_config.interface_name(version, service)}.new" +
267
+ "(\"#{endpoint_url}\")")
268
+ end
269
+
270
+ # Create an instance of the wrapper class for this service.
271
+ wrapper_class = api_config.wrapper_name(version, service)
272
+ wrapper = eval("#{wrapper_class}.new(driver, self)")
273
+
274
+ auth_handler = create_auth_handler(environment, version)
275
+ header_list =
276
+ auth_handler.header_list(@credential_handler.credentials(version))
277
+
278
+ soap_handlers = soap_header_handlers(auth_handler, header_list, version,
279
+ wrapper)
280
+
281
+ soap_handlers.each do |handler|
282
+ driver.headerhandler << handler
283
+ end
284
+
285
+ # Add response handler to this driver for API unit usage processing.
286
+ driver.callbackhandler = create_callback_handler
287
+ # Plug the wiredump to our XML logger.
288
+ driver.wiredump_dev = AdsCommon::Soap4rLogger.new(@logger, Logger::DEBUG)
289
+ driver.options['protocol.http.ssl_config.verify_mode'] = nil
290
+ proxy = config.read('connection.proxy')
291
+ driver.options['protocol.http.proxy'] = proxy if proxy
292
+
293
+ @drivers[version] ||= {}
294
+ @drivers[version][service] = driver
295
+ return wrapper
267
296
  end
268
297
  end
269
298
  end