google-adwords-api 0.4.0 → 0.4.1
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 +9 -0
- data/README +26 -10
- data/Rakefile +1 -1
- data/examples/v200909/add_ad_group.rb +2 -2
- data/examples/v200909/add_ads.rb +4 -4
- data/examples/v200909/add_campaign.rb +2 -2
- data/examples/v200909/check_campaigns.rb +4 -4
- data/examples/v201003/add_ad_group.rb +2 -2
- data/examples/v201003/add_ads.rb +6 -6
- data/examples/v201003/add_campaign.rb +2 -2
- data/examples/v201003/add_keywords_performance_report_definition.rb +2 -2
- data/examples/v201003/check_campaigns.rb +4 -4
- data/examples/v201008/add_ad_group.rb +2 -2
- data/examples/v201008/add_ads.rb +7 -7
- data/examples/v201008/add_campaign.rb +2 -2
- data/examples/v201008/add_experiment.rb +5 -5
- data/examples/v201008/add_keywords_performance_report_definition.rb +2 -2
- data/examples/v201008/add_user_list.rb +2 -2
- data/examples/v201008/check_campaigns.rb +4 -4
- data/examples/v201008/get_account_hierarchy.rb +8 -11
- data/examples/v201101/add_ad_group.rb +2 -2
- data/examples/v201101/add_ads.rb +6 -6
- data/examples/v201101/add_campaign.rb +2 -2
- data/examples/v201101/add_conversion.rb +4 -4
- data/examples/v201101/add_experiment.rb +5 -5
- data/examples/v201101/add_keywords_performance_report_definition.rb +2 -2
- data/examples/v201101/add_user_list.rb +3 -3
- data/examples/v201101/check_campaigns.rb +4 -4
- data/examples/v201101/get_account_hierarchy.rb +7 -9
- data/examples/v201109/add_ad_extension_override.rb +82 -0
- data/examples/v201109/add_ad_group.rb +89 -0
- data/examples/v201109/add_ad_group_criteria.rb +109 -0
- data/examples/v201109/add_ads.rb +174 -0
- data/examples/v201109/add_campaign.rb +99 -0
- data/examples/v201109/add_campaign_ad_extension.rb +121 -0
- data/examples/v201109/add_campaign_targeting_criteria.rb +102 -0
- data/examples/{v201101/add_mcc_report_definition.rb → v201109/add_conversion.rb} +26 -28
- data/examples/v201109/add_experiment.rb +153 -0
- data/examples/v201109/add_negative_campaign_criterion.rb +87 -0
- data/examples/v201109/add_user_list.rb +113 -0
- data/examples/v201109/check_campaigns.rb +123 -0
- data/examples/v201109/delete_ad.rb +85 -0
- data/examples/v201109/delete_ad_group.rb +77 -0
- data/examples/v201109/delete_ad_group_criterion.rb +86 -0
- data/examples/v201109/delete_bulk_mutate_job.rb +87 -0
- data/examples/v201109/delete_campaign.rb +78 -0
- data/examples/v201109/delete_experiment.rb +78 -0
- data/examples/v201109/delete_user_list.rb +78 -0
- data/examples/v201109/download_adhoc_report.rb +79 -0
- data/examples/v201109/download_report.rb +67 -0
- data/examples/v201109/get_account_hierarchy.rb +93 -0
- data/examples/v201109/get_ad_group_bid_landscape.rb +94 -0
- data/examples/v201109/get_all_account_changes.rb +137 -0
- data/examples/v201109/get_all_active_ad_group_criteria.rb +98 -0
- data/examples/v201109/get_all_ad_extension_overrides.rb +82 -0
- data/examples/v201109/get_all_ad_group_criteria.rb +90 -0
- data/examples/v201109/get_all_ad_groups.rb +85 -0
- data/examples/v201109/get_all_ad_params.rb +86 -0
- data/examples/v201109/get_all_ads.rb +90 -0
- data/examples/v201109/get_all_campaign_ad_extensions.rb +87 -0
- data/examples/v201109/get_all_campaign_targets.rb +74 -0
- data/examples/v201109/get_all_campaigns.rb +77 -0
- data/examples/v201109/get_all_carriers.rb +72 -0
- data/examples/v201109/get_all_conversions.rb +79 -0
- data/examples/v201109/get_all_disapproved_ads.rb +93 -0
- data/examples/v201109/get_all_experiments.rb +89 -0
- data/examples/v201109/get_all_images.rb +82 -0
- data/examples/v201109/get_all_languages.rb +73 -0
- data/examples/v201109/get_all_paused_campaigns.rb +83 -0
- data/examples/v201109/get_all_report_definitions.rb +75 -0
- data/examples/v201109/get_all_user_lists.rb +78 -0
- data/examples/v201109/get_all_videos.rb +78 -0
- data/examples/v201109/get_bulk_mutate_job.rb +97 -0
- data/examples/v201109/get_campaign_alerts.rb +95 -0
- data/examples/v201109/get_client_customer_id.rb +87 -0
- data/examples/v201109/get_conversion_optimizer_eligibility.rb +93 -0
- data/examples/v201109/get_criterion_bid_landscape.rb +93 -0
- data/examples/v201109/get_geo_location_info.rb +99 -0
- data/examples/v201109/get_keyword_opportunities.rb +95 -0
- data/examples/v201109/get_location_criteria.rb +103 -0
- data/examples/v201109/get_method_cost.rb +87 -0
- data/examples/v201109/get_operation_count.rb +79 -0
- data/examples/v201109/get_related_keywords.rb +108 -0
- data/examples/v201109/get_related_placements.rb +107 -0
- data/examples/v201109/get_report_fields.rb +72 -0
- data/examples/v201109/get_total_usage_units_per_month.rb +74 -0
- data/examples/v201109/get_traffic_estimates.rb +129 -0
- data/examples/v201109/get_unit_count.rb +81 -0
- data/examples/v201109/handle_partial_failures.rb +127 -0
- data/examples/v201109/handle_policy_violation_error.rb +138 -0
- data/examples/v201109/handle_second_factor.rb +87 -0
- data/examples/v201109/oauth_handling.rb +95 -0
- data/examples/v201109/perform_bulk_mutate_job.rb +212 -0
- data/examples/v201109/perform_mutate_job.rb +177 -0
- data/examples/v201109/promote_experiment.rb +79 -0
- data/examples/v201109/set_ad_params.rb +115 -0
- data/examples/v201109/update_ad.rb +86 -0
- data/examples/v201109/update_ad_group.rb +81 -0
- data/examples/v201109/update_ad_group_criterion.rb +99 -0
- data/examples/v201109/update_campaign.rb +84 -0
- data/examples/v201109/update_conversion.rb +87 -0
- data/examples/v201109/update_user_list.rb +82 -0
- data/examples/v201109/upload_image.rb +90 -0
- data/lib/adwords_api.rb +54 -50
- data/lib/adwords_api/api_config.rb +70 -14
- data/lib/adwords_api/credential_handler.rb +32 -13
- data/lib/adwords_api/errors.rb +12 -0
- data/lib/adwords_api/extensions.rb +8 -118
- data/lib/adwords_api/report_utils.rb +198 -0
- data/lib/adwords_api/utils.rb +5 -2
- data/lib/adwords_api/v13/account_service.rb +11 -11
- data/lib/adwords_api/v13/account_service_registry.rb +5 -3
- data/lib/adwords_api/v13/report_service.rb +15 -15
- data/lib/adwords_api/v13/report_service_registry.rb +5 -3
- data/lib/adwords_api/v200909/ad_extension_override_service.rb +5 -5
- data/lib/adwords_api/v200909/ad_extension_override_service_registry.rb +5 -3
- data/lib/adwords_api/v200909/ad_group_ad_service.rb +5 -5
- data/lib/adwords_api/v200909/ad_group_ad_service_registry.rb +5 -3
- data/lib/adwords_api/v200909/ad_group_criterion_service.rb +5 -5
- data/lib/adwords_api/v200909/ad_group_criterion_service_registry.rb +5 -3
- data/lib/adwords_api/v200909/ad_group_service.rb +5 -5
- data/lib/adwords_api/v200909/ad_group_service_registry.rb +5 -3
- data/lib/adwords_api/v200909/ad_param_service.rb +5 -5
- data/lib/adwords_api/v200909/ad_param_service_registry.rb +5 -3
- data/lib/adwords_api/v200909/bulk_mutate_job_service.rb +5 -5
- data/lib/adwords_api/v200909/bulk_mutate_job_service_registry.rb +5 -3
- data/lib/adwords_api/v200909/campaign_ad_extension_service.rb +5 -5
- data/lib/adwords_api/v200909/campaign_ad_extension_service_registry.rb +5 -3
- data/lib/adwords_api/v200909/campaign_criterion_service.rb +5 -5
- data/lib/adwords_api/v200909/campaign_criterion_service_registry.rb +5 -3
- data/lib/adwords_api/v200909/campaign_service.rb +5 -5
- data/lib/adwords_api/v200909/campaign_service_registry.rb +5 -3
- data/lib/adwords_api/v200909/campaign_target_service.rb +5 -5
- data/lib/adwords_api/v200909/campaign_target_service_registry.rb +5 -3
- data/lib/adwords_api/v200909/geo_location_service.rb +3 -3
- data/lib/adwords_api/v200909/geo_location_service_registry.rb +5 -3
- data/lib/adwords_api/v200909/info_service.rb +3 -3
- data/lib/adwords_api/v200909/info_service_registry.rb +5 -3
- data/lib/adwords_api/v200909/targeting_idea_service.rb +5 -5
- data/lib/adwords_api/v200909/targeting_idea_service_registry.rb +5 -3
- data/lib/adwords_api/v201003/ad_extension_override_service.rb +5 -5
- data/lib/adwords_api/v201003/ad_extension_override_service_registry.rb +5 -3
- data/lib/adwords_api/v201003/ad_group_ad_service.rb +5 -5
- data/lib/adwords_api/v201003/ad_group_ad_service_registry.rb +5 -3
- data/lib/adwords_api/v201003/ad_group_criterion_service.rb +5 -5
- data/lib/adwords_api/v201003/ad_group_criterion_service_registry.rb +5 -3
- data/lib/adwords_api/v201003/ad_group_service.rb +5 -5
- data/lib/adwords_api/v201003/ad_group_service_registry.rb +5 -3
- data/lib/adwords_api/v201003/ad_param_service.rb +5 -5
- data/lib/adwords_api/v201003/ad_param_service_registry.rb +5 -3
- data/lib/adwords_api/v201003/bid_landscape_service.rb +3 -3
- data/lib/adwords_api/v201003/bid_landscape_service_registry.rb +5 -3
- data/lib/adwords_api/v201003/bulk_mutate_job_service.rb +5 -5
- data/lib/adwords_api/v201003/bulk_mutate_job_service_registry.rb +5 -3
- data/lib/adwords_api/v201003/campaign_ad_extension_service.rb +5 -5
- data/lib/adwords_api/v201003/campaign_ad_extension_service_registry.rb +5 -3
- data/lib/adwords_api/v201003/campaign_criterion_service.rb +5 -5
- data/lib/adwords_api/v201003/campaign_criterion_service_registry.rb +5 -3
- data/lib/adwords_api/v201003/campaign_service.rb +5 -5
- data/lib/adwords_api/v201003/campaign_service_registry.rb +5 -3
- data/lib/adwords_api/v201003/campaign_target_service.rb +5 -5
- data/lib/adwords_api/v201003/campaign_target_service_registry.rb +5 -3
- data/lib/adwords_api/v201003/geo_location_service.rb +3 -3
- data/lib/adwords_api/v201003/geo_location_service_registry.rb +5 -3
- data/lib/adwords_api/v201003/info_service.rb +3 -3
- data/lib/adwords_api/v201003/info_service_registry.rb +5 -3
- data/lib/adwords_api/v201003/media_service.rb +5 -5
- data/lib/adwords_api/v201003/media_service_registry.rb +5 -3
- data/lib/adwords_api/v201003/report_definition_service.rb +7 -7
- data/lib/adwords_api/v201003/report_definition_service_registry.rb +5 -3
- data/lib/adwords_api/v201003/targeting_idea_service.rb +5 -5
- data/lib/adwords_api/v201003/targeting_idea_service_registry.rb +5 -3
- data/lib/adwords_api/v201008/ad_extension_override_service.rb +5 -5
- data/lib/adwords_api/v201008/ad_extension_override_service_registry.rb +5 -3
- data/lib/adwords_api/v201008/ad_group_ad_service.rb +5 -5
- data/lib/adwords_api/v201008/ad_group_ad_service_registry.rb +5 -3
- data/lib/adwords_api/v201008/ad_group_criterion_service.rb +5 -5
- data/lib/adwords_api/v201008/ad_group_criterion_service_registry.rb +5 -3
- data/lib/adwords_api/v201008/ad_group_service.rb +5 -5
- data/lib/adwords_api/v201008/ad_group_service_registry.rb +5 -3
- data/lib/adwords_api/v201008/ad_param_service.rb +5 -5
- data/lib/adwords_api/v201008/ad_param_service_registry.rb +5 -3
- data/lib/adwords_api/v201008/alert_service.rb +3 -3
- data/lib/adwords_api/v201008/alert_service_registry.rb +5 -3
- data/lib/adwords_api/v201008/bid_landscape_service.rb +3 -3
- data/lib/adwords_api/v201008/bid_landscape_service_registry.rb +5 -3
- data/lib/adwords_api/v201008/bulk_mutate_job_service.rb +5 -5
- data/lib/adwords_api/v201008/bulk_mutate_job_service_registry.rb +5 -3
- data/lib/adwords_api/v201008/campaign_ad_extension_service.rb +5 -5
- data/lib/adwords_api/v201008/campaign_ad_extension_service_registry.rb +5 -3
- data/lib/adwords_api/v201008/campaign_criterion_service.rb +5 -5
- data/lib/adwords_api/v201008/campaign_criterion_service_registry.rb +5 -3
- data/lib/adwords_api/v201008/campaign_service.rb +5 -5
- data/lib/adwords_api/v201008/campaign_service_registry.rb +5 -3
- data/lib/adwords_api/v201008/campaign_target_service.rb +5 -5
- data/lib/adwords_api/v201008/campaign_target_service_registry.rb +5 -3
- data/lib/adwords_api/v201008/customer_sync_service.rb +3 -3
- data/lib/adwords_api/v201008/customer_sync_service_registry.rb +5 -3
- data/lib/adwords_api/v201008/experiment_service.rb +5 -5
- data/lib/adwords_api/v201008/experiment_service_registry.rb +5 -3
- data/lib/adwords_api/v201008/geo_location_service.rb +3 -3
- data/lib/adwords_api/v201008/geo_location_service_registry.rb +5 -3
- data/lib/adwords_api/v201008/info_service.rb +3 -3
- data/lib/adwords_api/v201008/info_service_registry.rb +5 -3
- data/lib/adwords_api/v201008/media_service.rb +5 -5
- data/lib/adwords_api/v201008/media_service_registry.rb +5 -3
- data/lib/adwords_api/v201008/report_definition_service.rb +7 -7
- data/lib/adwords_api/v201008/report_definition_service_registry.rb +5 -3
- data/lib/adwords_api/v201008/serviced_account_service.rb +3 -3
- data/lib/adwords_api/v201008/serviced_account_service_registry.rb +5 -3
- data/lib/adwords_api/v201008/targeting_idea_service.rb +5 -5
- data/lib/adwords_api/v201008/targeting_idea_service_registry.rb +5 -3
- data/lib/adwords_api/v201008/traffic_estimator_service.rb +3 -3
- data/lib/adwords_api/v201008/traffic_estimator_service_registry.rb +5 -3
- data/lib/adwords_api/v201008/user_list_service.rb +5 -5
- data/lib/adwords_api/v201008/user_list_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/ad_extension_override_service.rb +5 -5
- data/lib/adwords_api/v201101/ad_extension_override_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/ad_group_ad_service.rb +5 -5
- data/lib/adwords_api/v201101/ad_group_ad_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/ad_group_criterion_service.rb +5 -5
- data/lib/adwords_api/v201101/ad_group_criterion_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/ad_group_service.rb +5 -5
- data/lib/adwords_api/v201101/ad_group_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/ad_param_service.rb +5 -5
- data/lib/adwords_api/v201101/ad_param_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/alert_service.rb +3 -3
- data/lib/adwords_api/v201101/alert_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/bulk_mutate_job_service.rb +5 -5
- data/lib/adwords_api/v201101/bulk_mutate_job_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/bulk_opportunity_service.rb +3 -3
- data/lib/adwords_api/v201101/bulk_opportunity_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/campaign_ad_extension_service.rb +5 -5
- data/lib/adwords_api/v201101/campaign_ad_extension_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/campaign_criterion_service.rb +5 -5
- data/lib/adwords_api/v201101/campaign_criterion_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/campaign_service.rb +5 -5
- data/lib/adwords_api/v201101/campaign_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/campaign_target_service.rb +5 -5
- data/lib/adwords_api/v201101/campaign_target_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/conversion_tracker_service.rb +5 -5
- data/lib/adwords_api/v201101/conversion_tracker_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/customer_sync_service.rb +3 -3
- data/lib/adwords_api/v201101/customer_sync_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/data_service.rb +5 -5
- data/lib/adwords_api/v201101/data_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/experiment_service.rb +5 -5
- data/lib/adwords_api/v201101/experiment_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/geo_location_service.rb +3 -3
- data/lib/adwords_api/v201101/geo_location_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/info_service.rb +3 -3
- data/lib/adwords_api/v201101/info_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/media_service.rb +5 -5
- data/lib/adwords_api/v201101/media_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/report_definition_service.rb +7 -15
- data/lib/adwords_api/v201101/report_definition_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/serviced_account_service.rb +3 -3
- data/lib/adwords_api/v201101/serviced_account_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/targeting_idea_service.rb +5 -5
- data/lib/adwords_api/v201101/targeting_idea_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/traffic_estimator_service.rb +3 -3
- data/lib/adwords_api/v201101/traffic_estimator_service_registry.rb +5 -3
- data/lib/adwords_api/v201101/user_list_service.rb +5 -5
- data/lib/adwords_api/v201101/user_list_service_registry.rb +5 -3
- data/lib/adwords_api/v201109/ad_extension_override_service.rb +36 -0
- data/lib/adwords_api/v201109/ad_extension_override_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/ad_group_ad_service.rb +36 -0
- data/lib/adwords_api/v201109/ad_group_ad_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/ad_group_criterion_service.rb +36 -0
- data/lib/adwords_api/v201109/ad_group_criterion_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/ad_group_service.rb +36 -0
- data/lib/adwords_api/v201109/ad_group_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/ad_param_service.rb +36 -0
- data/lib/adwords_api/v201109/ad_param_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/alert_service.rb +32 -0
- data/lib/adwords_api/v201109/alert_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/bulk_mutate_job_service.rb +36 -0
- data/lib/adwords_api/v201109/bulk_mutate_job_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/bulk_opportunity_service.rb +32 -0
- data/lib/adwords_api/v201109/bulk_opportunity_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/campaign_ad_extension_service.rb +36 -0
- data/lib/adwords_api/v201109/campaign_ad_extension_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/campaign_criterion_service.rb +36 -0
- data/lib/adwords_api/v201109/campaign_criterion_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/campaign_service.rb +36 -0
- data/lib/adwords_api/v201109/campaign_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/campaign_target_service.rb +36 -0
- data/lib/adwords_api/v201109/campaign_target_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/constant_data_service.rb +36 -0
- data/lib/adwords_api/v201109/constant_data_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/conversion_tracker_service.rb +36 -0
- data/lib/adwords_api/v201109/conversion_tracker_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/customer_sync_service.rb +32 -0
- data/lib/adwords_api/v201109/customer_sync_service_registry.rb +45 -0
- data/lib/adwords_api/v201109/data_service.rb +36 -0
- data/lib/adwords_api/v201109/data_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/experiment_service.rb +36 -0
- data/lib/adwords_api/v201109/experiment_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/geo_location_service.rb +32 -0
- data/lib/adwords_api/v201109/geo_location_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/info_service.rb +32 -0
- data/lib/adwords_api/v201109/info_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/location_criterion_service.rb +32 -0
- data/lib/adwords_api/v201109/location_criterion_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/media_service.rb +36 -0
- data/lib/adwords_api/v201109/media_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/mutate_job_service.rb +40 -0
- data/lib/adwords_api/v201109/mutate_job_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/report_definition_service.rb +45 -0
- data/lib/adwords_api/v201109/report_definition_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/serviced_account_service.rb +32 -0
- data/lib/adwords_api/v201109/serviced_account_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/targeting_idea_service.rb +36 -0
- data/lib/adwords_api/v201109/targeting_idea_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/traffic_estimator_service.rb +32 -0
- data/lib/adwords_api/v201109/traffic_estimator_service_registry.rb +44 -0
- data/lib/adwords_api/v201109/user_list_service.rb +36 -0
- data/lib/adwords_api/v201109/user_list_service_registry.rb +44 -0
- data/test/bugs/test_issue_00000031.rb +78 -0
- metadata +467 -342
- data/examples/v201101/download_mcc_report.rb +0 -113
- data/examples/v201101/download_mcc_report_as_file.rb +0 -114
- data/lib/adwords_api/v13/traffic_estimator_service.rb +0 -44
- data/lib/adwords_api/v13/traffic_estimator_service_registry.rb +0 -39
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
#
|
|
3
|
+
# Author:: api.sgomes@gmail.com (Sérgio Gomes)
|
|
4
|
+
#
|
|
5
|
+
# Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
|
|
6
|
+
#
|
|
7
|
+
# License:: Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
# you may not use this file except in compliance with the License.
|
|
9
|
+
# You may obtain a copy of the License at
|
|
10
|
+
#
|
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
#
|
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
16
|
+
# implied.
|
|
17
|
+
# See the License for the specific language governing permissions and
|
|
18
|
+
# limitations under the License.
|
|
19
|
+
#
|
|
20
|
+
# This example illustrates how to retrieve all the paused campaigns for an
|
|
21
|
+
# account.
|
|
22
|
+
#
|
|
23
|
+
# Tags: CampaignService.get
|
|
24
|
+
|
|
25
|
+
require 'rubygems'
|
|
26
|
+
require 'adwords_api'
|
|
27
|
+
|
|
28
|
+
API_VERSION = :v201109
|
|
29
|
+
|
|
30
|
+
def get_all_paused_campaigns()
|
|
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 paused campaigns for this account.
|
|
42
|
+
selector = {
|
|
43
|
+
:fields => ['Id', 'Name', 'Status'],
|
|
44
|
+
:ordering => [{:field => 'Name', :sort_order => 'ASCENDING'}],
|
|
45
|
+
:predicates => [{
|
|
46
|
+
:field => 'Status',
|
|
47
|
+
:operator => 'IN',
|
|
48
|
+
:values => ['PAUSED']
|
|
49
|
+
}]
|
|
50
|
+
}
|
|
51
|
+
response = campaign_srv.get(selector)
|
|
52
|
+
|
|
53
|
+
if response and response[:entries]
|
|
54
|
+
campaigns = response[:entries]
|
|
55
|
+
campaigns.each do |campaign|
|
|
56
|
+
puts "Campaign name is \"#{campaign[:name]}\", id is #{campaign[:id]} " +
|
|
57
|
+
"and status is \"#{campaign[:status]}\"."
|
|
58
|
+
end
|
|
59
|
+
else
|
|
60
|
+
puts "No campaigns were found."
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
if __FILE__ == $0
|
|
65
|
+
begin
|
|
66
|
+
get_all_paused_campaigns()
|
|
67
|
+
|
|
68
|
+
# HTTP errors.
|
|
69
|
+
rescue AdsCommon::Errors::HttpError => e
|
|
70
|
+
puts "HTTP Error: %s" % e
|
|
71
|
+
|
|
72
|
+
# API errors.
|
|
73
|
+
rescue AdwordsApi::Errors::ApiException => e
|
|
74
|
+
puts "Message: %s" % e.message
|
|
75
|
+
puts 'Errors:'
|
|
76
|
+
e.errors.each_with_index do |error, index|
|
|
77
|
+
puts "\tError [%d]:" % (index + 1)
|
|
78
|
+
error.each do |field, value|
|
|
79
|
+
puts "\t\t%s: %s" % [field, value]
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
#
|
|
3
|
+
# Author:: api.sgomes@gmail.com (Sérgio Gomes)
|
|
4
|
+
#
|
|
5
|
+
# Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
|
|
6
|
+
#
|
|
7
|
+
# License:: Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
# you may not use this file except in compliance with the License.
|
|
9
|
+
# You may obtain a copy of the License at
|
|
10
|
+
#
|
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
#
|
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
16
|
+
# implied.
|
|
17
|
+
# See the License for the specific language governing permissions and
|
|
18
|
+
# limitations under the License.
|
|
19
|
+
#
|
|
20
|
+
# This example gets all report definitions. To add a report definition, run
|
|
21
|
+
# add_keywords_performance_report.rb.
|
|
22
|
+
#
|
|
23
|
+
# Tags: ReportDefinitionService.get
|
|
24
|
+
|
|
25
|
+
require 'rubygems'
|
|
26
|
+
require 'adwords_api'
|
|
27
|
+
|
|
28
|
+
API_VERSION = :v201109
|
|
29
|
+
|
|
30
|
+
def get_all_report_definitions()
|
|
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
|
+
report_def_srv = adwords.service(:ReportDefinitionService, API_VERSION)
|
|
40
|
+
|
|
41
|
+
# Get all the report definitions.
|
|
42
|
+
selector = {}
|
|
43
|
+
response = report_def_srv.get(selector)
|
|
44
|
+
if response and response[:entries]
|
|
45
|
+
entries = response[:entries]
|
|
46
|
+
puts "#{entries.length} report definition(s) found."
|
|
47
|
+
entries.each do |entry|
|
|
48
|
+
puts " Report definition id is #{entry[:id]} and name is " +
|
|
49
|
+
"\"#{entry[:report_name]}\"."
|
|
50
|
+
end
|
|
51
|
+
else
|
|
52
|
+
puts "No report definitions found."
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
if __FILE__ == $0
|
|
57
|
+
begin
|
|
58
|
+
get_all_report_definitions()
|
|
59
|
+
|
|
60
|
+
# HTTP errors.
|
|
61
|
+
rescue AdsCommon::Errors::HttpError => e
|
|
62
|
+
puts "HTTP Error: %s" % e
|
|
63
|
+
|
|
64
|
+
# API errors.
|
|
65
|
+
rescue AdwordsApi::Errors::ApiException => e
|
|
66
|
+
puts "Message: %s" % e.message
|
|
67
|
+
puts 'Errors:'
|
|
68
|
+
e.errors.each_with_index do |error, index|
|
|
69
|
+
puts "\tError [%d]:" % (index + 1)
|
|
70
|
+
error.each do |field, value|
|
|
71
|
+
puts "\t\t%s: %s" % [field, value]
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
#
|
|
3
|
+
# Author:: api.sgomes@gmail.com (Sérgio Gomes)
|
|
4
|
+
#
|
|
5
|
+
# Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
|
|
6
|
+
#
|
|
7
|
+
# License:: Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
# you may not use this file except in compliance with the License.
|
|
9
|
+
# You may obtain a copy of the License at
|
|
10
|
+
#
|
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
#
|
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
16
|
+
# implied.
|
|
17
|
+
# See the License for the specific language governing permissions and
|
|
18
|
+
# limitations under the License.
|
|
19
|
+
#
|
|
20
|
+
# This example illustrates how to retrieve all the user lists for an account.
|
|
21
|
+
#
|
|
22
|
+
# Tags: UserListService.get
|
|
23
|
+
|
|
24
|
+
require 'rubygems'
|
|
25
|
+
require 'adwords_api'
|
|
26
|
+
|
|
27
|
+
API_VERSION = :v201109
|
|
28
|
+
|
|
29
|
+
def get_all_user_lists()
|
|
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
|
+
user_list_srv = adwords.service(:UserListService, API_VERSION)
|
|
39
|
+
|
|
40
|
+
# Get all the user lists for this account.
|
|
41
|
+
selector = {
|
|
42
|
+
:fields => ['Id', 'Name', 'Status', 'Size'],
|
|
43
|
+
:ordering => [{:field => 'Name', :sort_order => 'ASCENDING'}]
|
|
44
|
+
}
|
|
45
|
+
response = user_list_srv.get(selector)
|
|
46
|
+
|
|
47
|
+
if response and response[:entries]
|
|
48
|
+
user_lists = response[:entries]
|
|
49
|
+
user_lists.each do |user_list|
|
|
50
|
+
puts "User list name is \"#{user_list[:name]}\", id is " +
|
|
51
|
+
"#{user_list[:id]}, status is \"#{user_list[:status]}\" and number " +
|
|
52
|
+
"of users is #{user_list[:size]}."
|
|
53
|
+
end
|
|
54
|
+
else
|
|
55
|
+
puts "No user lists were found."
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
if __FILE__ == $0
|
|
60
|
+
begin
|
|
61
|
+
get_all_user_lists()
|
|
62
|
+
|
|
63
|
+
# HTTP errors.
|
|
64
|
+
rescue AdsCommon::Errors::HttpError => e
|
|
65
|
+
puts "HTTP Error: %s" % e
|
|
66
|
+
|
|
67
|
+
# API errors.
|
|
68
|
+
rescue AdwordsApi::Errors::ApiException => e
|
|
69
|
+
puts "Message: %s" % e.message
|
|
70
|
+
puts 'Errors:'
|
|
71
|
+
e.errors.each_with_index do |error, index|
|
|
72
|
+
puts "\tError [%d]:" % (index + 1)
|
|
73
|
+
error.each do |field, value|
|
|
74
|
+
puts "\t\t%s: %s" % [field, value]
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
#
|
|
3
|
+
# Author:: api.sgomes@gmail.com (Sérgio Gomes)
|
|
4
|
+
#
|
|
5
|
+
# Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
|
|
6
|
+
#
|
|
7
|
+
# License:: Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
# you may not use this file except in compliance with the License.
|
|
9
|
+
# You may obtain a copy of the License at
|
|
10
|
+
#
|
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
#
|
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
16
|
+
# implied.
|
|
17
|
+
# See the License for the specific language governing permissions and
|
|
18
|
+
# limitations under the License.
|
|
19
|
+
#
|
|
20
|
+
# This example illustrates how to retrieve all videos. To upload video, see
|
|
21
|
+
# http://adwords.google.com/support/aw/bin/answer.py?hl=en&answer=39454
|
|
22
|
+
#
|
|
23
|
+
# Tags: MediaService.get
|
|
24
|
+
|
|
25
|
+
require 'rubygems'
|
|
26
|
+
require 'adwords_api'
|
|
27
|
+
|
|
28
|
+
API_VERSION = :v201109
|
|
29
|
+
|
|
30
|
+
def get_all_videos()
|
|
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
|
+
media_srv = adwords.service(:MediaService, API_VERSION)
|
|
40
|
+
|
|
41
|
+
# Get all the videos.
|
|
42
|
+
selector = {
|
|
43
|
+
:fields => ['MediaId', 'Name'],
|
|
44
|
+
:ordering => [{:field => 'MediaId', :sort_order => 'ASCENDING'}],
|
|
45
|
+
:predicates => [{:field => 'Type', :operator => 'IN', :values => ['VIDEO']}]
|
|
46
|
+
}
|
|
47
|
+
response = media_srv.get(selector)
|
|
48
|
+
if response and response[:entries]
|
|
49
|
+
videos = response[:entries]
|
|
50
|
+
puts "#{videos.length} video(s) found."
|
|
51
|
+
videos.each do |video|
|
|
52
|
+
puts " Video id is #{video[:media_id]} and name is \"#{video[:name]}\"."
|
|
53
|
+
end
|
|
54
|
+
else
|
|
55
|
+
puts "No videos found."
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
if __FILE__ == $0
|
|
60
|
+
begin
|
|
61
|
+
get_all_videos()
|
|
62
|
+
|
|
63
|
+
# HTTP errors.
|
|
64
|
+
rescue AdsCommon::Errors::HttpError => e
|
|
65
|
+
puts "HTTP Error: %s" % e
|
|
66
|
+
|
|
67
|
+
# API errors.
|
|
68
|
+
rescue AdwordsApi::Errors::ApiException => e
|
|
69
|
+
puts "Message: %s" % e.message
|
|
70
|
+
puts 'Errors:'
|
|
71
|
+
e.errors.each_with_index do |error, index|
|
|
72
|
+
puts "\tError [%d]:" % (index + 1)
|
|
73
|
+
error.each do |field, value|
|
|
74
|
+
puts "\t\t%s: %s" % [field, value]
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
#
|
|
3
|
+
# Author:: api.sgomes@gmail.com (Sérgio Gomes)
|
|
4
|
+
#
|
|
5
|
+
# Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
|
|
6
|
+
#
|
|
7
|
+
# License:: Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
# you may not use this file except in compliance with the License.
|
|
9
|
+
# You may obtain a copy of the License at
|
|
10
|
+
#
|
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
#
|
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
16
|
+
# implied.
|
|
17
|
+
# See the License for the specific language governing permissions and
|
|
18
|
+
# limitations under the License.
|
|
19
|
+
#
|
|
20
|
+
# This example gets a bulk mutate job and prints out its stats information.
|
|
21
|
+
# To add a bulk mutate job, run perform_bulk_mutate_job.rb.
|
|
22
|
+
#
|
|
23
|
+
# Tags: BulkMutateJobService.get
|
|
24
|
+
|
|
25
|
+
require 'rubygems'
|
|
26
|
+
require 'adwords_api'
|
|
27
|
+
|
|
28
|
+
API_VERSION = :v201109
|
|
29
|
+
|
|
30
|
+
def get_all_bulk_mutate_jobs()
|
|
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
|
+
bulk_mutate_job_srv = adwords.service(:BulkMutateJobService, API_VERSION)
|
|
40
|
+
|
|
41
|
+
# Replace with valid values of your account.
|
|
42
|
+
bulk_mutate_job_id = "INSERT_BULK_MUTATE_JOB_ID_HERE"
|
|
43
|
+
|
|
44
|
+
# Get all the bulk mutate jobs.
|
|
45
|
+
selector = {
|
|
46
|
+
:include_stats => true,
|
|
47
|
+
:job_ids => [bulk_mutate_job_id]
|
|
48
|
+
}
|
|
49
|
+
jobs = bulk_mutate_job_srv.get(selector)
|
|
50
|
+
|
|
51
|
+
if jobs
|
|
52
|
+
jobs.each do |job|
|
|
53
|
+
puts "Bulk mutate job with id %d and status '%s' was found." %
|
|
54
|
+
[job[:id], job[:status]]
|
|
55
|
+
|
|
56
|
+
case job[:status]
|
|
57
|
+
when 'PENDING'
|
|
58
|
+
puts " Total parts: %d, parts received: %d." %
|
|
59
|
+
[job[:num_request_parts], job[:num_request_parts_received]]
|
|
60
|
+
when 'PROCESSING'
|
|
61
|
+
if job[:stats]
|
|
62
|
+
puts " Percent complete: %d." % job[:stats][:progress_percent]
|
|
63
|
+
end
|
|
64
|
+
when 'COMPLETED'
|
|
65
|
+
if job[:stats]
|
|
66
|
+
puts " Total operations: %d, failed: %d, unprocessed %d." %
|
|
67
|
+
[job[:stats][:num_operations],
|
|
68
|
+
job[:stats][:num_failed_operations],
|
|
69
|
+
job[:stats][:num_unprocessed_operations]]
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
else
|
|
74
|
+
puts "No bulk mutate jobs were found."
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
if __FILE__ == $0
|
|
79
|
+
begin
|
|
80
|
+
get_all_bulk_mutate_jobs()
|
|
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
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
#
|
|
3
|
+
# Author:: api.sgomes@gmail.com (Sérgio Gomes)
|
|
4
|
+
#
|
|
5
|
+
# Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
|
|
6
|
+
#
|
|
7
|
+
# License:: Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
# you may not use this file except in compliance with the License.
|
|
9
|
+
# You may obtain a copy of the License at
|
|
10
|
+
#
|
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
#
|
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
16
|
+
# implied.
|
|
17
|
+
# See the License for the specific language governing permissions and
|
|
18
|
+
# limitations under the License.
|
|
19
|
+
#
|
|
20
|
+
# This code example illustrates how to retrieve campaign alerts for a user.
|
|
21
|
+
# The alerts are restricted to a maximum of 10 entries.
|
|
22
|
+
#
|
|
23
|
+
# Tags: AlertService.get
|
|
24
|
+
|
|
25
|
+
require 'rubygems'
|
|
26
|
+
require 'adwords_api'
|
|
27
|
+
require 'adwords_api/utils'
|
|
28
|
+
|
|
29
|
+
API_VERSION = :v201109
|
|
30
|
+
|
|
31
|
+
def get_campaign_alerts()
|
|
32
|
+
# AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
|
|
33
|
+
# when called without parameters.
|
|
34
|
+
adwords = AdwordsApi::Api.new
|
|
35
|
+
|
|
36
|
+
# To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
|
|
37
|
+
# the configuration file or provide your own logger:
|
|
38
|
+
# adwords.logger = Logger.new('adwords_xml.log')
|
|
39
|
+
|
|
40
|
+
alert_srv = adwords.service(:AlertService, API_VERSION)
|
|
41
|
+
|
|
42
|
+
# Create the selector.
|
|
43
|
+
selector = {
|
|
44
|
+
:query => {
|
|
45
|
+
:filter_spec => 'ALL',
|
|
46
|
+
:client_spec => 'ALL',
|
|
47
|
+
:trigger_time_spec => 'ALL_TIME',
|
|
48
|
+
:severities => ['GREEN', 'YELLOW', 'RED'],
|
|
49
|
+
:types => ['CAMPAIGN_ENDING', 'CAMPAIGN_ENDED']
|
|
50
|
+
},
|
|
51
|
+
:paging => {
|
|
52
|
+
:start_index => 0,
|
|
53
|
+
:number_results => 10
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
# Get alerts.
|
|
58
|
+
response = alert_srv.get(selector)
|
|
59
|
+
|
|
60
|
+
if response and response[:entries]
|
|
61
|
+
alerts = response[:entries]
|
|
62
|
+
alerts.each_with_index do |alert, index|
|
|
63
|
+
puts "{index}) Customer Id is " +
|
|
64
|
+
"#{AdwordsApi::Utils.format_id(alert[:client_customer_id])}, " +
|
|
65
|
+
"alert type is '#{alert[:alert_type]}', severity is " +
|
|
66
|
+
"#{alert[:alert_severity]}."
|
|
67
|
+
alert[:details].each do |detail|
|
|
68
|
+
puts " - triggered at #{detail[:trigger_time]}"
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
else
|
|
72
|
+
puts "No alerts were found."
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
if __FILE__ == $0
|
|
77
|
+
begin
|
|
78
|
+
get_campaign_alerts()
|
|
79
|
+
|
|
80
|
+
# HTTP errors.
|
|
81
|
+
rescue AdsCommon::Errors::HttpError => e
|
|
82
|
+
puts "HTTP Error: %s" % e
|
|
83
|
+
|
|
84
|
+
# API errors.
|
|
85
|
+
rescue AdwordsApi::Errors::ApiException => e
|
|
86
|
+
puts "Message: %s" % e.message
|
|
87
|
+
puts 'Errors:'
|
|
88
|
+
e.errors.each_with_index do |error, index|
|
|
89
|
+
puts "\tError [%d]:" % (index + 1)
|
|
90
|
+
error.each do |field, value|
|
|
91
|
+
puts "\t\t%s: %s" % [field, value]
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|