google-adwords-api 0.14.2 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (175) hide show
  1. checksums.yaml +8 -8
  2. data/ChangeLog +7 -0
  3. data/README.md +3 -3
  4. data/adwords_api.yml +5 -0
  5. data/examples/v201409/account_management/get_account_hierarchy.rb +2 -2
  6. data/examples/v201409/advanced_operations/{add_ad_customizer.rb → add_ad_customizers.rb} +4 -4
  7. data/examples/v201409/extensions/add_site_links_using_feeds.rb +12 -12
  8. data/examples/v201409/migration/migrate_to_extension_settings.rb +29 -2
  9. data/examples/v201409/reporting/parallel_report_download.rb +1 -1
  10. data/examples/v201502/advanced_operations/{add_ad_customizer.rb → add_ad_customizers.rb} +37 -125
  11. data/examples/v201502/extensions/add_site_links_using_feeds.rb +22 -52
  12. data/examples/v201502/migration/migrate_to_extension_settings.rb +29 -2
  13. data/lib/adwords_api.rb +9 -29
  14. data/lib/adwords_api/api_config.rb +0 -80
  15. data/lib/adwords_api/credential_handler.rb +8 -9
  16. data/lib/adwords_api/report_header_handler.rb +6 -2
  17. data/lib/adwords_api/version.rb +1 -1
  18. data/test/adwords_api/test_adwords_api.rb +0 -9
  19. data/test/adwords_api/test_api_config.rb +8 -8
  20. data/test/adwords_api/test_credential_handler.rb +17 -0
  21. data/test/adwords_api/test_report_utils.rb +1 -1
  22. data/test/templates/v201409/basic_operations_get_campaigns.def +1 -1
  23. data/test/templates/v201409/misc_use_oauth2_jwt.def +1 -1
  24. data/test/templates/v201502/basic_operations_get_campaigns.def +1 -1
  25. data/test/templates/v201502/misc_use_oauth2_jwt.def +1 -1
  26. metadata +4 -153
  27. data/examples/v201406/account_management/create_account.rb +0 -92
  28. data/examples/v201406/account_management/get_account_alerts.rb +0 -122
  29. data/examples/v201406/account_management/get_account_changes.rb +0 -145
  30. data/examples/v201406/account_management/get_account_hierarchy.rb +0 -103
  31. data/examples/v201406/advanced_operations/add_ad_customizer.rb +0 -277
  32. data/examples/v201406/advanced_operations/add_ad_group_bid_modifier.rb +0 -105
  33. data/examples/v201406/advanced_operations/add_click_to_download_ad.rb +0 -137
  34. data/examples/v201406/advanced_operations/add_google_my_business_location_extensions.rb +0 -167
  35. data/examples/v201406/advanced_operations/add_site_links.rb +0 -306
  36. data/examples/v201406/advanced_operations/add_text_ad_with_upgraded_urls.rb +0 -137
  37. data/examples/v201406/advanced_operations/get_ad_group_bid_modifiers.rb +0 -106
  38. data/examples/v201406/advanced_operations/upload_offline_conversions.rb +0 -117
  39. data/examples/v201406/advanced_operations/use_shared_bidding_strategy.rb +0 -164
  40. data/examples/v201406/basic_operations/add_ad_groups.rb +0 -144
  41. data/examples/v201406/basic_operations/add_campaigns.rb +0 -153
  42. data/examples/v201406/basic_operations/add_keywords.rb +0 -116
  43. data/examples/v201406/basic_operations/add_text_ads.rb +0 -113
  44. data/examples/v201406/basic_operations/get_ad_groups.rb +0 -106
  45. data/examples/v201406/basic_operations/get_campaigns.rb +0 -101
  46. data/examples/v201406/basic_operations/get_campaigns_with_awql.rb +0 -93
  47. data/examples/v201406/basic_operations/get_keywords.rb +0 -112
  48. data/examples/v201406/basic_operations/get_text_ads.rb +0 -114
  49. data/examples/v201406/basic_operations/pause_ad.rb +0 -92
  50. data/examples/v201406/basic_operations/remove_ad.rb +0 -93
  51. data/examples/v201406/basic_operations/remove_ad_group.rb +0 -89
  52. data/examples/v201406/basic_operations/remove_campaign.rb +0 -91
  53. data/examples/v201406/basic_operations/remove_keyword.rb +0 -98
  54. data/examples/v201406/basic_operations/update_ad_group.rb +0 -89
  55. data/examples/v201406/basic_operations/update_campaign.rb +0 -90
  56. data/examples/v201406/basic_operations/update_keyword.rb +0 -110
  57. data/examples/v201406/campaign_management/add_campaign_labels.rb +0 -86
  58. data/examples/v201406/campaign_management/add_experiment.rb +0 -166
  59. data/examples/v201406/campaign_management/add_keywords_in_bulk.rb +0 -158
  60. data/examples/v201406/campaign_management/add_location_extension.rb +0 -125
  61. data/examples/v201406/campaign_management/get_all_disapproved_ads.rb +0 -101
  62. data/examples/v201406/campaign_management/get_all_disapproved_ads_with_awql.rb +0 -93
  63. data/examples/v201406/campaign_management/get_campaigns_by_label.rb +0 -112
  64. data/examples/v201406/campaign_management/promote_experiment.rb +0 -85
  65. data/examples/v201406/campaign_management/set_ad_parameters.rb +0 -122
  66. data/examples/v201406/campaign_management/set_criterion_bid_modifier.rb +0 -108
  67. data/examples/v201406/campaign_management/validate_text_ad.rb +0 -114
  68. data/examples/v201406/error_handling/handle_captcha_challenge.rb +0 -93
  69. data/examples/v201406/error_handling/handle_partial_failures.rb +0 -134
  70. data/examples/v201406/error_handling/handle_policy_violation_error.rb +0 -145
  71. data/examples/v201406/error_handling/handle_two_factor_authorization_error.rb +0 -88
  72. data/examples/v201406/misc/create_ad_words_session_without_properties_file.rb +0 -94
  73. data/examples/v201406/misc/get_all_images_and_videos.rb +0 -108
  74. data/examples/v201406/misc/setup_oauth2.rb +0 -88
  75. data/examples/v201406/misc/upload_image.rb +0 -97
  76. data/examples/v201406/misc/use_oauth2_jwt.rb +0 -97
  77. data/examples/v201406/optimization/estimate_keyword_traffic.rb +0 -155
  78. data/examples/v201406/optimization/get_keyword_bid_simulations.rb +0 -100
  79. data/examples/v201406/optimization/get_keyword_ideas.rb +0 -130
  80. data/examples/v201406/optimization/get_placement_ideas.rb +0 -112
  81. data/examples/v201406/remarketing/add_audience.rb +0 -123
  82. data/examples/v201406/remarketing/add_conversion_tracker.rb +0 -105
  83. data/examples/v201406/reporting/download_criteria_report.rb +0 -87
  84. data/examples/v201406/reporting/download_criteria_report_with_awql.rb +0 -86
  85. data/examples/v201406/reporting/get_report_fields.rb +0 -79
  86. data/examples/v201406/reporting/parallel_report_download.rb +0 -171
  87. data/examples/v201406/shopping_campaigns/add_product_partition_tree.rb +0 -269
  88. data/examples/v201406/shopping_campaigns/add_product_scope.rb +0 -133
  89. data/examples/v201406/shopping_campaigns/add_shopping_campaign.rb +0 -135
  90. data/examples/v201406/shopping_campaigns/get_product_category_taxonomy.rb +0 -117
  91. data/examples/v201406/shopping_campaigns/set_product_sales_channel.rb +0 -98
  92. data/examples/v201406/targeting/add_campaign_targeting_criteria.rb +0 -173
  93. data/examples/v201406/targeting/add_demographic_targeting_criteria.rb +0 -116
  94. data/examples/v201406/targeting/get_campaign_targeting_criteria.rb +0 -110
  95. data/examples/v201406/targeting/get_targetable_languages_and_carriers.rb +0 -94
  96. data/examples/v201406/targeting/lookup_location.rb +0 -112
  97. data/examples/v201502/campaign_management/add_location_extension.rb +0 -125
  98. data/lib/adwords_api/v201406/ad_group_ad_service.rb +0 -46
  99. data/lib/adwords_api/v201406/ad_group_ad_service_registry.rb +0 -46
  100. data/lib/adwords_api/v201406/ad_group_bid_modifier_service.rb +0 -42
  101. data/lib/adwords_api/v201406/ad_group_bid_modifier_service_registry.rb +0 -46
  102. data/lib/adwords_api/v201406/ad_group_criterion_service.rb +0 -46
  103. data/lib/adwords_api/v201406/ad_group_criterion_service_registry.rb +0 -46
  104. data/lib/adwords_api/v201406/ad_group_feed_service.rb +0 -42
  105. data/lib/adwords_api/v201406/ad_group_feed_service_registry.rb +0 -46
  106. data/lib/adwords_api/v201406/ad_group_service.rb +0 -46
  107. data/lib/adwords_api/v201406/ad_group_service_registry.rb +0 -46
  108. data/lib/adwords_api/v201406/ad_param_service.rb +0 -38
  109. data/lib/adwords_api/v201406/ad_param_service_registry.rb +0 -46
  110. data/lib/adwords_api/v201406/adwords_user_list_service.rb +0 -38
  111. data/lib/adwords_api/v201406/adwords_user_list_service_registry.rb +0 -46
  112. data/lib/adwords_api/v201406/alert_service.rb +0 -34
  113. data/lib/adwords_api/v201406/alert_service_registry.rb +0 -46
  114. data/lib/adwords_api/v201406/bidding_strategy_service.rb +0 -42
  115. data/lib/adwords_api/v201406/bidding_strategy_service_registry.rb +0 -46
  116. data/lib/adwords_api/v201406/budget_order_service.rb +0 -42
  117. data/lib/adwords_api/v201406/budget_order_service_registry.rb +0 -46
  118. data/lib/adwords_api/v201406/budget_service.rb +0 -42
  119. data/lib/adwords_api/v201406/budget_service_registry.rb +0 -46
  120. data/lib/adwords_api/v201406/campaign_ad_extension_service.rb +0 -38
  121. data/lib/adwords_api/v201406/campaign_ad_extension_service_registry.rb +0 -46
  122. data/lib/adwords_api/v201406/campaign_criterion_service.rb +0 -42
  123. data/lib/adwords_api/v201406/campaign_criterion_service_registry.rb +0 -46
  124. data/lib/adwords_api/v201406/campaign_feed_service.rb +0 -42
  125. data/lib/adwords_api/v201406/campaign_feed_service_registry.rb +0 -46
  126. data/lib/adwords_api/v201406/campaign_service.rb +0 -46
  127. data/lib/adwords_api/v201406/campaign_service_registry.rb +0 -46
  128. data/lib/adwords_api/v201406/campaign_shared_set_service.rb +0 -38
  129. data/lib/adwords_api/v201406/campaign_shared_set_service_registry.rb +0 -47
  130. data/lib/adwords_api/v201406/constant_data_service.rb +0 -66
  131. data/lib/adwords_api/v201406/constant_data_service_registry.rb +0 -46
  132. data/lib/adwords_api/v201406/conversion_tracker_service.rb +0 -38
  133. data/lib/adwords_api/v201406/conversion_tracker_service_registry.rb +0 -46
  134. data/lib/adwords_api/v201406/customer_feed_service.rb +0 -42
  135. data/lib/adwords_api/v201406/customer_feed_service_registry.rb +0 -46
  136. data/lib/adwords_api/v201406/customer_service.rb +0 -38
  137. data/lib/adwords_api/v201406/customer_service_registry.rb +0 -46
  138. data/lib/adwords_api/v201406/customer_sync_service.rb +0 -34
  139. data/lib/adwords_api/v201406/customer_sync_service_registry.rb +0 -47
  140. data/lib/adwords_api/v201406/data_service.rb +0 -54
  141. data/lib/adwords_api/v201406/data_service_registry.rb +0 -46
  142. data/lib/adwords_api/v201406/experiment_service.rb +0 -38
  143. data/lib/adwords_api/v201406/experiment_service_registry.rb +0 -46
  144. data/lib/adwords_api/v201406/feed_item_service.rb +0 -42
  145. data/lib/adwords_api/v201406/feed_item_service_registry.rb +0 -46
  146. data/lib/adwords_api/v201406/feed_mapping_service.rb +0 -42
  147. data/lib/adwords_api/v201406/feed_mapping_service_registry.rb +0 -46
  148. data/lib/adwords_api/v201406/feed_service.rb +0 -42
  149. data/lib/adwords_api/v201406/feed_service_registry.rb +0 -46
  150. data/lib/adwords_api/v201406/geo_location_service.rb +0 -34
  151. data/lib/adwords_api/v201406/geo_location_service_registry.rb +0 -46
  152. data/lib/adwords_api/v201406/label_service.rb +0 -42
  153. data/lib/adwords_api/v201406/label_service_registry.rb +0 -46
  154. data/lib/adwords_api/v201406/location_criterion_service.rb +0 -38
  155. data/lib/adwords_api/v201406/location_criterion_service_registry.rb +0 -46
  156. data/lib/adwords_api/v201406/managed_customer_service.rb +0 -50
  157. data/lib/adwords_api/v201406/managed_customer_service_registry.rb +0 -46
  158. data/lib/adwords_api/v201406/media_service.rb +0 -42
  159. data/lib/adwords_api/v201406/media_service_registry.rb +0 -46
  160. data/lib/adwords_api/v201406/mutate_job_service.rb +0 -42
  161. data/lib/adwords_api/v201406/mutate_job_service_registry.rb +0 -46
  162. data/lib/adwords_api/v201406/offline_conversion_feed_service.rb +0 -34
  163. data/lib/adwords_api/v201406/offline_conversion_feed_service_registry.rb +0 -46
  164. data/lib/adwords_api/v201406/report_definition_service.rb +0 -34
  165. data/lib/adwords_api/v201406/report_definition_service_registry.rb +0 -46
  166. data/lib/adwords_api/v201406/shared_criterion_service.rb +0 -38
  167. data/lib/adwords_api/v201406/shared_criterion_service_registry.rb +0 -47
  168. data/lib/adwords_api/v201406/shared_set_service.rb +0 -38
  169. data/lib/adwords_api/v201406/shared_set_service_registry.rb +0 -47
  170. data/lib/adwords_api/v201406/targeting_idea_service.rb +0 -38
  171. data/lib/adwords_api/v201406/targeting_idea_service_registry.rb +0 -46
  172. data/lib/adwords_api/v201406/traffic_estimator_service.rb +0 -34
  173. data/lib/adwords_api/v201406/traffic_estimator_service_registry.rb +0 -46
  174. data/test/templates/v201406/basic_operations_get_campaigns.def +0 -114
  175. data/test/templates/v201406/misc_use_oauth2_jwt.def +0 -131
