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.
- data/ChangeLog +6 -0
- data/README +12 -9
- data/adwords_api.yml +3 -17
- data/examples/v201206/account_management/create_account.rb +3 -0
- data/examples/v201206/account_management/get_account_alerts.rb +3 -0
- data/examples/v201206/account_management/get_account_hierarchy.rb +3 -0
- data/examples/v201206/account_management/get_client_customer_id.rb +3 -0
- data/examples/v201206/account_management/get_client_unit_usage.rb +3 -0
- data/examples/v201206/reporting/parallel_report_download.rb +3 -0
- data/examples/v201209/account_management/create_account.rb +3 -0
- data/examples/v201209/account_management/get_account_alerts.rb +3 -0
- data/examples/v201209/account_management/get_account_hierarchy.rb +3 -0
- data/examples/v201209/account_management/get_client_customer_id.rb +3 -0
- data/examples/v201209/account_management/get_client_unit_usage.rb +3 -0
- data/examples/{v201109/misc/use_oauth2.rb → v201209/misc/use_oauth2_jwt.rb} +19 -23
- data/examples/v201209/reporting/parallel_report_download.rb +3 -0
- data/lib/adwords_api.rb +8 -3
- data/lib/adwords_api/api_config.rb +0 -132
- data/lib/adwords_api/credential_handler.rb +3 -17
- data/lib/adwords_api/report_header_handler.rb +1 -2
- data/lib/adwords_api/report_utils.rb +1 -8
- data/lib/adwords_api/version.rb +1 -1
- data/test/adwords_api/test_adwords_api.rb +23 -9
- data/test/adwords_api/test_api_config.rb +0 -8
- data/test/adwords_api/test_credential_handler.rb +45 -9
- data/test/adwords_api/test_report_utils.rb +3 -2
- data/test/{suite_exampletests_v201109.rb → suite_integration.rb} +14 -11
- data/test/templates/v201209/basic_operations_get_campaigns.def +114 -0
- data/test/test_utils.rb +105 -0
- metadata +8 -250
- data/examples/v201109/account_management/create_account.rb +0 -80
- data/examples/v201109/account_management/get_account_alerts.rb +0 -111
- data/examples/v201109/account_management/get_account_changes.rb +0 -137
- data/examples/v201109/account_management/get_account_hierarchy.rb +0 -93
- data/examples/v201109/account_management/get_client_customer_id.rb +0 -85
- data/examples/v201109/account_management/get_client_unit_usage.rb +0 -87
- data/examples/v201109/basic_operations/add_ad_groups.rb +0 -111
- data/examples/v201109/basic_operations/add_campaigns.rb +0 -125
- data/examples/v201109/basic_operations/add_keywords.rb +0 -108
- data/examples/v201109/basic_operations/add_text_ads.rb +0 -105
- data/examples/v201109/basic_operations/delete_ad.rb +0 -85
- data/examples/v201109/basic_operations/delete_ad_group.rb +0 -102
- data/examples/v201109/basic_operations/delete_campaign.rb +0 -103
- data/examples/v201109/basic_operations/delete_keyword.rb +0 -90
- data/examples/v201109/basic_operations/get_ad_groups.rb +0 -98
- data/examples/v201109/basic_operations/get_campaigns.rb +0 -93
- data/examples/v201109/basic_operations/get_keywords.rb +0 -104
- data/examples/v201109/basic_operations/get_text_ads.rb +0 -106
- data/examples/v201109/basic_operations/pause_ad.rb +0 -84
- data/examples/v201109/basic_operations/update_ad_group.rb +0 -81
- data/examples/v201109/basic_operations/update_campaign.rb +0 -84
- data/examples/v201109/basic_operations/update_keyword.rb +0 -99
- data/examples/v201109/campaign_management/add_experiment.rb +0 -158
- data/examples/v201109/campaign_management/add_keywords_in_bulk.rb +0 -150
- data/examples/v201109/campaign_management/add_location_extension.rb +0 -117
- data/examples/v201109/campaign_management/add_location_extension_override.rb +0 -83
- data/examples/v201109/campaign_management/get_all_disapproved_ads.rb +0 -93
- data/examples/v201109/campaign_management/promote_experiment.rb +0 -77
- data/examples/v201109/campaign_management/set_ad_parameters.rb +0 -114
- data/examples/v201109/campaign_management/validate_text_ad.rb +0 -106
- data/examples/v201109/error_handling/handle_captcha_challenge.rb +0 -93
- data/examples/v201109/error_handling/handle_partial_failures.rb +0 -126
- data/examples/v201109/error_handling/handle_policy_violation_error.rb +0 -137
- data/examples/v201109/error_handling/handle_two_factor_authorization_error.rb +0 -87
- data/examples/v201109/misc/get_all_images_and_videos.rb +0 -100
- data/examples/v201109/misc/upload_image.rb +0 -89
- data/examples/v201109/misc/use_oauth.rb +0 -100
- data/examples/v201109/optimization/estimate_keyword_traffic.rb +0 -129
- data/examples/v201109/optimization/get_keyword_bid_simulations.rb +0 -92
- data/examples/v201109/optimization/get_keyword_ideas.rb +0 -106
- data/examples/v201109/optimization/get_placement_ideas.rb +0 -104
- data/examples/v201109/remarketing/add_audience.rb +0 -115
- data/examples/v201109/remarketing/add_conversion_tracker.rb +0 -97
- data/examples/v201109/reporting/download_criteria_report.rb +0 -79
- data/examples/v201109/reporting/get_campaign_stats.rb +0 -105
- data/examples/v201109/reporting/get_defined_reports.rb +0 -75
- data/examples/v201109/reporting/get_report_fields.rb +0 -71
- data/examples/v201109/reporting/parallel_report_download.rb +0 -159
- data/examples/v201109/targeting/add_campaign_targeting_criteria.rb +0 -118
- data/examples/v201109/targeting/get_campaign_targeting_criteria.rb +0 -102
- data/examples/v201109/targeting/get_targetable_languages_and_carriers.rb +0 -86
- data/examples/v201109/targeting/lookup_location.rb +0 -103
- data/examples/v201109_1/account_management/create_account.rb +0 -80
- data/examples/v201109_1/account_management/get_account_alerts.rb +0 -111
- data/examples/v201109_1/account_management/get_account_changes.rb +0 -137
- data/examples/v201109_1/account_management/get_account_hierarchy.rb +0 -93
- data/examples/v201109_1/account_management/get_client_customer_id.rb +0 -85
- data/examples/v201109_1/account_management/get_client_unit_usage.rb +0 -87
- data/examples/v201109_1/basic_operations/add_ad_groups.rb +0 -111
- data/examples/v201109_1/basic_operations/add_campaigns.rb +0 -140
- data/examples/v201109_1/basic_operations/add_keywords.rb +0 -108
- data/examples/v201109_1/basic_operations/add_text_ads.rb +0 -105
- data/examples/v201109_1/basic_operations/delete_ad.rb +0 -85
- data/examples/v201109_1/basic_operations/delete_ad_group.rb +0 -102
- data/examples/v201109_1/basic_operations/delete_campaign.rb +0 -103
- data/examples/v201109_1/basic_operations/delete_keyword.rb +0 -90
- data/examples/v201109_1/basic_operations/get_ad_groups.rb +0 -98
- data/examples/v201109_1/basic_operations/get_campaigns.rb +0 -93
- data/examples/v201109_1/basic_operations/get_keywords.rb +0 -104
- data/examples/v201109_1/basic_operations/get_text_ads.rb +0 -106
- data/examples/v201109_1/basic_operations/pause_ad.rb +0 -84
- data/examples/v201109_1/basic_operations/update_ad_group.rb +0 -81
- data/examples/v201109_1/basic_operations/update_campaign.rb +0 -84
- data/examples/v201109_1/basic_operations/update_keyword.rb +0 -99
- data/examples/v201109_1/campaign_management/add_experiment.rb +0 -158
- data/examples/v201109_1/campaign_management/add_keywords_in_bulk.rb +0 -150
- data/examples/v201109_1/campaign_management/add_location_extension.rb +0 -117
- data/examples/v201109_1/campaign_management/add_location_extension_override.rb +0 -83
- data/examples/v201109_1/campaign_management/get_all_disapproved_ads.rb +0 -93
- data/examples/v201109_1/campaign_management/promote_experiment.rb +0 -77
- data/examples/v201109_1/campaign_management/set_ad_parameters.rb +0 -114
- data/examples/v201109_1/campaign_management/validate_text_ad.rb +0 -106
- data/examples/v201109_1/error_handling/handle_captcha_challenge.rb +0 -93
- data/examples/v201109_1/error_handling/handle_partial_failures.rb +0 -126
- data/examples/v201109_1/error_handling/handle_policy_violation_error.rb +0 -137
- data/examples/v201109_1/error_handling/handle_two_factor_authorization_error.rb +0 -87
- data/examples/v201109_1/misc/get_all_images_and_videos.rb +0 -100
- data/examples/v201109_1/misc/upload_image.rb +0 -89
- data/examples/v201109_1/misc/use_oauth.rb +0 -100
- data/examples/v201109_1/misc/use_oauth2.rb +0 -97
- data/examples/v201109_1/optimization/estimate_keyword_traffic.rb +0 -129
- data/examples/v201109_1/optimization/get_keyword_bid_simulations.rb +0 -92
- data/examples/v201109_1/optimization/get_keyword_ideas.rb +0 -112
- data/examples/v201109_1/optimization/get_placement_ideas.rb +0 -104
- data/examples/v201109_1/remarketing/add_audience.rb +0 -115
- data/examples/v201109_1/remarketing/add_conversion_tracker.rb +0 -97
- data/examples/v201109_1/reporting/download_criteria_report.rb +0 -79
- data/examples/v201109_1/reporting/get_campaign_stats.rb +0 -105
- data/examples/v201109_1/reporting/get_defined_reports.rb +0 -75
- data/examples/v201109_1/reporting/get_report_fields.rb +0 -71
- data/examples/v201109_1/reporting/parallel_report_download.rb +0 -159
- data/examples/v201109_1/targeting/add_campaign_targeting_criteria.rb +0 -118
- data/examples/v201109_1/targeting/get_campaign_targeting_criteria.rb +0 -102
- data/examples/v201109_1/targeting/get_targetable_languages_and_carriers.rb +0 -86
- data/examples/v201109_1/targeting/lookup_location.rb +0 -103
- data/examples/v201206/misc/use_oauth.rb +0 -100
- data/examples/v201209/misc/use_oauth.rb +0 -100
- data/lib/adwords_api/v201109/ad_extension_override_service.rb +0 -38
- data/lib/adwords_api/v201109/ad_extension_override_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/ad_group_ad_service.rb +0 -38
- data/lib/adwords_api/v201109/ad_group_ad_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/ad_group_criterion_service.rb +0 -38
- data/lib/adwords_api/v201109/ad_group_criterion_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/ad_group_service.rb +0 -38
- data/lib/adwords_api/v201109/ad_group_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/ad_param_service.rb +0 -38
- data/lib/adwords_api/v201109/ad_param_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/alert_service.rb +0 -34
- data/lib/adwords_api/v201109/alert_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/budget_order_service.rb +0 -42
- data/lib/adwords_api/v201109/budget_order_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/bulk_mutate_job_service.rb +0 -38
- data/lib/adwords_api/v201109/bulk_mutate_job_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/campaign_ad_extension_service.rb +0 -38
- data/lib/adwords_api/v201109/campaign_ad_extension_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/campaign_criterion_service.rb +0 -38
- data/lib/adwords_api/v201109/campaign_criterion_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/campaign_service.rb +0 -38
- data/lib/adwords_api/v201109/campaign_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/campaign_target_service.rb +0 -38
- data/lib/adwords_api/v201109/campaign_target_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/constant_data_service.rb +0 -38
- data/lib/adwords_api/v201109/constant_data_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/conversion_tracker_service.rb +0 -38
- data/lib/adwords_api/v201109/conversion_tracker_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/create_account_service.rb +0 -34
- data/lib/adwords_api/v201109/create_account_service_registry.rb +0 -47
- data/lib/adwords_api/v201109/customer_sync_service.rb +0 -34
- data/lib/adwords_api/v201109/customer_sync_service_registry.rb +0 -47
- data/lib/adwords_api/v201109/data_service.rb +0 -38
- data/lib/adwords_api/v201109/data_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/experiment_service.rb +0 -38
- data/lib/adwords_api/v201109/experiment_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/geo_location_service.rb +0 -34
- data/lib/adwords_api/v201109/geo_location_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/info_service.rb +0 -34
- data/lib/adwords_api/v201109/info_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/location_criterion_service.rb +0 -34
- data/lib/adwords_api/v201109/location_criterion_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/media_service.rb +0 -38
- data/lib/adwords_api/v201109/media_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/mutate_job_service.rb +0 -42
- data/lib/adwords_api/v201109/mutate_job_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/report_definition_service.rb +0 -38
- data/lib/adwords_api/v201109/report_definition_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/serviced_account_service.rb +0 -34
- data/lib/adwords_api/v201109/serviced_account_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/targeting_idea_service.rb +0 -38
- data/lib/adwords_api/v201109/targeting_idea_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/traffic_estimator_service.rb +0 -34
- data/lib/adwords_api/v201109/traffic_estimator_service_registry.rb +0 -46
- data/lib/adwords_api/v201109/user_list_service.rb +0 -38
- data/lib/adwords_api/v201109/user_list_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/ad_extension_override_service.rb +0 -38
- data/lib/adwords_api/v201109_1/ad_extension_override_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/ad_group_ad_service.rb +0 -38
- data/lib/adwords_api/v201109_1/ad_group_ad_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/ad_group_criterion_service.rb +0 -38
- data/lib/adwords_api/v201109_1/ad_group_criterion_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/ad_group_service.rb +0 -38
- data/lib/adwords_api/v201109_1/ad_group_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/ad_param_service.rb +0 -38
- data/lib/adwords_api/v201109_1/ad_param_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/alert_service.rb +0 -34
- data/lib/adwords_api/v201109_1/alert_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/budget_order_service.rb +0 -42
- data/lib/adwords_api/v201109_1/budget_order_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/bulk_mutate_job_service.rb +0 -38
- data/lib/adwords_api/v201109_1/bulk_mutate_job_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/campaign_ad_extension_service.rb +0 -38
- data/lib/adwords_api/v201109_1/campaign_ad_extension_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/campaign_criterion_service.rb +0 -38
- data/lib/adwords_api/v201109_1/campaign_criterion_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/campaign_service.rb +0 -38
- data/lib/adwords_api/v201109_1/campaign_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/campaign_target_service.rb +0 -38
- data/lib/adwords_api/v201109_1/campaign_target_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/constant_data_service.rb +0 -38
- data/lib/adwords_api/v201109_1/constant_data_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/conversion_tracker_service.rb +0 -38
- data/lib/adwords_api/v201109_1/conversion_tracker_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/create_account_service.rb +0 -34
- data/lib/adwords_api/v201109_1/create_account_service_registry.rb +0 -47
- data/lib/adwords_api/v201109_1/customer_service.rb +0 -34
- data/lib/adwords_api/v201109_1/customer_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/customer_sync_service.rb +0 -34
- data/lib/adwords_api/v201109_1/customer_sync_service_registry.rb +0 -47
- data/lib/adwords_api/v201109_1/data_service.rb +0 -38
- data/lib/adwords_api/v201109_1/data_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/experiment_service.rb +0 -38
- data/lib/adwords_api/v201109_1/experiment_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/geo_location_service.rb +0 -34
- data/lib/adwords_api/v201109_1/geo_location_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/info_service.rb +0 -34
- data/lib/adwords_api/v201109_1/info_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/location_criterion_service.rb +0 -34
- data/lib/adwords_api/v201109_1/location_criterion_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/managed_customer_service.rb +0 -38
- data/lib/adwords_api/v201109_1/managed_customer_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/media_service.rb +0 -38
- data/lib/adwords_api/v201109_1/media_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/mutate_job_service.rb +0 -42
- data/lib/adwords_api/v201109_1/mutate_job_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/report_definition_service.rb +0 -38
- data/lib/adwords_api/v201109_1/report_definition_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/serviced_account_service.rb +0 -34
- data/lib/adwords_api/v201109_1/serviced_account_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/targeting_idea_service.rb +0 -38
- data/lib/adwords_api/v201109_1/targeting_idea_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/traffic_estimator_service.rb +0 -34
- data/lib/adwords_api/v201109_1/traffic_estimator_service_registry.rb +0 -46
- data/lib/adwords_api/v201109_1/user_list_service.rb +0 -38
- data/lib/adwords_api/v201109_1/user_list_service_registry.rb +0 -46
- data/test/examples/v201109/test_account_management.rb +0 -60
- data/test/examples/v201109/test_basic_operations.rb +0 -172
- data/test/examples/v201109/test_campaign_management.rb +0 -116
- data/test/examples/v201109/test_error_handling.rb +0 -63
- data/test/examples/v201109/test_misc.rb +0 -45
- data/test/examples/v201109/test_optimization.rb +0 -63
- data/test/examples/v201109/test_remarketing.rb +0 -39
- data/test/examples/v201109/test_reporting.rb +0 -72
- data/test/examples/v201109/test_targeting.rb +0 -60
- data/test/examples/v201109/utils.rb +0 -238
- data/test/examples/v201109_1/test_account_management.rb +0 -60
- data/test/examples/v201109_1/test_basic_operations.rb +0 -172
- data/test/examples/v201109_1/test_campaign_management.rb +0 -116
- data/test/examples/v201109_1/test_error_handling.rb +0 -63
- data/test/examples/v201109_1/test_misc.rb +0 -45
- data/test/examples/v201109_1/test_optimization.rb +0 -63
- data/test/examples/v201109_1/test_remarketing.rb +0 -39
- data/test/examples/v201109_1/test_reporting.rb +0 -72
- data/test/examples/v201109_1/test_targeting.rb +0 -60
- data/test/examples/v201109_1/utils.rb +0 -238
- data/test/suite_exampletests_v201109_1.rb +0 -37
|
@@ -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 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 languages and carriers available
|
|
22
|
-
# for targeting.
|
|
23
|
-
#
|
|
24
|
-
# Tags: ConstantDataService.getLanguageCriterion
|
|
25
|
-
# Tags: ConstantDataService.getCarrierCriterion
|
|
26
|
-
|
|
27
|
-
require 'adwords_api'
|
|
28
|
-
|
|
29
|
-
def get_targetable_languages_and_carriers()
|
|
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
|
-
constant_data_srv = adwords.service(:ConstantDataService, API_VERSION)
|
|
39
|
-
|
|
40
|
-
# Get all languages from ConstantDataService.
|
|
41
|
-
languages = constant_data_srv.get_language_criterion()
|
|
42
|
-
|
|
43
|
-
if languages
|
|
44
|
-
languages.each do |language|
|
|
45
|
-
puts "Language name is '%s', ID is %d and code is '%s'." %
|
|
46
|
-
[language[:name], language[:id], language[:code]]
|
|
47
|
-
end
|
|
48
|
-
else
|
|
49
|
-
puts 'No languages were found.'
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
# Get all carriers from ConstantDataService.
|
|
53
|
-
carriers = constant_data_srv.get_carrier_criterion()
|
|
54
|
-
|
|
55
|
-
if carriers
|
|
56
|
-
carriers.each do |carrier|
|
|
57
|
-
puts "Carrier name is '%s', ID is %d and country code is '%s'." %
|
|
58
|
-
[carrier[:name], carrier[:id], carrier[:country_code]]
|
|
59
|
-
end
|
|
60
|
-
else
|
|
61
|
-
puts 'No carriers were retrieved.'
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
if __FILE__ == $0
|
|
66
|
-
API_VERSION = :v201109
|
|
67
|
-
|
|
68
|
-
begin
|
|
69
|
-
get_targetable_languages_and_carriers()
|
|
70
|
-
|
|
71
|
-
# HTTP errors.
|
|
72
|
-
rescue AdsCommon::Errors::HttpError => e
|
|
73
|
-
puts "HTTP Error: %s" % e
|
|
74
|
-
|
|
75
|
-
# API errors.
|
|
76
|
-
rescue AdwordsApi::Errors::ApiException => e
|
|
77
|
-
puts "Message: %s" % e.message
|
|
78
|
-
puts 'Errors:'
|
|
79
|
-
e.errors.each_with_index do |error, index|
|
|
80
|
-
puts "\tError [%d]:" % (index + 1)
|
|
81
|
-
error.each do |field, value|
|
|
82
|
-
puts "\t\t%s: %s" % [field, value]
|
|
83
|
-
end
|
|
84
|
-
end
|
|
85
|
-
end
|
|
86
|
-
end
|
|
@@ -1,103 +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 location criteria by name.
|
|
22
|
-
#
|
|
23
|
-
# Tags: LocationCriterionService.get
|
|
24
|
-
|
|
25
|
-
require 'adwords_api'
|
|
26
|
-
|
|
27
|
-
def lookup_location()
|
|
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
|
-
location_criterion_srv =
|
|
37
|
-
adwords.service(:LocationCriterionService, API_VERSION)
|
|
38
|
-
|
|
39
|
-
# List of locations to look up.
|
|
40
|
-
location_names = ['Paris', 'Quebec', 'Spain', 'Deutschland']
|
|
41
|
-
# Locale to retrieve names in.
|
|
42
|
-
locale = 'en'
|
|
43
|
-
|
|
44
|
-
# Get the criteria by names.
|
|
45
|
-
selector = {
|
|
46
|
-
:fields => ['Id', 'LocationName', 'CanonicalName', 'DisplayType',
|
|
47
|
-
'ParentLocations', 'Reach'],
|
|
48
|
-
:predicates => [
|
|
49
|
-
# Location names must match exactly, only EQUALS and IN are supported.
|
|
50
|
-
{:field => 'LocationName',
|
|
51
|
-
:operator => 'IN',
|
|
52
|
-
:values => location_names},
|
|
53
|
-
# Set the locale of the returned location names.
|
|
54
|
-
{:field => 'Locale', :operator => 'EQUALS', :values => [locale]}
|
|
55
|
-
]
|
|
56
|
-
}
|
|
57
|
-
criteria = location_criterion_srv.get(selector)
|
|
58
|
-
|
|
59
|
-
if criteria
|
|
60
|
-
criteria.each do |criterion|
|
|
61
|
-
# Extract all parent location names as one comma-separated string.
|
|
62
|
-
parent_location = if criterion[:location][:parent_locations] and
|
|
63
|
-
!criterion[:location][:parent_locations].empty?
|
|
64
|
-
locations_array = criterion[:location][:parent_locations].map do |loc|
|
|
65
|
-
loc[:location_name]
|
|
66
|
-
end
|
|
67
|
-
locations_array.join(', ')
|
|
68
|
-
else
|
|
69
|
-
'N/A'
|
|
70
|
-
end
|
|
71
|
-
puts ("The search term '%s' returned the location '%s' of type '%s' " +
|
|
72
|
-
"with ID %d, parent locations '%s' and reach %d") %
|
|
73
|
-
[criterion[:search_term], criterion[:location][:location_name],
|
|
74
|
-
criterion[:location][:criterion_type], criterion[:location][:id],
|
|
75
|
-
parent_location, criterion[:reach]]
|
|
76
|
-
end
|
|
77
|
-
else
|
|
78
|
-
puts 'No criteria were returned.'
|
|
79
|
-
end
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
if __FILE__ == $0
|
|
83
|
-
API_VERSION = :v201109
|
|
84
|
-
|
|
85
|
-
begin
|
|
86
|
-
lookup_location()
|
|
87
|
-
|
|
88
|
-
# HTTP errors.
|
|
89
|
-
rescue AdsCommon::Errors::HttpError => e
|
|
90
|
-
puts "HTTP Error: %s" % e
|
|
91
|
-
|
|
92
|
-
# API errors.
|
|
93
|
-
rescue AdwordsApi::Errors::ApiException => e
|
|
94
|
-
puts "Message: %s" % e.message
|
|
95
|
-
puts 'Errors:'
|
|
96
|
-
e.errors.each_with_index do |error, index|
|
|
97
|
-
puts "\tError [%d]:" % (index + 1)
|
|
98
|
-
error.each do |field, value|
|
|
99
|
-
puts "\t\t%s: %s" % [field, value]
|
|
100
|
-
end
|
|
101
|
-
end
|
|
102
|
-
end
|
|
103
|
-
end
|
|
@@ -1,80 +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 create an account. Note by default this
|
|
22
|
-
# account will only be accessible via parent MCC.
|
|
23
|
-
#
|
|
24
|
-
# Tags: CreateAccountService.mutate
|
|
25
|
-
|
|
26
|
-
require 'adwords_api'
|
|
27
|
-
require 'adwords_api/utils'
|
|
28
|
-
|
|
29
|
-
def create_account()
|
|
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
|
-
create_account_srv = adwords.service(:CreateAccountService, API_VERSION)
|
|
39
|
-
|
|
40
|
-
# Prepare operation to create an account.
|
|
41
|
-
operation = {
|
|
42
|
-
:operator => 'ADD',
|
|
43
|
-
:operand => {
|
|
44
|
-
:currency_code => 'EUR',
|
|
45
|
-
:date_time_zone => 'Europe/London'
|
|
46
|
-
},
|
|
47
|
-
:descriptive_name => 'Account created with CreateAccountService'
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
# Create the account. It is possible to create multiple accounts with one
|
|
51
|
-
# request by sending an array of operations.
|
|
52
|
-
response = create_account_srv.mutate([operation])
|
|
53
|
-
|
|
54
|
-
new_account = response.first
|
|
55
|
-
puts "Account with customer ID '%s' was successfully created." %
|
|
56
|
-
AdwordsApi::Utils.format_id(new_account[:customer_id])
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
if __FILE__ == $0
|
|
60
|
-
API_VERSION = :v201109_1
|
|
61
|
-
|
|
62
|
-
begin
|
|
63
|
-
create_account()
|
|
64
|
-
|
|
65
|
-
# HTTP errors.
|
|
66
|
-
rescue AdsCommon::Errors::HttpError => e
|
|
67
|
-
puts "HTTP Error: %s" % e
|
|
68
|
-
|
|
69
|
-
# API errors.
|
|
70
|
-
rescue AdwordsApi::Errors::ApiException => e
|
|
71
|
-
puts "Message: %s" % e.message
|
|
72
|
-
puts 'Errors:'
|
|
73
|
-
e.errors.each_with_index do |error, index|
|
|
74
|
-
puts "\tError [%d]:" % (index + 1)
|
|
75
|
-
error.each do |field, value|
|
|
76
|
-
puts "\t\t%s: %s" % [field, value]
|
|
77
|
-
end
|
|
78
|
-
end
|
|
79
|
-
end
|
|
80
|
-
end
|
|
@@ -1,111 +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 all alerts for all clients of an MCC account. The effective
|
|
22
|
-
# user (clientCustomerId, or authToken) must be an MCC user to get results.
|
|
23
|
-
#
|
|
24
|
-
# Tags: AlertService.get
|
|
25
|
-
|
|
26
|
-
require 'adwords_api'
|
|
27
|
-
require 'adwords_api/utils'
|
|
28
|
-
|
|
29
|
-
def get_account_alerts()
|
|
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
|
-
alert_srv = adwords.service(:AlertService, API_VERSION)
|
|
39
|
-
|
|
40
|
-
# Create the selector.
|
|
41
|
-
selector = {
|
|
42
|
-
:query => {
|
|
43
|
-
:filter_spec => 'ALL',
|
|
44
|
-
:client_spec => 'ALL',
|
|
45
|
-
:trigger_time_spec => 'ALL_TIME',
|
|
46
|
-
:severities => ['GREEN', 'YELLOW', 'RED'],
|
|
47
|
-
:types => [
|
|
48
|
-
'ACCOUNT_BUDGET_BURN_RATE', 'ACCOUNT_BUDGET_ENDING',
|
|
49
|
-
'ACCOUNT_ON_TARGET', 'CAMPAIGN_ENDED', 'CAMPAIGN_ENDING',
|
|
50
|
-
'CREDIT_CARD_EXPIRING', 'DECLINED_PAYMENT', 'MANAGER_LINK_PENDING',
|
|
51
|
-
'MISSING_BANK_REFERENCE_NUMBER', 'PAYMENT_NOT_ENTERED',
|
|
52
|
-
'TV_ACCOUNT_BUDGET_ENDING', 'TV_ACCOUNT_ON_TARGET',
|
|
53
|
-
'TV_ZERO_DAILY_SPENDING_LIMIT', 'USER_INVITE_ACCEPTED',
|
|
54
|
-
'USER_INVITE_PENDING', 'ZERO_DAILY_SPENDING_LIMIT'
|
|
55
|
-
]
|
|
56
|
-
},
|
|
57
|
-
:paging => {
|
|
58
|
-
:start_index => 0,
|
|
59
|
-
:number_results => PAGE_SIZE
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
# Set initial values.
|
|
64
|
-
offset, page = 0, {}
|
|
65
|
-
|
|
66
|
-
# Get alerts.
|
|
67
|
-
begin
|
|
68
|
-
page = alert_srv.get(selector)
|
|
69
|
-
if page[:entries]
|
|
70
|
-
page[:entries].each_with_index do |alert, index|
|
|
71
|
-
puts "%d) Customer ID is '%s', alert type is '%s', severity is '%s'."
|
|
72
|
-
[AdwordsApi::Utils.format_id(alert[:client_customer_id]),
|
|
73
|
-
alert[:alert_type], alert[:alert_severity]]
|
|
74
|
-
alert[:details].each do |detail|
|
|
75
|
-
puts "\t- triggered at %s" % detail[:trigger_time]
|
|
76
|
-
end
|
|
77
|
-
end
|
|
78
|
-
# Increment values to request the next page.
|
|
79
|
-
offset += PAGE_SIZE
|
|
80
|
-
selector[:paging][:start_index] = offset
|
|
81
|
-
end
|
|
82
|
-
end while page[:total_num_entries] > offset
|
|
83
|
-
|
|
84
|
-
if page.include?(:total_num_entries)
|
|
85
|
-
puts "\tTotal number of alerts: %d." % page[:total_num_entries]
|
|
86
|
-
end
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
if __FILE__ == $0
|
|
90
|
-
API_VERSION = :v201109_1
|
|
91
|
-
PAGE_SIZE = 500
|
|
92
|
-
|
|
93
|
-
begin
|
|
94
|
-
get_account_alerts()
|
|
95
|
-
|
|
96
|
-
# HTTP errors.
|
|
97
|
-
rescue AdsCommon::Errors::HttpError => e
|
|
98
|
-
puts "HTTP Error: %s" % e
|
|
99
|
-
|
|
100
|
-
# API errors.
|
|
101
|
-
rescue AdwordsApi::Errors::ApiException => e
|
|
102
|
-
puts "Message: %s" % e.message
|
|
103
|
-
puts 'Errors:'
|
|
104
|
-
e.errors.each_with_index do |error, index|
|
|
105
|
-
puts "\tError [%d]:" % (index + 1)
|
|
106
|
-
error.each do |field, value|
|
|
107
|
-
puts "\t\t%s: %s" % [field, value]
|
|
108
|
-
end
|
|
109
|
-
end
|
|
110
|
-
end
|
|
111
|
-
end
|
|
@@ -1,137 +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 all account changes that happened within the last 24 hours,
|
|
22
|
-
# for all your campaigns.
|
|
23
|
-
#
|
|
24
|
-
# Tags: CustomerSyncService.get
|
|
25
|
-
|
|
26
|
-
require 'adwords_api'
|
|
27
|
-
require 'date'
|
|
28
|
-
require 'pp'
|
|
29
|
-
|
|
30
|
-
def get_account_changes()
|
|
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
|
-
customer_sync_srv = adwords.service(:CustomerSyncService, API_VERSION)
|
|
41
|
-
|
|
42
|
-
today_at_midnight = DateTime.parse(Date.today.to_s)
|
|
43
|
-
yesterday_at_midnight = DateTime.parse((Date.today - 1).to_s)
|
|
44
|
-
min_date_time = yesterday_at_midnight.strftime("%Y%m%d %H%M%S")
|
|
45
|
-
max_date_time = today_at_midnight.strftime("%Y%m%d %H%M%S")
|
|
46
|
-
|
|
47
|
-
# Get all the campaigns for this account.
|
|
48
|
-
selector = {
|
|
49
|
-
:fields => ['Id']
|
|
50
|
-
}
|
|
51
|
-
response = campaign_srv.get(selector)
|
|
52
|
-
|
|
53
|
-
campaign_ids = []
|
|
54
|
-
|
|
55
|
-
if response and response[:entries]
|
|
56
|
-
campaign_ids = response[:entries].map { |campaign| campaign[:id] }
|
|
57
|
-
else
|
|
58
|
-
raise StandardError, 'No campaigns were found.'
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
# Create a selector for CustomerSyncService.
|
|
62
|
-
selector = {
|
|
63
|
-
:campaign_ids => campaign_ids,
|
|
64
|
-
:date_time_range => {
|
|
65
|
-
:min => min_date_time,
|
|
66
|
-
:max => max_date_time
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
# Get all account changes for the campaigns.
|
|
71
|
-
campaign_changes = customer_sync_srv.get(selector)
|
|
72
|
-
|
|
73
|
-
# Display changes.
|
|
74
|
-
if campaign_changes
|
|
75
|
-
puts "Most recent change: %s" % campaign_changes[:last_change_timestamp]
|
|
76
|
-
campaign_changes[:changed_campaigns].each do |campaign|
|
|
77
|
-
puts "Campaign with ID %d was changed:" % campaign[:campaign_id]
|
|
78
|
-
puts "\tCampaign change status: '%s'" % campaign[:campaign_change_status]
|
|
79
|
-
unless ['NEW', 'FIELDS_UNCHANGED'].include?(
|
|
80
|
-
campaign[:campaign_change_status])
|
|
81
|
-
puts "\tAdded ad extensions: '%s'" %
|
|
82
|
-
campaign[:added_ad_extensions].pretty_inspect.chomp
|
|
83
|
-
puts "\tAdded campaign criteria: '%s'" %
|
|
84
|
-
campaign[:added_campaign_criteria].pretty_inspect.chomp
|
|
85
|
-
puts "\tAdded campaign targeting: '%s'" %
|
|
86
|
-
campaign[:campaign_targeting_changed].pretty_inspect.chomp
|
|
87
|
-
puts "\tDeleted ad extensions: '%s'" %
|
|
88
|
-
campaign[:deleted_ad_extensions].pretty_inspect.chomp
|
|
89
|
-
puts "\tDeleted campaign criteria: '%s'" %
|
|
90
|
-
campaign[:deleted_campaign_criteria].pretty_inspect.chomp
|
|
91
|
-
|
|
92
|
-
if campaign[:changed_ad_groups]
|
|
93
|
-
campaign[:changed_ad_groups].each do |ad_group|
|
|
94
|
-
puts "\tAd group with ID %d was changed:" % ad_group[:ad_group_id]
|
|
95
|
-
puts "\t\tAd group changed status: '%s'" %
|
|
96
|
-
ad_group[:ad_group_change_status]
|
|
97
|
-
unless ['NEW', 'FIELDS_UNCHANGED'].include?(
|
|
98
|
-
ad_group[:ad_group_change_status])
|
|
99
|
-
puts "\t\tAds changed: '%s'" %
|
|
100
|
-
ad_group[:changed_ads].pretty_inspect.chomp
|
|
101
|
-
puts "\t\tCriteria changed: '%s'" %
|
|
102
|
-
ad_group[:changed_criteria].pretty_inspect.chomp
|
|
103
|
-
puts "\t\tCriteria deleted: '%s'" %
|
|
104
|
-
ad_group[:deleted_criteria].pretty_inspect.chomp
|
|
105
|
-
end
|
|
106
|
-
end
|
|
107
|
-
end
|
|
108
|
-
end
|
|
109
|
-
puts
|
|
110
|
-
end
|
|
111
|
-
else
|
|
112
|
-
puts 'No account changes were found.'
|
|
113
|
-
end
|
|
114
|
-
end
|
|
115
|
-
|
|
116
|
-
if __FILE__ == $0
|
|
117
|
-
API_VERSION = :v201109_1
|
|
118
|
-
|
|
119
|
-
begin
|
|
120
|
-
get_account_changes()
|
|
121
|
-
|
|
122
|
-
# HTTP errors.
|
|
123
|
-
rescue AdsCommon::Errors::HttpError => e
|
|
124
|
-
puts "HTTP Error: %s" % e
|
|
125
|
-
|
|
126
|
-
# API errors.
|
|
127
|
-
rescue AdwordsApi::Errors::ApiException => e
|
|
128
|
-
puts "Message: %s" % e.message
|
|
129
|
-
puts 'Errors:'
|
|
130
|
-
e.errors.each_with_index do |error, index|
|
|
131
|
-
puts "\tError [%d]:" % (index + 1)
|
|
132
|
-
error.each do |field, value|
|
|
133
|
-
puts "\t\t%s: %s" % [field, value]
|
|
134
|
-
end
|
|
135
|
-
end
|
|
136
|
-
end
|
|
137
|
-
end
|