google-adwords-api 0.7.2 → 0.8.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 (274) hide show
  1. data/ChangeLog +6 -0
  2. data/README +12 -9
  3. data/adwords_api.yml +3 -17
  4. data/examples/v201206/account_management/create_account.rb +3 -0
  5. data/examples/v201206/account_management/get_account_alerts.rb +3 -0
  6. data/examples/v201206/account_management/get_account_hierarchy.rb +3 -0
  7. data/examples/v201206/account_management/get_client_customer_id.rb +3 -0
  8. data/examples/v201206/account_management/get_client_unit_usage.rb +3 -0
  9. data/examples/v201206/reporting/parallel_report_download.rb +3 -0
  10. data/examples/v201209/account_management/create_account.rb +3 -0
  11. data/examples/v201209/account_management/get_account_alerts.rb +3 -0
  12. data/examples/v201209/account_management/get_account_hierarchy.rb +3 -0
  13. data/examples/v201209/account_management/get_client_customer_id.rb +3 -0
  14. data/examples/v201209/account_management/get_client_unit_usage.rb +3 -0
  15. data/examples/{v201109/misc/use_oauth2.rb → v201209/misc/use_oauth2_jwt.rb} +19 -23
  16. data/examples/v201209/reporting/parallel_report_download.rb +3 -0
  17. data/lib/adwords_api.rb +8 -3
  18. data/lib/adwords_api/api_config.rb +0 -132
  19. data/lib/adwords_api/credential_handler.rb +3 -17
  20. data/lib/adwords_api/report_header_handler.rb +1 -2
  21. data/lib/adwords_api/report_utils.rb +1 -8
  22. data/lib/adwords_api/version.rb +1 -1
  23. data/test/adwords_api/test_adwords_api.rb +23 -9
  24. data/test/adwords_api/test_api_config.rb +0 -8
  25. data/test/adwords_api/test_credential_handler.rb +45 -9
  26. data/test/adwords_api/test_report_utils.rb +3 -2
  27. data/test/{suite_exampletests_v201109.rb → suite_integration.rb} +14 -11
  28. data/test/templates/v201209/basic_operations_get_campaigns.def +114 -0
  29. data/test/test_utils.rb +105 -0
  30. metadata +8 -250
  31. data/examples/v201109/account_management/create_account.rb +0 -80
  32. data/examples/v201109/account_management/get_account_alerts.rb +0 -111
  33. data/examples/v201109/account_management/get_account_changes.rb +0 -137
  34. data/examples/v201109/account_management/get_account_hierarchy.rb +0 -93
  35. data/examples/v201109/account_management/get_client_customer_id.rb +0 -85
  36. data/examples/v201109/account_management/get_client_unit_usage.rb +0 -87
  37. data/examples/v201109/basic_operations/add_ad_groups.rb +0 -111
  38. data/examples/v201109/basic_operations/add_campaigns.rb +0 -125
  39. data/examples/v201109/basic_operations/add_keywords.rb +0 -108
  40. data/examples/v201109/basic_operations/add_text_ads.rb +0 -105
  41. data/examples/v201109/basic_operations/delete_ad.rb +0 -85
  42. data/examples/v201109/basic_operations/delete_ad_group.rb +0 -102
  43. data/examples/v201109/basic_operations/delete_campaign.rb +0 -103
  44. data/examples/v201109/basic_operations/delete_keyword.rb +0 -90
  45. data/examples/v201109/basic_operations/get_ad_groups.rb +0 -98
  46. data/examples/v201109/basic_operations/get_campaigns.rb +0 -93
  47. data/examples/v201109/basic_operations/get_keywords.rb +0 -104
  48. data/examples/v201109/basic_operations/get_text_ads.rb +0 -106
  49. data/examples/v201109/basic_operations/pause_ad.rb +0 -84
  50. data/examples/v201109/basic_operations/update_ad_group.rb +0 -81
  51. data/examples/v201109/basic_operations/update_campaign.rb +0 -84
  52. data/examples/v201109/basic_operations/update_keyword.rb +0 -99
  53. data/examples/v201109/campaign_management/add_experiment.rb +0 -158
  54. data/examples/v201109/campaign_management/add_keywords_in_bulk.rb +0 -150
  55. data/examples/v201109/campaign_management/add_location_extension.rb +0 -117
  56. data/examples/v201109/campaign_management/add_location_extension_override.rb +0 -83
  57. data/examples/v201109/campaign_management/get_all_disapproved_ads.rb +0 -93
  58. data/examples/v201109/campaign_management/promote_experiment.rb +0 -77
  59. data/examples/v201109/campaign_management/set_ad_parameters.rb +0 -114
  60. data/examples/v201109/campaign_management/validate_text_ad.rb +0 -106
  61. data/examples/v201109/error_handling/handle_captcha_challenge.rb +0 -93
  62. data/examples/v201109/error_handling/handle_partial_failures.rb +0 -126
  63. data/examples/v201109/error_handling/handle_policy_violation_error.rb +0 -137
  64. data/examples/v201109/error_handling/handle_two_factor_authorization_error.rb +0 -87
  65. data/examples/v201109/misc/get_all_images_and_videos.rb +0 -100
  66. data/examples/v201109/misc/upload_image.rb +0 -89
  67. data/examples/v201109/misc/use_oauth.rb +0 -100
  68. data/examples/v201109/optimization/estimate_keyword_traffic.rb +0 -129
  69. data/examples/v201109/optimization/get_keyword_bid_simulations.rb +0 -92
  70. data/examples/v201109/optimization/get_keyword_ideas.rb +0 -106
  71. data/examples/v201109/optimization/get_placement_ideas.rb +0 -104
  72. data/examples/v201109/remarketing/add_audience.rb +0 -115
  73. data/examples/v201109/remarketing/add_conversion_tracker.rb +0 -97
  74. data/examples/v201109/reporting/download_criteria_report.rb +0 -79
  75. data/examples/v201109/reporting/get_campaign_stats.rb +0 -105
  76. data/examples/v201109/reporting/get_defined_reports.rb +0 -75
  77. data/examples/v201109/reporting/get_report_fields.rb +0 -71
  78. data/examples/v201109/reporting/parallel_report_download.rb +0 -159
  79. data/examples/v201109/targeting/add_campaign_targeting_criteria.rb +0 -118
  80. data/examples/v201109/targeting/get_campaign_targeting_criteria.rb +0 -102
  81. data/examples/v201109/targeting/get_targetable_languages_and_carriers.rb +0 -86
  82. data/examples/v201109/targeting/lookup_location.rb +0 -103
  83. data/examples/v201109_1/account_management/create_account.rb +0 -80
  84. data/examples/v201109_1/account_management/get_account_alerts.rb +0 -111
  85. data/examples/v201109_1/account_management/get_account_changes.rb +0 -137
  86. data/examples/v201109_1/account_management/get_account_hierarchy.rb +0 -93
  87. data/examples/v201109_1/account_management/get_client_customer_id.rb +0 -85
  88. data/examples/v201109_1/account_management/get_client_unit_usage.rb +0 -87
  89. data/examples/v201109_1/basic_operations/add_ad_groups.rb +0 -111
  90. data/examples/v201109_1/basic_operations/add_campaigns.rb +0 -140
  91. data/examples/v201109_1/basic_operations/add_keywords.rb +0 -108
  92. data/examples/v201109_1/basic_operations/add_text_ads.rb +0 -105
  93. data/examples/v201109_1/basic_operations/delete_ad.rb +0 -85
  94. data/examples/v201109_1/basic_operations/delete_ad_group.rb +0 -102
  95. data/examples/v201109_1/basic_operations/delete_campaign.rb +0 -103
  96. data/examples/v201109_1/basic_operations/delete_keyword.rb +0 -90
  97. data/examples/v201109_1/basic_operations/get_ad_groups.rb +0 -98
  98. data/examples/v201109_1/basic_operations/get_campaigns.rb +0 -93
  99. data/examples/v201109_1/basic_operations/get_keywords.rb +0 -104
  100. data/examples/v201109_1/basic_operations/get_text_ads.rb +0 -106
  101. data/examples/v201109_1/basic_operations/pause_ad.rb +0 -84
  102. data/examples/v201109_1/basic_operations/update_ad_group.rb +0 -81
  103. data/examples/v201109_1/basic_operations/update_campaign.rb +0 -84
  104. data/examples/v201109_1/basic_operations/update_keyword.rb +0 -99
  105. data/examples/v201109_1/campaign_management/add_experiment.rb +0 -158
  106. data/examples/v201109_1/campaign_management/add_keywords_in_bulk.rb +0 -150
  107. data/examples/v201109_1/campaign_management/add_location_extension.rb +0 -117
  108. data/examples/v201109_1/campaign_management/add_location_extension_override.rb +0 -83
  109. data/examples/v201109_1/campaign_management/get_all_disapproved_ads.rb +0 -93
  110. data/examples/v201109_1/campaign_management/promote_experiment.rb +0 -77
  111. data/examples/v201109_1/campaign_management/set_ad_parameters.rb +0 -114
  112. data/examples/v201109_1/campaign_management/validate_text_ad.rb +0 -106
  113. data/examples/v201109_1/error_handling/handle_captcha_challenge.rb +0 -93
  114. data/examples/v201109_1/error_handling/handle_partial_failures.rb +0 -126
  115. data/examples/v201109_1/error_handling/handle_policy_violation_error.rb +0 -137
  116. data/examples/v201109_1/error_handling/handle_two_factor_authorization_error.rb +0 -87
  117. data/examples/v201109_1/misc/get_all_images_and_videos.rb +0 -100
  118. data/examples/v201109_1/misc/upload_image.rb +0 -89
  119. data/examples/v201109_1/misc/use_oauth.rb +0 -100
  120. data/examples/v201109_1/misc/use_oauth2.rb +0 -97
  121. data/examples/v201109_1/optimization/estimate_keyword_traffic.rb +0 -129
  122. data/examples/v201109_1/optimization/get_keyword_bid_simulations.rb +0 -92
  123. data/examples/v201109_1/optimization/get_keyword_ideas.rb +0 -112
  124. data/examples/v201109_1/optimization/get_placement_ideas.rb +0 -104
  125. data/examples/v201109_1/remarketing/add_audience.rb +0 -115
  126. data/examples/v201109_1/remarketing/add_conversion_tracker.rb +0 -97
  127. data/examples/v201109_1/reporting/download_criteria_report.rb +0 -79
  128. data/examples/v201109_1/reporting/get_campaign_stats.rb +0 -105
  129. data/examples/v201109_1/reporting/get_defined_reports.rb +0 -75
  130. data/examples/v201109_1/reporting/get_report_fields.rb +0 -71
  131. data/examples/v201109_1/reporting/parallel_report_download.rb +0 -159
  132. data/examples/v201109_1/targeting/add_campaign_targeting_criteria.rb +0 -118
  133. data/examples/v201109_1/targeting/get_campaign_targeting_criteria.rb +0 -102
  134. data/examples/v201109_1/targeting/get_targetable_languages_and_carriers.rb +0 -86
  135. data/examples/v201109_1/targeting/lookup_location.rb +0 -103
  136. data/examples/v201206/misc/use_oauth.rb +0 -100
  137. data/examples/v201209/misc/use_oauth.rb +0 -100
  138. data/lib/adwords_api/v201109/ad_extension_override_service.rb +0 -38
  139. data/lib/adwords_api/v201109/ad_extension_override_service_registry.rb +0 -46
  140. data/lib/adwords_api/v201109/ad_group_ad_service.rb +0 -38
  141. data/lib/adwords_api/v201109/ad_group_ad_service_registry.rb +0 -46
  142. data/lib/adwords_api/v201109/ad_group_criterion_service.rb +0 -38
  143. data/lib/adwords_api/v201109/ad_group_criterion_service_registry.rb +0 -46
  144. data/lib/adwords_api/v201109/ad_group_service.rb +0 -38
  145. data/lib/adwords_api/v201109/ad_group_service_registry.rb +0 -46
  146. data/lib/adwords_api/v201109/ad_param_service.rb +0 -38
  147. data/lib/adwords_api/v201109/ad_param_service_registry.rb +0 -46
  148. data/lib/adwords_api/v201109/alert_service.rb +0 -34
  149. data/lib/adwords_api/v201109/alert_service_registry.rb +0 -46
  150. data/lib/adwords_api/v201109/budget_order_service.rb +0 -42
  151. data/lib/adwords_api/v201109/budget_order_service_registry.rb +0 -46
  152. data/lib/adwords_api/v201109/bulk_mutate_job_service.rb +0 -38
  153. data/lib/adwords_api/v201109/bulk_mutate_job_service_registry.rb +0 -46
  154. data/lib/adwords_api/v201109/campaign_ad_extension_service.rb +0 -38
  155. data/lib/adwords_api/v201109/campaign_ad_extension_service_registry.rb +0 -46
  156. data/lib/adwords_api/v201109/campaign_criterion_service.rb +0 -38
  157. data/lib/adwords_api/v201109/campaign_criterion_service_registry.rb +0 -46
  158. data/lib/adwords_api/v201109/campaign_service.rb +0 -38
  159. data/lib/adwords_api/v201109/campaign_service_registry.rb +0 -46
  160. data/lib/adwords_api/v201109/campaign_target_service.rb +0 -38
  161. data/lib/adwords_api/v201109/campaign_target_service_registry.rb +0 -46
  162. data/lib/adwords_api/v201109/constant_data_service.rb +0 -38
  163. data/lib/adwords_api/v201109/constant_data_service_registry.rb +0 -46
  164. data/lib/adwords_api/v201109/conversion_tracker_service.rb +0 -38
  165. data/lib/adwords_api/v201109/conversion_tracker_service_registry.rb +0 -46
  166. data/lib/adwords_api/v201109/create_account_service.rb +0 -34
  167. data/lib/adwords_api/v201109/create_account_service_registry.rb +0 -47
  168. data/lib/adwords_api/v201109/customer_sync_service.rb +0 -34
  169. data/lib/adwords_api/v201109/customer_sync_service_registry.rb +0 -47
  170. data/lib/adwords_api/v201109/data_service.rb +0 -38
  171. data/lib/adwords_api/v201109/data_service_registry.rb +0 -46
  172. data/lib/adwords_api/v201109/experiment_service.rb +0 -38
  173. data/lib/adwords_api/v201109/experiment_service_registry.rb +0 -46
  174. data/lib/adwords_api/v201109/geo_location_service.rb +0 -34
  175. data/lib/adwords_api/v201109/geo_location_service_registry.rb +0 -46
  176. data/lib/adwords_api/v201109/info_service.rb +0 -34
  177. data/lib/adwords_api/v201109/info_service_registry.rb +0 -46
  178. data/lib/adwords_api/v201109/location_criterion_service.rb +0 -34
  179. data/lib/adwords_api/v201109/location_criterion_service_registry.rb +0 -46
  180. data/lib/adwords_api/v201109/media_service.rb +0 -38
  181. data/lib/adwords_api/v201109/media_service_registry.rb +0 -46
  182. data/lib/adwords_api/v201109/mutate_job_service.rb +0 -42
  183. data/lib/adwords_api/v201109/mutate_job_service_registry.rb +0 -46
  184. data/lib/adwords_api/v201109/report_definition_service.rb +0 -38
  185. data/lib/adwords_api/v201109/report_definition_service_registry.rb +0 -46
  186. data/lib/adwords_api/v201109/serviced_account_service.rb +0 -34
  187. data/lib/adwords_api/v201109/serviced_account_service_registry.rb +0 -46
  188. data/lib/adwords_api/v201109/targeting_idea_service.rb +0 -38
  189. data/lib/adwords_api/v201109/targeting_idea_service_registry.rb +0 -46
  190. data/lib/adwords_api/v201109/traffic_estimator_service.rb +0 -34
  191. data/lib/adwords_api/v201109/traffic_estimator_service_registry.rb +0 -46
  192. data/lib/adwords_api/v201109/user_list_service.rb +0 -38
  193. data/lib/adwords_api/v201109/user_list_service_registry.rb +0 -46
  194. data/lib/adwords_api/v201109_1/ad_extension_override_service.rb +0 -38
  195. data/lib/adwords_api/v201109_1/ad_extension_override_service_registry.rb +0 -46
  196. data/lib/adwords_api/v201109_1/ad_group_ad_service.rb +0 -38
  197. data/lib/adwords_api/v201109_1/ad_group_ad_service_registry.rb +0 -46
  198. data/lib/adwords_api/v201109_1/ad_group_criterion_service.rb +0 -38
  199. data/lib/adwords_api/v201109_1/ad_group_criterion_service_registry.rb +0 -46
  200. data/lib/adwords_api/v201109_1/ad_group_service.rb +0 -38
  201. data/lib/adwords_api/v201109_1/ad_group_service_registry.rb +0 -46
  202. data/lib/adwords_api/v201109_1/ad_param_service.rb +0 -38
  203. data/lib/adwords_api/v201109_1/ad_param_service_registry.rb +0 -46
  204. data/lib/adwords_api/v201109_1/alert_service.rb +0 -34
  205. data/lib/adwords_api/v201109_1/alert_service_registry.rb +0 -46
  206. data/lib/adwords_api/v201109_1/budget_order_service.rb +0 -42
  207. data/lib/adwords_api/v201109_1/budget_order_service_registry.rb +0 -46
  208. data/lib/adwords_api/v201109_1/bulk_mutate_job_service.rb +0 -38
  209. data/lib/adwords_api/v201109_1/bulk_mutate_job_service_registry.rb +0 -46
  210. data/lib/adwords_api/v201109_1/campaign_ad_extension_service.rb +0 -38
  211. data/lib/adwords_api/v201109_1/campaign_ad_extension_service_registry.rb +0 -46
  212. data/lib/adwords_api/v201109_1/campaign_criterion_service.rb +0 -38
  213. data/lib/adwords_api/v201109_1/campaign_criterion_service_registry.rb +0 -46
  214. data/lib/adwords_api/v201109_1/campaign_service.rb +0 -38
  215. data/lib/adwords_api/v201109_1/campaign_service_registry.rb +0 -46
  216. data/lib/adwords_api/v201109_1/campaign_target_service.rb +0 -38
  217. data/lib/adwords_api/v201109_1/campaign_target_service_registry.rb +0 -46
  218. data/lib/adwords_api/v201109_1/constant_data_service.rb +0 -38
  219. data/lib/adwords_api/v201109_1/constant_data_service_registry.rb +0 -46
  220. data/lib/adwords_api/v201109_1/conversion_tracker_service.rb +0 -38
  221. data/lib/adwords_api/v201109_1/conversion_tracker_service_registry.rb +0 -46
  222. data/lib/adwords_api/v201109_1/create_account_service.rb +0 -34
  223. data/lib/adwords_api/v201109_1/create_account_service_registry.rb +0 -47
  224. data/lib/adwords_api/v201109_1/customer_service.rb +0 -34
  225. data/lib/adwords_api/v201109_1/customer_service_registry.rb +0 -46
  226. data/lib/adwords_api/v201109_1/customer_sync_service.rb +0 -34
  227. data/lib/adwords_api/v201109_1/customer_sync_service_registry.rb +0 -47
  228. data/lib/adwords_api/v201109_1/data_service.rb +0 -38
  229. data/lib/adwords_api/v201109_1/data_service_registry.rb +0 -46
  230. data/lib/adwords_api/v201109_1/experiment_service.rb +0 -38
  231. data/lib/adwords_api/v201109_1/experiment_service_registry.rb +0 -46
  232. data/lib/adwords_api/v201109_1/geo_location_service.rb +0 -34
  233. data/lib/adwords_api/v201109_1/geo_location_service_registry.rb +0 -46
  234. data/lib/adwords_api/v201109_1/info_service.rb +0 -34
  235. data/lib/adwords_api/v201109_1/info_service_registry.rb +0 -46
  236. data/lib/adwords_api/v201109_1/location_criterion_service.rb +0 -34
  237. data/lib/adwords_api/v201109_1/location_criterion_service_registry.rb +0 -46
  238. data/lib/adwords_api/v201109_1/managed_customer_service.rb +0 -38
  239. data/lib/adwords_api/v201109_1/managed_customer_service_registry.rb +0 -46
  240. data/lib/adwords_api/v201109_1/media_service.rb +0 -38
  241. data/lib/adwords_api/v201109_1/media_service_registry.rb +0 -46
  242. data/lib/adwords_api/v201109_1/mutate_job_service.rb +0 -42
  243. data/lib/adwords_api/v201109_1/mutate_job_service_registry.rb +0 -46
  244. data/lib/adwords_api/v201109_1/report_definition_service.rb +0 -38
  245. data/lib/adwords_api/v201109_1/report_definition_service_registry.rb +0 -46
  246. data/lib/adwords_api/v201109_1/serviced_account_service.rb +0 -34
  247. data/lib/adwords_api/v201109_1/serviced_account_service_registry.rb +0 -46
  248. data/lib/adwords_api/v201109_1/targeting_idea_service.rb +0 -38
  249. data/lib/adwords_api/v201109_1/targeting_idea_service_registry.rb +0 -46
  250. data/lib/adwords_api/v201109_1/traffic_estimator_service.rb +0 -34
  251. data/lib/adwords_api/v201109_1/traffic_estimator_service_registry.rb +0 -46
  252. data/lib/adwords_api/v201109_1/user_list_service.rb +0 -38
  253. data/lib/adwords_api/v201109_1/user_list_service_registry.rb +0 -46
  254. data/test/examples/v201109/test_account_management.rb +0 -60
  255. data/test/examples/v201109/test_basic_operations.rb +0 -172
  256. data/test/examples/v201109/test_campaign_management.rb +0 -116
  257. data/test/examples/v201109/test_error_handling.rb +0 -63
  258. data/test/examples/v201109/test_misc.rb +0 -45
  259. data/test/examples/v201109/test_optimization.rb +0 -63
  260. data/test/examples/v201109/test_remarketing.rb +0 -39
  261. data/test/examples/v201109/test_reporting.rb +0 -72
  262. data/test/examples/v201109/test_targeting.rb +0 -60
  263. data/test/examples/v201109/utils.rb +0 -238
  264. data/test/examples/v201109_1/test_account_management.rb +0 -60
  265. data/test/examples/v201109_1/test_basic_operations.rb +0 -172
  266. data/test/examples/v201109_1/test_campaign_management.rb +0 -116
  267. data/test/examples/v201109_1/test_error_handling.rb +0 -63
  268. data/test/examples/v201109_1/test_misc.rb +0 -45
  269. data/test/examples/v201109_1/test_optimization.rb +0 -63
  270. data/test/examples/v201109_1/test_remarketing.rb +0 -39
  271. data/test/examples/v201109_1/test_reporting.rb +0 -72
  272. data/test/examples/v201109_1/test_targeting.rb +0 -60
  273. data/test/examples/v201109_1/utils.rb +0 -238
  274. data/test/suite_exampletests_v201109_1.rb +0 -37