@@ -1,123 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # Encoding: utf-8
3
- #
4
- # Author:: api.sgomes@gmail.com (Sérgio Gomes)
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 create a user list (a.k.a. Audience) and shows
22
- # its associated conversion tracker code snippet.
23
- #
24
- # Tags: UserListService.mutate, ConversionTrackerService.get
25
-
26
- require 'adwords_api'
27
-
28
- def add_audience()
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
- user_list_srv = adwords.service(:AdwordsUserListService, API_VERSION)
38
- conv_tracker_srv = adwords.service(:ConversionTrackerService, API_VERSION)
39
-
40
- # Prepare for adding remarketing user list.
41
- name = "Mars cruise customers #%d" % (Time.new.to_f * 1000).to_i
42
- operation = {
43
- :operator => 'ADD',
44
- :operand => {
45
- # The 'xsi_type' field allows you to specify the xsi:type of the object
46
- # being created. It's only necessary when you must provide an explicit
47
- # type that the client library can't infer.
48
- :xsi_type => 'BasicUserList',
49
- :name => name,
50
- :description => 'A list of mars cruise customers in the last year',
51
- :status => 'OPEN',
52
- :membership_life_span => 365,
53
- :conversion_types => [{:name => name}],
54
- # Optional field.
55
- :status => 'OPEN'
56
- }
57
- }
58
-
59
- # Add user list.
60
- response = user_list_srv.mutate([operation])
61
- if response and response[:value]
62
- user_list = response[:value].first
63
-
64
- # Get conversion snippets.
65
- if user_list and user_list[:conversion_types]
66
- conversion_ids = user_list[:conversion_types].map {|type| type[:id]}
67
- selector = {
68
- # We're actually interested in the 'Snippet' field, which is returned
69
- # automatically.
70
- :fields => ['Id'],
71
- :predicates => [
72
- {:field => 'Id', :operator => 'IN', :values => conversion_ids}
73
- ]
74
- }
75
- conv_tracker_response = conv_tracker_srv.get(selector)
76
- if conv_tracker_response and conv_tracker_response[:entries]
77
- conversions = conv_tracker_response[:entries]
78
- end
79
- end
80
- puts "User list with name '%s' and ID %d was added." %
81
- [user_list[:name], user_list[:id]]
82
- # Display user list associated conversion code snippets.
83
- if conversions
84
- conversions.each do |conversion|
85
- puts "Conversion type code snipped associated to the list:\n\t\t%s\n" %
86
- conversion[:snippet]
87
- end
88
- end
89
- else
90
- puts 'No user lists were added.'
91
- end
92
- end
93
-
94
- if __FILE__ == $0
95
- API_VERSION = :v201406
96
-
97
- begin
98
- add_audience()
99
-
100
- # Authorization error.
101
- rescue AdsCommon::Errors::OAuth2VerificationRequired => e
102
- puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
103
- "OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
104
- "to retrieve and store OAuth2 tokens."
105
- puts "See this wiki page for more details:\n\n " +
106
- 'http://code.google.com/p/google-api-ads-ruby/wiki/OAuth2'
107
-
108
- # HTTP errors.
109
- rescue AdsCommon::Errors::HttpError => e
110
- puts "HTTP Error: %s" % e
111
-
112
- # API errors.
113
- rescue AdwordsApi::Errors::ApiException => e
114
- puts "Message: %s" % e.message
115
- puts 'Errors:'
116
- e.errors.each_with_index do |error, index|
117
- puts "\tError [%d]:" % (index + 1)
118
- error.each do |field, value|
119
- puts "\t\t%s: %s" % [field, value]
120
- end
121
- end
122
- end
123
- end
@@ -1,105 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # Encoding: utf-8
3
- #
4
- # Author:: api.sgomes@gmail.com (Sérgio Gomes)
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 add an AdWords conversion tracker.
22
- #
23
- # Tags: ConversionTrackerService.mutate
24
-
25
- require 'adwords_api'
26
-
27
- def add_conversion_tracker()
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
- conv_tracker_srv = adwords.service(:ConversionTrackerService, API_VERSION)
37
-
38
- # Prepare for adding conversion.
39
- operation = {
40
- :operator => 'ADD',
41
- :operand => {
42
- # The 'xsi_type' field allows you to specify the xsi:type of the object
43
- # being created. It's only necessary when you must provide an explicit
44
- # type that the client library can't infer.
45
- :xsi_type => 'AdWordsConversionTracker',
46
- :name => "Earth to Mars Cruises Conversion #%d" %
47
- (Time.new.to_f * 1000).to_i,
48
- :category => 'DEFAULT',
49
- :markup_language => 'HTML',
50
- :text_format => 'HIDDEN',
51
- # Optional fields:
52
- :status => 'ENABLED',
53
- :viewthrough_lookback_window => 15,
54
- :viewthrough_conversion_de_dup_search => true,
55
- :is_product_ads_chargeable => true,
56
- :product_ads_chargeable_conversion_window => 15,
57
- :conversion_page_language => 'en',
58
- :background_color => '#0000FF',
59
- :default_revenue_value => 23.41,
60
- :always_use_default_revenue_value = true
61
- }
62
- }
63
-
64
- # Add conversion.
65
- response = conv_tracker_srv.mutate([operation])
66
- if response and response[:value]
67
- conversion = response[:value].first
68
- puts ("Conversion with ID %d, name '%s', status '%s' and category '%s'" +
69
- " was added.") % [conversion[:id], conversion[:name],
70
- conversion[:status], conversion[:category]]
71
- else
72
- puts 'No conversions were added.'
73
- end
74
- end
75
-
76
- if __FILE__ == $0
77
- API_VERSION = :v201406
78
-
79
- begin
80
- add_conversion_tracker()
81
-
82
- # Authorization error.
83
- rescue AdsCommon::Errors::OAuth2VerificationRequired => e
84
- puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
85
- "OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
86
- "to retrieve and store OAuth2 tokens."
87
- puts "See this wiki page for more details:\n\n " +
88
- 'http://code.google.com/p/google-api-ads-ruby/wiki/OAuth2'
89
-
90
- # HTTP errors.
91
- rescue AdsCommon::Errors::HttpError => e
92
- puts "HTTP Error: %s" % e
93
-
94
- # API errors.
95
- rescue AdwordsApi::Errors::ApiException => e
96
- puts "Message: %s" % e.message
97
- puts 'Errors:'
98
- e.errors.each_with_index do |error, index|
99
- puts "\tError [%d]:" % (index + 1)
100
- error.each do |field, value|
101
- puts "\t\t%s: %s" % [field, value]
102
- end
103
- end
104
- end
105
- end
@@ -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 gets and downloads an Ad Hoc report from a XML report definition.
22
-
23
- require 'adwords_api'
24
-
25
- def download_criteria_report(file_name)
26
- # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
27
- # when called without parameters.
28
- adwords = AdwordsApi::Api.new
29
-
30
- # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
31
- # the configuration file or provide your own logger:
32
- # adwords.logger = Logger.new('adwords_xml.log')
33
-
34
- # Get report utilities for the version.
35
- report_utils = adwords.report_utils(API_VERSION)
36
-
37
- # Define report definition. You can also pass your own XML text as a string.
38
- report_definition = {
39
- :selector => {
40
- :fields => ['CampaignId', 'AdGroupId', 'Id', 'Criteria', 'CriteriaType',
41
- 'Impressions', 'Clicks', 'Cost'],
42
- # Predicates are optional.
43
- :predicates => {
44
- :field => 'Status',
45
- :operator => 'IN',
46
- :values => ['ENABLED', 'PAUSED']
47
- }
48
- },
49
- :report_name => 'Last 7 days CRITERIA_PERFORMANCE_REPORT',
50
- :report_type => 'CRITERIA_PERFORMANCE_REPORT',
51
- :download_format => 'CSV',
52
- :date_range_type => 'LAST_7_DAYS',
53
- # Enable to get rows with zero impressions.
54
- :include_zero_impressions => false
55
- }
56
-
57
- # Download report, using "download_report_as_file" utility method.
58
- # To retrieve the report as return value, use "download_report" method.
59
- report_utils.download_report_as_file(report_definition, file_name)
60
- puts "Report was downloaded to '%s'." % file_name
61
- end
62
-
63
- if __FILE__ == $0
64
- API_VERSION = :v201406
65
-
66
- begin
67
- # File name to write report to.
68
- file_name = 'INSERT_OUTPUT_FILE_NAME_HERE'
69
- download_criteria_report(file_name)
70
-
71
- # Authorization error.
72
- rescue AdsCommon::Errors::OAuth2VerificationRequired => e
73
- puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
74
- "OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
75
- "to retrieve and store OAuth2 tokens."
76
- puts "See this wiki page for more details:\n\n " +
77
- 'http://code.google.com/p/google-api-ads-ruby/wiki/OAuth2'
78
-
79
- # HTTP errors.
80
- rescue AdsCommon::Errors::HttpError => e
81
- puts "HTTP Error: %s" % e
82
-
83
- # API errors.
84
- rescue AdwordsApi::Errors::ReportError => e
85
- puts "Reporting Error: %s" % e.message
86
- end
87
- end
@@ -1,86 +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 gets an Ad Hoc report using AdWords Query Language.
22
- # See AWQL guide for more details:
23
- # https://developers.google.com/adwords/api/docs/guides/awql
24
-
25
- require 'date'
26
-
27
- require 'adwords_api'
28
-
29
- def download_criteria_report_with_awql(file_name, report_format)
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
- # Get report utilities for the version.
39
- report_utils = adwords.report_utils(API_VERSION)
40
-
41
- # Prepare a date range for the last week. Instead you can use 'LAST_7_DAYS'.
42
- date_range = '%s,%s' % [
43
- DateTime.parse((Date.today - 7).to_s).strftime('%Y%m%d'),
44
- DateTime.parse((Date.today - 1).to_s).strftime('%Y%m%d')
45
- ]
46
-
47
- # Define report definition. You can also pass your own XML text as a string.
48
- report_query = 'SELECT CampaignId, AdGroupId, Id, Criteria, CriteriaType, ' +
49
- 'Impressions, Clicks, Cost FROM CRITERIA_PERFORMANCE_REPORT ' +
50
- 'WHERE Status IN [ENABLED, PAUSED] ' +
51
- 'DURING %s' % date_range
52
-
53
- # Download report, using "download_report_as_file_with_awql" utility method.
54
- # To retrieve the report as return value, use "download_report_with_awql"
55
- # method.
56
- report_utils.download_report_as_file_with_awql(report_query, report_format,
57
- file_name)
58
- puts "Report was downloaded to '%s'." % file_name
59
- end
60
-
61
- if __FILE__ == $0
62
- API_VERSION = :v201406
63
-
64
- begin
65
- # File name to write report to.
66
- file_name = 'INSERT_OUTPUT_FILE_NAME_HERE'
67
- report_format = 'CSV'
68
- download_criteria_report_with_awql(file_name, report_format)
69
-
70
- # Authorization error.
71
- rescue AdsCommon::Errors::OAuth2VerificationRequired => e
72
- puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
73
- "OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
74
- "to retrieve and store OAuth2 tokens."
75
- puts "See this wiki page for more details:\n\n " +
76
- 'http://code.google.com/p/google-api-ads-ruby/wiki/OAuth2'
77
-
78
- # HTTP errors.
79
- rescue AdsCommon::Errors::HttpError => e
80
- puts 'HTTP Error: %s' % e
81
-
82
- # API errors.
83
- rescue AdwordsApi::Errors::ReportError => e
84
- puts 'Reporting Error: %s' % e.message
85
- end
86
- end
@@ -1,79 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # Encoding: utf-8
3
- #
4
- # Author:: api.sgomes@gmail.com (Sérgio Gomes)
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 gets the list of possible report fields for a report type.
22
- #
23
- # Tags: ReportDefinitionService.getReportFields
24
-
25
- require 'adwords_api'
26
-
27
- def get_report_fields(report_type)
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
- report_def_srv = adwords.service(:ReportDefinitionService, API_VERSION)
37
-
38
- # Get report fields.
39
- fields = report_def_srv.get_report_fields(report_type)
40
- if fields
41
- puts "Report type '%s' contains the following fields:" % report_type
42
- fields.each do |field|
43
- puts ' - %s (%s)' % [field[:field_name], field[:field_type]]
44
- puts ' := [%s]' % field[:enum_values].join(', ') if field[:enum_values]
45
- end
46
- end
47
- end
48
-
49
- if __FILE__ == $0
50
- API_VERSION = :v201406
51
-
52
- begin
53
- report_type = 'INSERT_REPORT_TYPE_HERE'
54
- get_report_fields(report_type)
55
-
56
- # Authorization error.
57
- rescue AdsCommon::Errors::OAuth2VerificationRequired => e
58
- puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
59
- "OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
60
- "to retrieve and store OAuth2 tokens."
61
- puts "See this wiki page for more details:\n\n " +
62
- 'http://code.google.com/p/google-api-ads-ruby/wiki/OAuth2'
63
-
64
- # HTTP errors.
65
- rescue AdsCommon::Errors::HttpError => e
66
- puts "HTTP Error: %s" % e
67
-
68
- # API errors.
69
- rescue AdwordsApi::Errors::ApiException => e
70
- puts "Message: %s" % e.message
71
- puts 'Errors:'
72
- e.errors.each_with_index do |error, index|
73
- puts "\tError [%d]:" % (index + 1)
74
- error.each do |field, value|
75
- puts "\t\t%s: %s" % [field, value]
76
- end
77
- end
78
- end
79
- end