google-adwords-api 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
@@ -38,7 +38,7 @@ def add_user_list()
|
|
38
38
|
user_list_srv = adwords.service(:UserListService, API_VERSION)
|
39
39
|
|
40
40
|
# Prepare for adding remarketing user list.
|
41
|
-
name =
|
41
|
+
name = "Mars cruise customers #%d" % (Time.new.to_f * 1000).to_i
|
42
42
|
operation = {
|
43
43
|
:operator => 'ADD',
|
44
44
|
:operand => {
|
@@ -58,7 +58,7 @@ def add_user_list()
|
|
58
58
|
response = user_list_srv.mutate([operation])
|
59
59
|
if response and response[:value]
|
60
60
|
user_list = response[:value].first
|
61
|
-
puts
|
61
|
+
puts "User list with name '%s' and ID %d was added." %
|
62
62
|
[user_list[:name], user_list[:id]]
|
63
63
|
else
|
64
64
|
puts 'No user lists were added.'
|
@@ -45,7 +45,7 @@ def check_campaigns()
|
|
45
45
|
operation = {
|
46
46
|
:operator => 'ADD',
|
47
47
|
:operand => {
|
48
|
-
:name =>
|
48
|
+
:name => "Interplanetary Cruise #%d" % (Time.new.to_f * 1000).to_i,
|
49
49
|
:status => 'PAUSED',
|
50
50
|
:bidding_strategy => {
|
51
51
|
# The 'xsi_type' field allows you to specify the xsi:type of the object
|
@@ -68,8 +68,8 @@ def check_campaigns()
|
|
68
68
|
if response and response[:value]
|
69
69
|
campaigns = response[:value]
|
70
70
|
campaigns.each do |campaign|
|
71
|
-
puts "Unexpected campaign creation! Name
|
72
|
-
"#{campaign[:id]} and status is
|
71
|
+
puts "Unexpected campaign creation! Name '#{campaign[:name]}', ID " +
|
72
|
+
"#{campaign[:id]} and status is '#{campaign[:status]}'."
|
73
73
|
end
|
74
74
|
else
|
75
75
|
puts 'No campaigns created.'
|
@@ -80,7 +80,7 @@ def check_campaigns()
|
|
80
80
|
operation = {
|
81
81
|
:operator => 'ADD',
|
82
82
|
:operand => {
|
83
|
-
:name =>
|
83
|
+
:name => "Interplanetary Cruise #%d" % (Time.new.to_f * 1000).to_i,
|
84
84
|
:status => 'PAUSED',
|
85
85
|
:bidding_strategy => nil,
|
86
86
|
:budget => {
|
@@ -39,24 +39,21 @@ def get_account_hierarchy()
|
|
39
39
|
|
40
40
|
serviced_account_srv = adwords.service(:ServicedAccountService, API_VERSION)
|
41
41
|
|
42
|
-
#
|
43
|
-
selector = {
|
44
|
-
:service_types => ['UI_AND_API', 'API_ONLY'],
|
45
|
-
:enable_paging => false
|
46
|
-
}
|
42
|
+
# Create selector to get all accounts with no paging.
|
43
|
+
selector = {:enable_paging => false}
|
47
44
|
|
48
45
|
graph = nil
|
49
46
|
|
50
47
|
# Run with MCC account.
|
51
48
|
adwords.use_mcc do
|
49
|
+
# Get the account hierarchy for this account.
|
52
50
|
graph = serviced_account_srv.get(selector)
|
53
51
|
end
|
54
52
|
|
55
53
|
if graph
|
56
54
|
# Display the accounts.
|
57
55
|
account_number = graph[:accounts] ? graph[:accounts].size : 0
|
58
|
-
puts "There are %d customers under this account hierarchy." %
|
59
|
-
account_number
|
56
|
+
puts "There are %d customers under this account hierarchy." % account_number
|
60
57
|
if graph[:accounts]
|
61
58
|
graph[:accounts].each_with_index do |account, index|
|
62
59
|
puts "#{index + 1}) Customer id: " +
|
@@ -71,10 +68,10 @@ def get_account_hierarchy()
|
|
71
68
|
|
72
69
|
# Display the links.
|
73
70
|
graph[:links].each do |link|
|
74
|
-
puts "There is a
|
75
|
-
|
76
|
-
|
77
|
-
|
71
|
+
puts "There is a '%s' link from %s to %s" %
|
72
|
+
[link[:type_of_link],
|
73
|
+
AdwordsApi::Utils.format_id(link[:manager_id][:id]),
|
74
|
+
AdwordsApi::Utils.format_id(link[:client_id][:id])]
|
78
75
|
end
|
79
76
|
end
|
80
77
|
else
|
@@ -44,7 +44,7 @@ def add_ad_group()
|
|
44
44
|
operation = {
|
45
45
|
:operator => 'ADD',
|
46
46
|
:operand => {
|
47
|
-
:name =>
|
47
|
+
:name => "Earth to Mars Cruises #%d" % (Time.new.to_f * 1000).to_i,
|
48
48
|
:status => 'ENABLED',
|
49
49
|
:campaign_id => campaign_id,
|
50
50
|
:bids => {
|
@@ -64,7 +64,7 @@ def add_ad_group()
|
|
64
64
|
# Add ad group.
|
65
65
|
response = ad_group_srv.mutate([operation])
|
66
66
|
ad_group = response[:value].first
|
67
|
-
puts
|
67
|
+
puts "Ad group ID %d was successfully added." % ad_group[:id]
|
68
68
|
end
|
69
69
|
|
70
70
|
if __FILE__ == $0
|
data/examples/v201101/add_ads.rb
CHANGED
@@ -78,7 +78,7 @@ def add_ads()
|
|
78
78
|
:ad_group_id => ad_group_id,
|
79
79
|
:ad => {
|
80
80
|
:xsi_type => 'ImageAd',
|
81
|
-
:name =>
|
81
|
+
:name => "Cruise to mars image ad #%d" % (Time.new.to_f * 1000).to_i,
|
82
82
|
:url => 'http://www.example.com',
|
83
83
|
:display_url => 'www.example.com',
|
84
84
|
:image => {
|
@@ -92,7 +92,7 @@ def add_ads()
|
|
92
92
|
template_ad_operation = {
|
93
93
|
:operator => 'ADD',
|
94
94
|
:operand => {
|
95
|
-
:
|
95
|
+
:ad_group_id => ad_group_id,
|
96
96
|
:ad => {
|
97
97
|
:xsi_type => 'TemplateAd',
|
98
98
|
:template_id => 9,
|
@@ -100,7 +100,7 @@ def add_ads()
|
|
100
100
|
:width => 300,
|
101
101
|
:height => 250
|
102
102
|
},
|
103
|
-
:name =>
|
103
|
+
:name => "Mars cruise video ad #%d" % (Time.new.to_f * 1000).to_i,
|
104
104
|
:display_url => 'www.example.com',
|
105
105
|
:url => 'http://www.example.com',
|
106
106
|
:template_elements => [{
|
@@ -144,11 +144,11 @@ def add_ads()
|
|
144
144
|
ads = response[:value]
|
145
145
|
puts "Added #{ads.length} ad(s) to ad group #{ad_group_id}."
|
146
146
|
ads.each do |ad|
|
147
|
-
puts " Ad
|
148
|
-
"status is
|
147
|
+
puts " Ad ID is #{ad[:ad][:id]}, type is '#{ad[:ad][:xsi_type]}' and " +
|
148
|
+
"status is '#{ad[:status]}'."
|
149
149
|
end
|
150
150
|
else
|
151
|
-
puts
|
151
|
+
puts 'No ads were added.'
|
152
152
|
end
|
153
153
|
end
|
154
154
|
|
@@ -41,7 +41,7 @@ def add_campaign()
|
|
41
41
|
operation = {
|
42
42
|
:operator => 'ADD',
|
43
43
|
:operand => {
|
44
|
-
:name =>
|
44
|
+
:name => "Interplanetary Cruise #%d" % (Time.new.to_f * 1000).to_i,
|
45
45
|
:status => 'PAUSED',
|
46
46
|
:bidding_strategy => {
|
47
47
|
# The 'xsi_type' field allows you to specify the xsi:type of the object
|
@@ -70,7 +70,7 @@ def add_campaign()
|
|
70
70
|
response = campaign_srv.mutate([operation])
|
71
71
|
if response and response[:value]
|
72
72
|
campaign = response[:value].first
|
73
|
-
puts
|
73
|
+
puts "Campaign with name '%s' and ID %d was added." %
|
74
74
|
[campaign[:name], campaign[:id]]
|
75
75
|
else
|
76
76
|
puts 'No campaigns were added.'
|
@@ -45,7 +45,7 @@ def add_conversion()
|
|
45
45
|
# being created. It's only necessary when you must provide an explicit
|
46
46
|
# type that the client library can't infer.
|
47
47
|
:xsi_type => 'AdWordsConversionTracker',
|
48
|
-
:name =>
|
48
|
+
:name => "Earth to Mars Cruises Conversion #%d" %
|
49
49
|
(Time.new.to_f * 1000).to_i,
|
50
50
|
:category => 'DEFAULT',
|
51
51
|
:markup_language => 'HTML',
|
@@ -58,9 +58,9 @@ def add_conversion()
|
|
58
58
|
response = conv_tracker_srv.mutate([operation])
|
59
59
|
if response and response[:value]
|
60
60
|
conversion = response[:value].first
|
61
|
-
puts "Conversion with
|
62
|
-
"
|
63
|
-
" category
|
61
|
+
puts "Conversion with ID #{conversion[:id]}, name " +
|
62
|
+
"'#{conversion[:name]}', status '#{conversion[:status]}' and " +
|
63
|
+
" category '#{conversion[:category]}' was added."
|
64
64
|
else
|
65
65
|
puts 'No conversions were added.'
|
66
66
|
end
|
@@ -53,16 +53,16 @@ def add_experiment()
|
|
53
53
|
:operator => 'ADD',
|
54
54
|
:operand => {
|
55
55
|
:campaign_id => campaign_id,
|
56
|
-
:name =>
|
56
|
+
:name => "Interplanetary Experiment #%d" % (Time.new.to_f * 1000).to_i,
|
57
57
|
:query_percentage => 10,
|
58
|
-
:start_date_time => Time.now.strftime(
|
58
|
+
:start_date_time => Time.now.strftime('%Y%m%d %H%M%S')
|
59
59
|
}
|
60
60
|
}
|
61
61
|
|
62
62
|
# Add experiment.
|
63
63
|
response = experiment_srv.mutate([operation])
|
64
64
|
experiment = response[:value].first
|
65
|
-
puts
|
65
|
+
puts "Experiment with name '%s' and ID %d was added." %
|
66
66
|
[experiment[:name], experiment[:id]]
|
67
67
|
|
68
68
|
experiment_id = experiment[:id]
|
@@ -93,7 +93,7 @@ def add_experiment()
|
|
93
93
|
# Update ad group.
|
94
94
|
response = ad_group_srv.mutate([operation])
|
95
95
|
ad_group = response[:value].first
|
96
|
-
puts
|
96
|
+
puts "Ad group ID %d was updated for the experiment." % ad_group[:id]
|
97
97
|
|
98
98
|
# Setup ad group criterion for the experiment.
|
99
99
|
ad_group_criterion = {
|
@@ -126,7 +126,7 @@ def add_experiment()
|
|
126
126
|
# Update criterion.
|
127
127
|
response = ad_group_criterion_srv.mutate([operation])
|
128
128
|
criterion = response[:value].first
|
129
|
-
puts
|
129
|
+
puts "Criterion ID %d was successfully updated for the experiment." %
|
130
130
|
[criterion[:criterion][:id]]
|
131
131
|
|
132
132
|
end
|
@@ -59,7 +59,7 @@ def add_keywords_performance_report_definition()
|
|
59
59
|
:max => end_date
|
60
60
|
}
|
61
61
|
},
|
62
|
-
:report_name =>
|
62
|
+
:report_name => "Keywords performance report #%d" %
|
63
63
|
(Time.new.to_f * 1000).to_i,
|
64
64
|
:report_type => 'KEYWORDS_PERFORMANCE_REPORT',
|
65
65
|
:date_range_type => 'CUSTOM_DATE',
|
@@ -71,7 +71,7 @@ def add_keywords_performance_report_definition()
|
|
71
71
|
response = report_def_srv.mutate([operation])
|
72
72
|
if response
|
73
73
|
response.each do |report_definition|
|
74
|
-
puts
|
74
|
+
puts "Report definition with name '%s' and ID %d was added." %
|
75
75
|
[report_definition[:report_name], report_definition[:id]]
|
76
76
|
end
|
77
77
|
end
|
@@ -40,7 +40,7 @@ def add_user_list()
|
|
40
40
|
conv_tracker_srv = adwords.service(:ConversionTrackerService, API_VERSION)
|
41
41
|
|
42
42
|
# Prepare for adding remarketing user list.
|
43
|
-
name =
|
43
|
+
name = "Mars cruise customers #%d" % (Time.new.to_f * 1000).to_i
|
44
44
|
operation = {
|
45
45
|
:operator => 'ADD',
|
46
46
|
:operand => {
|
@@ -77,12 +77,12 @@ def add_user_list()
|
|
77
77
|
conversions = conv_tracker_response[:entries]
|
78
78
|
end
|
79
79
|
end
|
80
|
-
puts
|
80
|
+
puts "User list with name '%s' and ID %d was added." %
|
81
81
|
[user_list[:name], user_list[:id]]
|
82
82
|
# Display user list associated conversion code snippets.
|
83
83
|
if conversions
|
84
84
|
conversions.each do |conversion|
|
85
|
-
puts "Conversion type code snipped associated to the list:\n%s\n" %
|
85
|
+
puts "Conversion type code snipped associated to the list:\n\t\t%s\n" %
|
86
86
|
conversion[:snippet]
|
87
87
|
end
|
88
88
|
end
|
@@ -45,7 +45,7 @@ def check_campaigns()
|
|
45
45
|
operation = {
|
46
46
|
:operator => 'ADD',
|
47
47
|
:operand => {
|
48
|
-
:name =>
|
48
|
+
:name => "Interplanetary Cruise #%d" % (Time.new.to_f * 1000).to_i,
|
49
49
|
:status => 'PAUSED',
|
50
50
|
:bidding_strategy => {
|
51
51
|
# The 'xsi_type' field allows you to specify the xsi:type of the object
|
@@ -68,8 +68,8 @@ def check_campaigns()
|
|
68
68
|
if response and response[:value]
|
69
69
|
campaigns = response[:value]
|
70
70
|
campaigns.each do |campaign|
|
71
|
-
puts "Unexpected campaign creation! Name
|
72
|
-
"#{campaign[:id]} and status is
|
71
|
+
puts "Unexpected campaign creation! Name '#{campaign[:name]}', ID " +
|
72
|
+
"#{campaign[:id]} and status is '#{campaign[:status]}'."
|
73
73
|
end
|
74
74
|
else
|
75
75
|
puts 'No campaigns created.'
|
@@ -80,7 +80,7 @@ def check_campaigns()
|
|
80
80
|
operation = {
|
81
81
|
:operator => 'ADD',
|
82
82
|
:operand => {
|
83
|
-
:name =>
|
83
|
+
:name => "Interplanetary Cruise #%d" % (Time.new.to_f * 1000).to_i,
|
84
84
|
:status => 'PAUSED',
|
85
85
|
:bidding_strategy => nil,
|
86
86
|
:budget => {
|
@@ -39,16 +39,14 @@ def get_account_hierarchy()
|
|
39
39
|
|
40
40
|
serviced_account_srv = adwords.service(:ServicedAccountService, API_VERSION)
|
41
41
|
|
42
|
-
#
|
43
|
-
selector = {
|
44
|
-
:service_types => ['UI_AND_API', 'API_ONLY'],
|
45
|
-
:enable_paging => false
|
46
|
-
}
|
42
|
+
# Create selector to get all accounts with no paging.
|
43
|
+
selector = {:enable_paging => false}
|
47
44
|
|
48
45
|
graph = nil
|
49
46
|
|
50
47
|
# Run with MCC account.
|
51
48
|
adwords.use_mcc do
|
49
|
+
# Get the account hierarchy for this account.
|
52
50
|
graph = serviced_account_srv.get(selector)
|
53
51
|
end
|
54
52
|
|
@@ -71,10 +69,10 @@ def get_account_hierarchy()
|
|
71
69
|
|
72
70
|
# Display the links.
|
73
71
|
graph[:links].each do |link|
|
74
|
-
puts "There is a
|
75
|
-
|
76
|
-
|
77
|
-
|
72
|
+
puts "There is a '%s' link from %s to %s" %
|
73
|
+
[link[:type_of_link],
|
74
|
+
AdwordsApi::Utils.format_id(link[:manager_id][:id]),
|
75
|
+
AdwordsApi::Utils.format_id(link[:client_id][:id])]
|
78
76
|
end
|
79
77
|
end
|
80
78
|
else
|
@@ -0,0 +1,82 @@
|
|
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 override an ad extension for a specific ad, by
|
21
|
+
# creating an ad extension override. To create a campaign, run add_campaign.rb.
|
22
|
+
# To create an ad, run add_ads.rb.
|
23
|
+
#
|
24
|
+
# Tags: AdExtensionOverrideService.mutate
|
25
|
+
|
26
|
+
require 'rubygems'
|
27
|
+
require 'adwords_api'
|
28
|
+
|
29
|
+
API_VERSION = :v201109
|
30
|
+
|
31
|
+
def add_ad_extension_override()
|
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
|
+
ad_ext_override_srv =
|
41
|
+
adwords.service(:AdExtensionOverrideService, API_VERSION)
|
42
|
+
|
43
|
+
ad_id = 'INSERT_AD_ID_HERE'.to_i
|
44
|
+
campaign_ad_extension_id = 'INSERT_CAMPAIGN_AD_EXTENSION_ID_HERE'.to_i
|
45
|
+
|
46
|
+
# Create operation.
|
47
|
+
operation = {
|
48
|
+
:operator => 'ADD',
|
49
|
+
:operand => {
|
50
|
+
:ad_id => ad_id,
|
51
|
+
:ad_extension => {
|
52
|
+
:id => campaign_ad_extension_id
|
53
|
+
}
|
54
|
+
}
|
55
|
+
}
|
56
|
+
|
57
|
+
# Add override.
|
58
|
+
response = ad_ext_override_srv.mutate([operation])
|
59
|
+
ad_ext_override = response[:value].first
|
60
|
+
puts 'Ad extension override was successfully added.'
|
61
|
+
end
|
62
|
+
|
63
|
+
if __FILE__ == $0
|
64
|
+
begin
|
65
|
+
add_ad_extension_override()
|
66
|
+
|
67
|
+
# HTTP errors.
|
68
|
+
rescue AdsCommon::Errors::HttpError => e
|
69
|
+
puts "HTTP Error: %s" % e
|
70
|
+
|
71
|
+
# API errors.
|
72
|
+
rescue AdwordsApi::Errors::ApiException => e
|
73
|
+
puts "Message: %s" % e.message
|
74
|
+
puts 'Errors:'
|
75
|
+
e.errors.each_with_index do |error, index|
|
76
|
+
puts "\tError [%d]:" % (index + 1)
|
77
|
+
error.each do |field, value|
|
78
|
+
puts "\t\t%s: %s" % [field, value]
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -0,0 +1,89 @@
|
|
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 create an ad group. To create a campaign, run
|
21
|
+
# add_campaign.rb.
|
22
|
+
#
|
23
|
+
# Tags: AdGroupService.mutate
|
24
|
+
|
25
|
+
require 'rubygems'
|
26
|
+
require 'adwords_api'
|
27
|
+
|
28
|
+
API_VERSION = :v201109
|
29
|
+
|
30
|
+
def add_ad_group()
|
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
|
+
ad_group_srv = adwords.service(:AdGroupService, API_VERSION)
|
40
|
+
|
41
|
+
campaign_id = 'INSERT_CAMPAIGN_ID_HERE'.to_i
|
42
|
+
|
43
|
+
# Prepare for adding ad group.
|
44
|
+
operation = {
|
45
|
+
:operator => 'ADD',
|
46
|
+
:operand => {
|
47
|
+
:name => "Earth to Mars Cruises #%d" % (Time.new.to_f * 1000).to_i,
|
48
|
+
:status => 'ENABLED',
|
49
|
+
:campaign_id => campaign_id,
|
50
|
+
:bids => {
|
51
|
+
# The 'xsi_type' field allows you to specify the xsi:type of the object
|
52
|
+
# being created. It's only necessary when you must provide an explicit
|
53
|
+
# type that the client library can't infer.
|
54
|
+
:xsi_type => 'ManualCPCAdGroupBids',
|
55
|
+
:keyword_max_cpc => {
|
56
|
+
:amount => {
|
57
|
+
:micro_amount => 10000000
|
58
|
+
}
|
59
|
+
}
|
60
|
+
},
|
61
|
+
}
|
62
|
+
}
|
63
|
+
|
64
|
+
# Add ad group.
|
65
|
+
response = ad_group_srv.mutate([operation])
|
66
|
+
ad_group = response[:value].first
|
67
|
+
puts "Ad group ID %d was successfully added." % ad_group[:id]
|
68
|
+
end
|
69
|
+
|
70
|
+
if __FILE__ == $0
|
71
|
+
begin
|
72
|
+
add_ad_group()
|
73
|
+
|
74
|
+
# HTTP errors.
|
75
|
+
rescue AdsCommon::Errors::HttpError => e
|
76
|
+
puts "HTTP Error: %s" % e
|
77
|
+
|
78
|
+
# API errors.
|
79
|
+
rescue AdwordsApi::Errors::ApiException => e
|
80
|
+
puts "Message: %s" % e.message
|
81
|
+
puts 'Errors:'
|
82
|
+
e.errors.each_with_index do |error, index|
|
83
|
+
puts "\tError [%d]:" % (index + 1)
|
84
|
+
error.each do |field, value|
|
85
|
+
puts "\t\t%s: %s" % [field, value]
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|