@@ -1,87 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # Encoding: utf-8
3
- #
4
- # Author:: api.dklimkin@gmail.com (Danial Klimkin)
5
- #
6
- # Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
7
- #
8
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
9
- # you may not use this file except in compliance with the License.
10
- # You may obtain a copy of the License at
11
- #
12
- # http://www.apache.org/licenses/LICENSE-2.0
13
- #
14
- # Unless required by applicable law or agreed to in writing, software
15
- # distributed under the License is distributed on an "AS IS" BASIS,
16
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
17
- # implied.
18
- # See the License for the specific language governing permissions and
19
- # limitations under the License.
20
- #
21
- # This example illustrates how to handle 'two factor' authorization error.
22
-
23
- require 'adwords_api'
24
-
25
- def handle_two_factor_authorization_error()
26
- # Set up credentials with an account that has 2Factor enabled.
27
- config = {
28
- :authentication => {
29
- :method => 'ClientLogin',
30
- :email => '2steptester@gmail.com',
31
- :password => 'testaccount',
32
- :user_agent => 'Ruby 2 Factor Sample'
33
- },
34
- :service => {
35
- :environment => 'PRODUCTION'
36
- }
37
- }
38
- adwords = AdwordsApi::Api.new(config)
39
-
40
- # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
41
- # the configuration file or provide your own logger:
42
- # adwords.logger = Logger.new('adwords_xml.log')
43
-
44
- begin
45
- # Forcing library to request authorization token.
46
- auth_token = adwords.authorize()
47
- puts 'Successfully retrieved the token.'
48
-
49
- # Second factor error is one of AuthErrors.
50
- rescue AdsCommon::Errors::AuthError => e
51
- puts "Authorization failed with message:"
52
- puts "\t%s" % e.message
53
- # Checking 'Info' field for particular auth error type.
54
- if e.info and e.info.casecmp('InvalidSecondFactor') == 0
55
- puts "The user has enabled two factor authentication in this account." +
56
- " Please use OAuth authentication method or have the user generate an" +
57
- " application-specific password to make calls against the AdWords" +
58
- " API. See \n" +
59
- " http://adwordsapi.blogspot.com/2011/02/authentication-changes-with" +
60
- "-2-step.html\n" +
61
- "for more details."
62
- end
63
- end
64
- end
65
-
66
- if __FILE__ == $0
67
- API_VERSION = :v201109_1
68
-
69
- begin
70
- handle_two_factor_authorization_error()
71
-
72
- # HTTP errors.
73
- rescue AdsCommon::Errors::HttpError => e
74
- puts "HTTP Error: %s" % e
75
-
76
- # API errors.
77
- rescue AdwordsApi::Errors::ApiException => e
78
- puts "Message: %s" % e.message
79
- puts 'Errors:'
80
- e.errors.each_with_index do |error, index|
81
- puts "\tError [%d]:" % (index + 1)
82
- error.each do |field, value|
83
- puts "\t\t%s: %s" % [field, value]
84
- end
85
- end
86
- end
87
- end
@@ -1,100 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # Encoding: utf-8
3
- #
4
- # Author:: api.dklimkin@gmail.com (Danial Klimkin)
5
- #
6
- # Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
7
- #
8
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
9
- # you may not use this file except in compliance with the License.
10
- # You may obtain a copy of the License at
11
- #
12
- # http://www.apache.org/licenses/LICENSE-2.0
13
- #
14
- # Unless required by applicable law or agreed to in writing, software
15
- # distributed under the License is distributed on an "AS IS" BASIS,
16
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
17
- # implied.
18
- # See the License for the specific language governing permissions and
19
- # limitations under the License.
20
- #
21
- # This example illustrates how to retrieve all images and videos. To upload an
22
- # image, run upload_image.rb. To upload video, see:
23
- # http://adwords.google.com/support/aw/bin/answer.py?hl=en&answer=39454.
24
- #
25
- # Tags: MediaService.get
26
-
27
- require 'adwords_api'
28
-
29
- def get_all_images_and_videos()
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
-
34
- # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
35
- # the configuration file or provide your own logger:
36
- # adwords.logger = Logger.new('adwords_xml.log')
37
-
38
- media_srv = adwords.service(:MediaService, API_VERSION)
39
-
40
- # Get all the images and videos.
41
- selector = {
42
- :fields => ['MediaId', 'Height', 'Width', 'MimeType', 'Urls'],
43
- :ordering => [
44
- {:field => 'MediaId', :sort_order => 'ASCENDING'}
45
- ],
46
- :predicates => [
47
- {:field => 'Type', :operator => 'IN', :values => ['IMAGE', 'VIDEO']}
48
- ],
49
- :paging => {
50
- :start_index => 0,
51
- :number_results => PAGE_SIZE
52
- }
53
- }
54
-
55
- # Set initial values.
56
- offset, page = 0, {}
57
-
58
- begin
59
- page = media_srv.get(selector)
60
- if page[:entries]
61
- page[:entries].each do |entry|
62
- full_dimensions = entry[:dimensions]['FULL']
63
- puts "Entry ID %d with dimensions %dx%d and MIME type is '%s'" %
64
- [entry[:media_id], full_dimensions[:height],
65
- full_dimensions[:width], entry[:mime_type]]
66
- end
67
- # Increment values to request the next page.
68
- offset += PAGE_SIZE
69
- selector[:paging][:start_index] = offset
70
- end
71
- end while page[:total_num_entries] > offset
72
-
73
- if page.include?(:total_num_entries)
74
- puts "\tFound %d entries." % page[:total_num_entries]
75
- end
76
- end
77
-
78
- if __FILE__ == $0
79
- API_VERSION = :v201109_1
80
- PAGE_SIZE = 500
81
-
82
- begin
83
- get_all_images_and_videos()
84
-
85
- # HTTP errors.
86
- rescue AdsCommon::Errors::HttpError => e
87
- puts "HTTP Error: %s" % e
88
-
89
- # API errors.
90
- rescue AdwordsApi::Errors::ApiException => e
91
- puts "Message: %s" % e.message
92
- puts 'Errors:'
93
- e.errors.each_with_index do |error, index|
94
- puts "\tError [%d]:" % (index + 1)
95
- error.each do |field, value|
96
- puts "\t\t%s: %s" % [field, value]
97
- end
98
- end
99
- end
100
- end
@@ -1,89 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # Encoding: utf-8
3
- #
4
- # Author:: api.dklimkin@gmail.com (Danial Klimkin)
5
- #
6
- # Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
7
- #
8
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
9
- # you may not use this file except in compliance with the License.
10
- # You may obtain a copy of the License at
11
- #
12
- # http://www.apache.org/licenses/LICENSE-2.0
13
- #
14
- # Unless required by applicable law or agreed to in writing, software
15
- # distributed under the License is distributed on an "AS IS" BASIS,
16
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
17
- # implied.
18
- # See the License for the specific language governing permissions and
19
- # limitations under the License.
20
- #
21
- # This example uploads an image. To get images, run get_all_images.rb.
22
- #
23
- # Tags: MediaService.upload
24
-
25
- require 'adwords_api'
26
- require 'base64'
27
-
28
- def upload_image()
29
- # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
30
- # when called without parameters.
31
- adwords = AdwordsApi::Api.new
32
-
33
- # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
34
- # the configuration file or provide your own logger:
35
- # adwords.logger = Logger.new('adwords_xml.log')
36
-
37
- media_srv = adwords.service(:MediaService, API_VERSION)
38
-
39
- # Create image.
40
- image_url =
41
- 'http://www.google.com/intl/en/adwords/select/images/samples/inline.jpg'
42
- # This utility method retrieves the contents of a URL using all of the config
43
- # options provided to the Api object.
44
- image_data = AdsCommon::Http.get(image_url, adwords.config)
45
- base64_image_data = Base64.encode64(image_data)
46
- image = {
47
- # The 'xsi_type' field allows you to specify the xsi:type of the object
48
- # being created. It's only necessary when you must provide an explicit
49
- # type that the client library can't infer.
50
- :xsi_type => 'Image',
51
- :data => base64_image_data,
52
- :type => 'IMAGE'
53
- }
54
-
55
- # Upload image.
56
- response = media_srv.upload([image])
57
- if response and !response.empty?
58
- ret_image = response.first
59
- full_dimensions = ret_image[:dimensions]['FULL']
60
- puts ("Image with ID %d, dimensions %dx%d and MIME type '%s' uploaded " +
61
- "successfully.") % [ret_image[:media_id], full_dimensions[:height],
62
- full_dimensions[:width], ret_image[:mime_type]]
63
- else
64
- puts 'No images uploaded.'
65
- end
66
- end
67
-
68
- if __FILE__ == $0
69
- API_VERSION = :v201109_1
70
-
71
- begin
72
- upload_image()
73
-
74
- # HTTP errors.
75
- rescue AdsCommon::Errors::HttpError => e
76
- puts "HTTP Error: %s" % e
77
-
78
- # API errors.
79
- rescue AdwordsApi::Errors::ApiException => e
80
- puts "Message: %s" % e.message
81
- puts 'Errors:'
82
- e.errors.each_with_index do |error, index|
83
- puts "\tError [%d]:" % (index + 1)
84
- error.each do |field, value|
85
- puts "\t\t%s: %s" % [field, value]
86
- end
87
- end
88
- end
89
- end
@@ -1,100 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # Encoding: utf-8
3
- #
4
- # Author:: api.dklimkin@gmail.com (Danial Klimkin)
5
- #
6
- # Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
7
- #
8
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
9
- # you may not use this file except in compliance with the License.
10
- # You may obtain a copy of the License at
11
- #
12
- # http://www.apache.org/licenses/LICENSE-2.0
13
- #
14
- # Unless required by applicable law or agreed to in writing, software
15
- # distributed under the License is distributed on an "AS IS" BASIS,
16
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
17
- # implied.
18
- # See the License for the specific language governing permissions and
19
- # limitations under the License.
20
- #
21
- # This example illustrates how to use OAuth1.0a authentication method.
22
- #
23
- # NOTE: OAuth1.0a authorization method is deprecated, use OAuth2.0 instead.
24
- # See use_oauth2.rb for an example.
25
- #
26
- # Tags: CampaignService.get
27
-
28
- require 'adwords_api'
29
-
30
- def use_oauth()
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
-
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
-
39
- campaign_srv = adwords.service(:CampaignService, API_VERSION)
40
-
41
- # Get all the campaigns for this account; empty selector.
42
- selector = {
43
- :fields => ['Id', 'Name', 'Status'],
44
- :ordering => [
45
- {:field => 'Name', :sort_order => 'ASCENDING'}
46
- ]
47
- }
48
-
49
- retry_count = 0
50
-
51
- begin
52
- response = campaign_srv.get(selector)
53
- rescue AdsCommon::Errors::OAuthVerificationRequired => e
54
- if retry_count < MAX_RETRIES
55
- puts "Hit Auth error, please navigate to URL:\n\t%s" % e.oauth_url
56
- print 'log in and type the verification code: '
57
- verification_code = gets.chomp
58
- adwords.credential_handler.set_credential(
59
- :oauth_verification_code, verification_code)
60
- retry_count += 1
61
- retry
62
- else
63
- raise AdsCommon::Errors::AuthError, 'Failed to authenticate.'
64
- end
65
- end
66
-
67
- if response and response[:entries]
68
- campaigns = response[:entries]
69
- campaigns.each do |campaign|
70
- puts "Campaign ID %d, name '%s' and status '%s'" %
71
- [campaign[:id], campaign[:name], campaign[:status]]
72
- end
73
- else
74
- puts 'No campaigns were found.'
75
- end
76
- end
77
-
78
- if __FILE__ == $0
79
- API_VERSION = :v201109_1
80
- MAX_RETRIES = 3
81
-
82
- begin
83
- use_oauth()
84
-
85
- # HTTP errors.
86
- rescue AdsCommon::Errors::HttpError => e
87
- puts "HTTP Error: %s" % e
88
-
89
- # API errors.
90
- rescue AdwordsApi::Errors::ApiException => e
91
- puts "Message: %s" % e.message
92
- puts 'Errors:'
93
- e.errors.each_with_index do |error, index|
94
- puts "\tError [%d]:" % (index + 1)
95
- error.each do |field, value|
96
- puts "\t\t%s: %s" % [field, value]
97
- end
98
- end
99
- end
100
- end
@@ -1,97 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # Encoding: utf-8
3
- #
4
- # Author:: api.dklimkin@gmail.com (Danial Klimkin)
5
- #
6
- # Copyright:: Copyright 2012, Google Inc. All Rights Reserved.
7
- #
8
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
9
- # you may not use this file except in compliance with the License.
10
- # You may obtain a copy of the License at
11
- #
12
- # http://www.apache.org/licenses/LICENSE-2.0
13
- #
14
- # Unless required by applicable law or agreed to in writing, software
15
- # distributed under the License is distributed on an "AS IS" BASIS,
16
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
17
- # implied.
18
- # See the License for the specific language governing permissions and
19
- # limitations under the License.
20
- #
21
- # This example illustrates how to use OAuth2.0 authentication method.
22
- #
23
- # Tags: CampaignService.get
24
-
25
- require 'adwords_api'
26
-
27
- def use_oauth2()
28
- # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
29
- # when called without parameters.
30
- adwords = AdwordsApi::Api.new
31
-
32
- # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
33
- # the configuration file or provide your own logger:
34
- # adwords.logger = Logger.new('adwords_xml.log')
35
-
36
- campaign_srv = adwords.service(:CampaignService, API_VERSION)
37
-
38
- # Get all the campaigns for this account; empty selector.
39
- selector = {
40
- :fields => ['Id', 'Name', 'Status'],
41
- :ordering => [
42
- {:field => 'Name', :sort_order => 'ASCENDING'}
43
- ]
44
- }
45
-
46
- retry_count = 0
47
-
48
- begin
49
- response = campaign_srv.get(selector)
50
- rescue AdsCommon::Errors::OAuth2VerificationRequired => e
51
- if retry_count < MAX_RETRIES
52
- puts "Hit Auth error, please navigate to URL:\n\t%s" % e.oauth_url
53
- print 'log in and type the verification code: '
54
- verification_code = gets.chomp
55
- adwords.credential_handler.set_credential(
56
- :oauth2_verification_code, verification_code)
57
- retry_count += 1
58
- retry
59
- else
60
- raise AdsCommon::Errors::AuthError, 'Failed to authenticate.'
61
- end
62
- end
63
-
64
- if response and response[:entries]
65
- campaigns = response[:entries]
66
- campaigns.each do |campaign|
67
- puts "Campaign ID %d, name '%s' and status '%s'" %
68
- [campaign[:id], campaign[:name], campaign[:status]]
69
- end
70
- else
71
- puts 'No campaigns were found.'
72
- end
73
- end
74
-
75
- if __FILE__ == $0
76
- API_VERSION = :v201109_1
77
- MAX_RETRIES = 3
78
-
79
- begin
80
- use_oauth2()
81
-
82
- # HTTP errors.
83
- rescue AdsCommon::Errors::HttpError => e
84
- puts "HTTP Error: %s" % e
85
-
86
- # API errors.
87
- rescue AdwordsApi::Errors::ApiException => e
88
- puts "Message: %s" % e.message
89
- puts 'Errors:'
90
- e.errors.each_with_index do |error, index|
91
- puts "\tError [%d]:" % (index + 1)
92
- error.each do |field, value|
93
- puts "\t\t%s: %s" % [field, value]
94
- end
95
- end
96
- end
97
- end