google-adwords-api 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README +178 -0
- data/Rakefile +117 -0
- data/adwords_api.yml +21 -0
- data/examples/v200909/add_ad_extension_override.rb +91 -0
- data/examples/v200909/add_ad_group.rb +98 -0
- data/examples/v200909/add_ad_group_criteria.rb +117 -0
- data/examples/v200909/add_ads.rb +129 -0
- data/examples/v200909/add_campaign.rb +101 -0
- data/examples/v200909/add_campaign_ad_extension.rb +130 -0
- data/examples/v200909/add_negative_campaign_criterion.rb +96 -0
- data/examples/v200909/check_campaigns.rb +132 -0
- data/examples/v200909/delete_ad.rb +94 -0
- data/examples/v200909/delete_ad_group.rb +86 -0
- data/examples/v200909/delete_ad_group_criterion.rb +95 -0
- data/examples/v200909/delete_campaign.rb +87 -0
- data/examples/v200909/get_all_active_ad_group_criteria.rb +93 -0
- data/examples/v200909/get_all_ad_extension_overrides.rb +91 -0
- data/examples/v200909/get_all_ad_group_criteria.rb +91 -0
- data/examples/v200909/get_all_ad_groups.rb +88 -0
- data/examples/v200909/get_all_ad_params.rb +89 -0
- data/examples/v200909/get_all_ads.rb +88 -0
- data/examples/v200909/get_all_campaign_ad_extensions.rb +90 -0
- data/examples/v200909/get_all_campaign_targets.rb +83 -0
- data/examples/v200909/get_all_campaigns.rb +83 -0
- data/examples/v200909/get_all_disapproved_ads.rb +94 -0
- data/examples/v200909/get_all_paused_campaigns.rb +86 -0
- data/examples/v200909/get_conversion_optimizer_eligibility.rb +112 -0
- data/examples/v200909/get_geo_location_info.rb +108 -0
- data/examples/v200909/get_method_cost.rb +96 -0
- data/examples/v200909/get_operation_count.rb +88 -0
- data/examples/v200909/get_related_keywords.rb +115 -0
- data/examples/v200909/get_related_placements.rb +114 -0
- data/examples/v200909/get_total_usage_units_per_month.rb +83 -0
- data/examples/v200909/get_unit_count.rb +88 -0
- data/examples/v200909/perform_bulk_mutate_job.rb +221 -0
- data/examples/v200909/set_ad_params.rb +124 -0
- data/examples/v200909/set_campaign_targets.rb +125 -0
- data/examples/v200909/update_ad.rb +95 -0
- data/examples/v200909/update_ad_group.rb +90 -0
- data/examples/v200909/update_ad_group_criterion.rb +108 -0
- data/examples/v200909/update_campaign.rb +93 -0
- data/examples/v201003/add_ad_extension_override.rb +91 -0
- data/examples/v201003/add_ad_group.rb +98 -0
- data/examples/v201003/add_ad_group_criteria.rb +117 -0
- data/examples/v201003/add_ads.rb +182 -0
- data/examples/v201003/add_campaign.rb +101 -0
- data/examples/v201003/add_campaign_ad_extension.rb +130 -0
- data/examples/v201003/add_keywords_performance_report_definition.rb +108 -0
- data/examples/v201003/add_negative_campaign_criterion.rb +96 -0
- data/examples/v201003/check_campaigns.rb +132 -0
- data/examples/v201003/delete_ad.rb +94 -0
- data/examples/v201003/delete_ad_group.rb +86 -0
- data/examples/v201003/delete_ad_group_criterion.rb +95 -0
- data/examples/v201003/delete_campaign.rb +87 -0
- data/examples/v201003/download_report.rb +71 -0
- data/examples/v201003/get_all_active_ad_group_criteria.rb +93 -0
- data/examples/v201003/get_all_ad_extension_overrides.rb +91 -0
- data/examples/v201003/get_all_ad_group_criteria.rb +91 -0
- data/examples/v201003/get_all_ad_groups.rb +88 -0
- data/examples/v201003/get_all_ad_params.rb +89 -0
- data/examples/v201003/get_all_ads.rb +91 -0
- data/examples/v201003/get_all_campaign_ad_extensions.rb +90 -0
- data/examples/v201003/get_all_campaign_targets.rb +83 -0
- data/examples/v201003/get_all_campaigns.rb +83 -0
- data/examples/v201003/get_all_disapproved_ads.rb +94 -0
- data/examples/v201003/get_all_images.rb +88 -0
- data/examples/v201003/get_all_paused_campaigns.rb +86 -0
- data/examples/v201003/get_all_report_definitions.rb +84 -0
- data/examples/v201003/get_all_videos.rb +85 -0
- data/examples/v201003/get_conversion_optimizer_eligibility.rb +112 -0
- data/examples/v201003/get_criterion_bid_landscape.rb +105 -0
- data/examples/v201003/get_geo_location_info.rb +108 -0
- data/examples/v201003/get_method_cost.rb +96 -0
- data/examples/v201003/get_operation_count.rb +88 -0
- data/examples/v201003/get_related_keywords.rb +115 -0
- data/examples/v201003/get_related_placements.rb +114 -0
- data/examples/v201003/get_report_fields.rb +81 -0
- data/examples/v201003/get_total_usage_units_per_month.rb +83 -0
- data/examples/v201003/get_unit_count.rb +88 -0
- data/examples/v201003/perform_bulk_mutate_job.rb +221 -0
- data/examples/v201003/set_ad_params.rb +124 -0
- data/examples/v201003/set_campaign_targets.rb +125 -0
- data/examples/v201003/update_ad.rb +95 -0
- data/examples/v201003/update_ad_group.rb +90 -0
- data/examples/v201003/update_ad_group_criterion.rb +108 -0
- data/examples/v201003/update_campaign.rb +92 -0
- data/examples/v201003/upload_image.rb +97 -0
- data/examples/v201008/add_ad_extension_override.rb +91 -0
- data/examples/v201008/add_ad_group.rb +98 -0
- data/examples/v201008/add_ad_group_criteria.rb +117 -0
- data/examples/v201008/add_ads.rb +182 -0
- data/examples/v201008/add_campaign.rb +101 -0
- data/examples/v201008/add_campaign_ad_extension.rb +130 -0
- data/examples/v201008/add_experiment.rb +162 -0
- data/examples/v201008/add_keywords_performance_report_definition.rb +108 -0
- data/examples/v201008/add_negative_campaign_criterion.rb +96 -0
- data/examples/v201008/add_user_list.rb +96 -0
- data/examples/v201008/check_campaigns.rb +132 -0
- data/examples/v201008/delete_ad.rb +94 -0
- data/examples/v201008/delete_ad_group.rb +86 -0
- data/examples/v201008/delete_ad_group_criterion.rb +95 -0
- data/examples/v201008/delete_bulk_mutate_job.rb +96 -0
- data/examples/v201008/delete_campaign.rb +87 -0
- data/examples/v201008/delete_experiment.rb +87 -0
- data/examples/v201008/delete_user_list.rb +87 -0
- data/examples/v201008/download_report.rb +71 -0
- data/examples/v201008/get_account_hierarchy.rb +112 -0
- data/examples/v201008/get_all_account_changes.rb +144 -0
- data/examples/v201008/get_all_active_ad_group_criteria.rb +93 -0
- data/examples/v201008/get_all_ad_extension_overrides.rb +91 -0
- data/examples/v201008/get_all_ad_group_criteria.rb +91 -0
- data/examples/v201008/get_all_ad_groups.rb +88 -0
- data/examples/v201008/get_all_ad_params.rb +89 -0
- data/examples/v201008/get_all_ads.rb +91 -0
- data/examples/v201008/get_all_campaign_ad_extensions.rb +90 -0
- data/examples/v201008/get_all_campaign_targets.rb +83 -0
- data/examples/v201008/get_all_campaigns.rb +83 -0
- data/examples/v201008/get_all_disapproved_ads.rb +94 -0
- data/examples/v201008/get_all_experiments.rb +93 -0
- data/examples/v201008/get_all_images.rb +88 -0
- data/examples/v201008/get_all_paused_campaigns.rb +86 -0
- data/examples/v201008/get_all_report_definitions.rb +84 -0
- data/examples/v201008/get_all_user_lists.rb +84 -0
- data/examples/v201008/get_all_videos.rb +85 -0
- data/examples/v201008/get_bulk_mutate_job.rb +106 -0
- data/examples/v201008/get_campaign_alerts.rb +103 -0
- data/examples/v201008/get_conversion_optimizer_eligibility.rb +97 -0
- data/examples/v201008/get_criterion_bid_landscape.rb +105 -0
- data/examples/v201008/get_geo_location_info.rb +108 -0
- data/examples/v201008/get_method_cost.rb +96 -0
- data/examples/v201008/get_operation_count.rb +88 -0
- data/examples/v201008/get_related_keywords.rb +115 -0
- data/examples/v201008/get_related_placements.rb +114 -0
- data/examples/v201008/get_report_fields.rb +81 -0
- data/examples/v201008/get_total_usage_units_per_month.rb +83 -0
- data/examples/v201008/get_traffic_estimates.rb +156 -0
- data/examples/v201008/get_unit_count.rb +88 -0
- data/examples/v201008/handle_partial_failures.rb +135 -0
- data/examples/v201008/handle_policy_violation_error.rb +146 -0
- data/examples/v201008/perform_bulk_mutate_job.rb +221 -0
- data/examples/v201008/promote_experiment.rb +88 -0
- data/examples/v201008/set_ad_params.rb +124 -0
- data/examples/v201008/set_campaign_targets.rb +125 -0
- data/examples/v201008/update_ad.rb +95 -0
- data/examples/v201008/update_ad_group.rb +90 -0
- data/examples/v201008/update_ad_group_criterion.rb +108 -0
- data/examples/v201008/update_campaign.rb +93 -0
- data/examples/v201008/update_user_list.rb +91 -0
- data/examples/v201008/upload_image.rb +97 -0
- data/examples/v201101/add_ad_extension_override.rb +91 -0
- data/examples/v201101/add_ad_group.rb +98 -0
- data/examples/v201101/add_ad_group_criteria.rb +117 -0
- data/examples/v201101/add_ads.rb +182 -0
- data/examples/v201101/add_campaign.rb +108 -0
- data/examples/v201101/add_campaign_ad_extension.rb +130 -0
- data/examples/v201101/add_experiment.rb +162 -0
- data/examples/v201101/add_keywords_performance_report_definition.rb +108 -0
- data/examples/v201101/add_mcc_report_definition.rb +103 -0
- data/examples/v201101/add_negative_campaign_criterion.rb +96 -0
- data/examples/v201101/add_user_list.rb +96 -0
- data/examples/v201101/check_campaigns.rb +132 -0
- data/examples/v201101/delete_ad.rb +94 -0
- data/examples/v201101/delete_ad_group.rb +86 -0
- data/examples/v201101/delete_ad_group_criterion.rb +95 -0
- data/examples/v201101/delete_bulk_mutate_job.rb +96 -0
- data/examples/v201101/delete_campaign.rb +87 -0
- data/examples/v201101/delete_experiment.rb +87 -0
- data/examples/v201101/delete_user_list.rb +87 -0
- data/examples/v201101/download_mcc_report.rb +93 -0
- data/examples/v201101/download_report.rb +71 -0
- data/examples/v201101/get_account_hierarchy.rb +112 -0
- data/examples/v201101/get_ad_group_bid_landscape.rb +103 -0
- data/examples/v201101/get_all_account_changes.rb +146 -0
- data/examples/v201101/get_all_active_ad_group_criteria.rb +106 -0
- data/examples/v201101/get_all_ad_extension_overrides.rb +91 -0
- data/examples/v201101/get_all_ad_group_criteria.rb +97 -0
- data/examples/v201101/get_all_ad_groups.rb +94 -0
- data/examples/v201101/get_all_ad_params.rb +89 -0
- data/examples/v201101/get_all_ads.rb +99 -0
- data/examples/v201101/get_all_campaign_ad_extensions.rb +96 -0
- data/examples/v201101/get_all_campaign_targets.rb +83 -0
- data/examples/v201101/get_all_campaigns.rb +86 -0
- data/examples/v201101/get_all_disapproved_ads.rb +102 -0
- data/examples/v201101/get_all_experiments.rb +98 -0
- data/examples/v201101/get_all_images.rb +90 -0
- data/examples/v201101/get_all_paused_campaigns.rb +92 -0
- data/examples/v201101/get_all_report_definitions.rb +84 -0
- data/examples/v201101/get_all_user_lists.rb +87 -0
- data/examples/v201101/get_all_videos.rb +87 -0
- data/examples/v201101/get_bulk_mutate_job.rb +106 -0
- data/examples/v201101/get_campaign_alerts.rb +103 -0
- data/examples/v201101/get_conversion_optimizer_eligibility.rb +102 -0
- data/examples/v201101/get_criterion_bid_landscape.rb +102 -0
- data/examples/v201101/get_geo_location_info.rb +108 -0
- data/examples/v201101/get_method_cost.rb +96 -0
- data/examples/v201101/get_operation_count.rb +88 -0
- data/examples/v201101/get_related_keywords.rb +115 -0
- data/examples/v201101/get_related_placements.rb +114 -0
- data/examples/v201101/get_report_fields.rb +81 -0
- data/examples/v201101/get_total_usage_units_per_month.rb +83 -0
- data/examples/v201101/get_traffic_estimates.rb +157 -0
- data/examples/v201101/get_unit_count.rb +88 -0
- data/examples/v201101/handle_partial_failures.rb +135 -0
- data/examples/v201101/handle_policy_violation_error.rb +146 -0
- data/examples/v201101/perform_bulk_mutate_job.rb +221 -0
- data/examples/v201101/promote_experiment.rb +88 -0
- data/examples/v201101/set_ad_params.rb +124 -0
- data/examples/v201101/set_campaign_targets.rb +111 -0
- data/examples/v201101/update_ad.rb +95 -0
- data/examples/v201101/update_ad_group.rb +90 -0
- data/examples/v201101/update_ad_group_criterion.rb +108 -0
- data/examples/v201101/update_campaign.rb +93 -0
- data/examples/v201101/update_user_list.rb +91 -0
- data/examples/v201101/upload_image.rb +97 -0
- data/lib/adwords_api.rb +273 -0
- data/lib/adwords_api/api_config.rb +270 -0
- data/lib/adwords_api/auth/v13_login_handler.rb +36 -0
- data/lib/adwords_api/credential_handler.rb +111 -0
- data/lib/adwords_api/errors.rb +85 -0
- data/lib/adwords_api/extensions.rb +245 -0
- data/lib/adwords_api/soap4r_response_handler.rb +121 -0
- data/lib/adwords_api/utils.rb +80 -0
- data/lib/adwords_api/v13/AccountService.rb +321 -0
- data/lib/adwords_api/v13/AccountServiceDriver.rb +87 -0
- data/lib/adwords_api/v13/AccountServiceMappingRegistry.rb +337 -0
- data/lib/adwords_api/v13/AccountServiceWrapper.rb +407 -0
- data/lib/adwords_api/v13/ReportService.rb +328 -0
- data/lib/adwords_api/v13/ReportServiceDriver.rb +103 -0
- data/lib/adwords_api/v13/ReportServiceMappingRegistry.rb +298 -0
- data/lib/adwords_api/v13/ReportServiceWrapper.rb +500 -0
- data/lib/adwords_api/v13/TrafficEstimatorService.rb +414 -0
- data/lib/adwords_api/v13/TrafficEstimatorServiceDriver.rb +79 -0
- data/lib/adwords_api/v13/TrafficEstimatorServiceMappingRegistry.rb +491 -0
- data/lib/adwords_api/v13/TrafficEstimatorServiceWrapper.rb +402 -0
- data/lib/adwords_api/v200909/AdExtensionOverrideService.rb +1105 -0
- data/lib/adwords_api/v200909/AdExtensionOverrideServiceDriver.rb +63 -0
- data/lib/adwords_api/v200909/AdExtensionOverrideServiceMappingRegistry.rb +1265 -0
- data/lib/adwords_api/v200909/AdExtensionOverrideServiceWrapper.rb +332 -0
- data/lib/adwords_api/v200909/AdGroupAdService.rb +2603 -0
- data/lib/adwords_api/v200909/AdGroupAdServiceDriver.rb +63 -0
- data/lib/adwords_api/v200909/AdGroupAdServiceMappingRegistry.rb +2755 -0
- data/lib/adwords_api/v200909/AdGroupAdServiceWrapper.rb +332 -0
- data/lib/adwords_api/v200909/AdGroupCriterionService.rb +1577 -0
- data/lib/adwords_api/v200909/AdGroupCriterionServiceDriver.rb +63 -0
- data/lib/adwords_api/v200909/AdGroupCriterionServiceMappingRegistry.rb +1821 -0
- data/lib/adwords_api/v200909/AdGroupCriterionServiceWrapper.rb +332 -0
- data/lib/adwords_api/v200909/AdGroupService.rb +1251 -0
- data/lib/adwords_api/v200909/AdGroupServiceDriver.rb +63 -0
- data/lib/adwords_api/v200909/AdGroupServiceMappingRegistry.rb +1395 -0
- data/lib/adwords_api/v200909/AdGroupServiceWrapper.rb +332 -0
- data/lib/adwords_api/v200909/AdParamService.rb +765 -0
- data/lib/adwords_api/v200909/AdParamServiceDriver.rb +63 -0
- data/lib/adwords_api/v200909/AdParamServiceMappingRegistry.rb +927 -0
- data/lib/adwords_api/v200909/AdParamServiceWrapper.rb +332 -0
- data/lib/adwords_api/v200909/BulkMutateJobService.rb +4778 -0
- data/lib/adwords_api/v200909/BulkMutateJobServiceDriver.rb +63 -0
- data/lib/adwords_api/v200909/BulkMutateJobServiceMappingRegistry.rb +5077 -0
- data/lib/adwords_api/v200909/BulkMutateJobServiceWrapper.rb +332 -0
- data/lib/adwords_api/v200909/CampaignAdExtensionService.rb +1065 -0
- data/lib/adwords_api/v200909/CampaignAdExtensionServiceDriver.rb +63 -0
- data/lib/adwords_api/v200909/CampaignAdExtensionServiceMappingRegistry.rb +1273 -0
- data/lib/adwords_api/v200909/CampaignAdExtensionServiceWrapper.rb +332 -0
- data/lib/adwords_api/v200909/CampaignCriterionService.rb +1019 -0
- data/lib/adwords_api/v200909/CampaignCriterionServiceDriver.rb +63 -0
- data/lib/adwords_api/v200909/CampaignCriterionServiceMappingRegistry.rb +1237 -0
- data/lib/adwords_api/v200909/CampaignCriterionServiceWrapper.rb +332 -0
- data/lib/adwords_api/v200909/CampaignService.rb +1633 -0
- data/lib/adwords_api/v200909/CampaignServiceDriver.rb +63 -0
- data/lib/adwords_api/v200909/CampaignServiceMappingRegistry.rb +1785 -0
- data/lib/adwords_api/v200909/CampaignServiceWrapper.rb +332 -0
- data/lib/adwords_api/v200909/CampaignTargetService.rb +1435 -0
- data/lib/adwords_api/v200909/CampaignTargetServiceDriver.rb +63 -0
- data/lib/adwords_api/v200909/CampaignTargetServiceMappingRegistry.rb +1569 -0
- data/lib/adwords_api/v200909/CampaignTargetServiceWrapper.rb +332 -0
- data/lib/adwords_api/v200909/GeoLocationService.rb +611 -0
- data/lib/adwords_api/v200909/GeoLocationServiceDriver.rb +55 -0
- data/lib/adwords_api/v200909/GeoLocationServiceMappingRegistry.rb +771 -0
- data/lib/adwords_api/v200909/GeoLocationServiceWrapper.rb +303 -0
- data/lib/adwords_api/v200909/InfoService.rb +605 -0
- data/lib/adwords_api/v200909/InfoServiceDriver.rb +55 -0
- data/lib/adwords_api/v200909/InfoServiceMappingRegistry.rb +764 -0
- data/lib/adwords_api/v200909/InfoServiceWrapper.rb +303 -0
- data/lib/adwords_api/v200909/TargetingIdeaService.rb +2253 -0
- data/lib/adwords_api/v200909/TargetingIdeaServiceDriver.rb +63 -0
- data/lib/adwords_api/v200909/TargetingIdeaServiceMappingRegistry.rb +2688 -0
- data/lib/adwords_api/v200909/TargetingIdeaServiceWrapper.rb +335 -0
- data/lib/adwords_api/v201003/AdExtensionOverrideService.rb +1301 -0
- data/lib/adwords_api/v201003/AdExtensionOverrideServiceDriver.rb +63 -0
- data/lib/adwords_api/v201003/AdExtensionOverrideServiceMappingRegistry.rb +1468 -0
- data/lib/adwords_api/v201003/AdExtensionOverrideServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201003/AdGroupAdService.rb +2909 -0
- data/lib/adwords_api/v201003/AdGroupAdServiceDriver.rb +63 -0
- data/lib/adwords_api/v201003/AdGroupAdServiceMappingRegistry.rb +2970 -0
- data/lib/adwords_api/v201003/AdGroupAdServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201003/AdGroupCriterionService.rb +1762 -0
- data/lib/adwords_api/v201003/AdGroupCriterionServiceDriver.rb +63 -0
- data/lib/adwords_api/v201003/AdGroupCriterionServiceMappingRegistry.rb +1978 -0
- data/lib/adwords_api/v201003/AdGroupCriterionServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201003/AdGroupService.rb +1421 -0
- data/lib/adwords_api/v201003/AdGroupServiceDriver.rb +63 -0
- data/lib/adwords_api/v201003/AdGroupServiceMappingRegistry.rb +1546 -0
- data/lib/adwords_api/v201003/AdGroupServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201003/AdParamService.rb +859 -0
- data/lib/adwords_api/v201003/AdParamServiceDriver.rb +63 -0
- data/lib/adwords_api/v201003/AdParamServiceMappingRegistry.rb +1002 -0
- data/lib/adwords_api/v201003/AdParamServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201003/BidLandscapeService.rb +847 -0
- data/lib/adwords_api/v201003/BidLandscapeServiceDriver.rb +55 -0
- data/lib/adwords_api/v201003/BidLandscapeServiceMappingRegistry.rb +958 -0
- data/lib/adwords_api/v201003/BidLandscapeServiceWrapper.rb +306 -0
- data/lib/adwords_api/v201003/BulkMutateJobService.rb +5401 -0
- data/lib/adwords_api/v201003/BulkMutateJobServiceDriver.rb +63 -0
- data/lib/adwords_api/v201003/BulkMutateJobServiceMappingRegistry.rb +5600 -0
- data/lib/adwords_api/v201003/BulkMutateJobServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201003/CampaignAdExtensionService.rb +1255 -0
- data/lib/adwords_api/v201003/CampaignAdExtensionServiceDriver.rb +63 -0
- data/lib/adwords_api/v201003/CampaignAdExtensionServiceMappingRegistry.rb +1452 -0
- data/lib/adwords_api/v201003/CampaignAdExtensionServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201003/CampaignCriterionService.rb +1145 -0
- data/lib/adwords_api/v201003/CampaignCriterionServiceDriver.rb +63 -0
- data/lib/adwords_api/v201003/CampaignCriterionServiceMappingRegistry.rb +1344 -0
- data/lib/adwords_api/v201003/CampaignCriterionServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201003/CampaignService.rb +1901 -0
- data/lib/adwords_api/v201003/CampaignServiceDriver.rb +63 -0
- data/lib/adwords_api/v201003/CampaignServiceMappingRegistry.rb +2010 -0
- data/lib/adwords_api/v201003/CampaignServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201003/CampaignTargetService.rb +1642 -0
- data/lib/adwords_api/v201003/CampaignTargetServiceDriver.rb +63 -0
- data/lib/adwords_api/v201003/CampaignTargetServiceMappingRegistry.rb +1754 -0
- data/lib/adwords_api/v201003/CampaignTargetServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201003/GeoLocationService.rb +692 -0
- data/lib/adwords_api/v201003/GeoLocationServiceDriver.rb +55 -0
- data/lib/adwords_api/v201003/GeoLocationServiceMappingRegistry.rb +840 -0
- data/lib/adwords_api/v201003/GeoLocationServiceWrapper.rb +303 -0
- data/lib/adwords_api/v201003/InfoService.rb +687 -0
- data/lib/adwords_api/v201003/InfoServiceDriver.rb +55 -0
- data/lib/adwords_api/v201003/InfoServiceMappingRegistry.rb +833 -0
- data/lib/adwords_api/v201003/InfoServiceWrapper.rb +303 -0
- data/lib/adwords_api/v201003/MediaService.rb +1192 -0
- data/lib/adwords_api/v201003/MediaServiceDriver.rb +63 -0
- data/lib/adwords_api/v201003/MediaServiceMappingRegistry.rb +1290 -0
- data/lib/adwords_api/v201003/MediaServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201003/ReportDefinitionService.rb +905 -0
- data/lib/adwords_api/v201003/ReportDefinitionServiceDriver.rb +71 -0
- data/lib/adwords_api/v201003/ReportDefinitionServiceMappingRegistry.rb +1036 -0
- data/lib/adwords_api/v201003/ReportDefinitionServiceWrapper.rb +378 -0
- data/lib/adwords_api/v201003/TargetingIdeaService.rb +2517 -0
- data/lib/adwords_api/v201003/TargetingIdeaServiceDriver.rb +63 -0
- data/lib/adwords_api/v201003/TargetingIdeaServiceMappingRegistry.rb +2925 -0
- data/lib/adwords_api/v201003/TargetingIdeaServiceWrapper.rb +335 -0
- data/lib/adwords_api/v201008/AdExtensionOverrideService.rb +1383 -0
- data/lib/adwords_api/v201008/AdExtensionOverrideServiceDriver.rb +63 -0
- data/lib/adwords_api/v201008/AdExtensionOverrideServiceMappingRegistry.rb +1563 -0
- data/lib/adwords_api/v201008/AdExtensionOverrideServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201008/AdGroupAdService.rb +2928 -0
- data/lib/adwords_api/v201008/AdGroupAdServiceDriver.rb +63 -0
- data/lib/adwords_api/v201008/AdGroupAdServiceMappingRegistry.rb +2969 -0
- data/lib/adwords_api/v201008/AdGroupAdServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201008/AdGroupCriterionService.rb +1981 -0
- data/lib/adwords_api/v201008/AdGroupCriterionServiceDriver.rb +63 -0
- data/lib/adwords_api/v201008/AdGroupCriterionServiceMappingRegistry.rb +2229 -0
- data/lib/adwords_api/v201008/AdGroupCriterionServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201008/AdGroupService.rb +1548 -0
- data/lib/adwords_api/v201008/AdGroupServiceDriver.rb +63 -0
- data/lib/adwords_api/v201008/AdGroupServiceMappingRegistry.rb +1687 -0
- data/lib/adwords_api/v201008/AdGroupServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201008/AdParamService.rb +889 -0
- data/lib/adwords_api/v201008/AdParamServiceDriver.rb +63 -0
- data/lib/adwords_api/v201008/AdParamServiceMappingRegistry.rb +1041 -0
- data/lib/adwords_api/v201008/AdParamServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201008/AlertService.rb +743 -0
- data/lib/adwords_api/v201008/AlertServiceDriver.rb +55 -0
- data/lib/adwords_api/v201008/AlertServiceMappingRegistry.rb +836 -0
- data/lib/adwords_api/v201008/AlertServiceWrapper.rb +303 -0
- data/lib/adwords_api/v201008/BidLandscapeService.rb +928 -0
- data/lib/adwords_api/v201008/BidLandscapeServiceDriver.rb +55 -0
- data/lib/adwords_api/v201008/BidLandscapeServiceMappingRegistry.rb +1059 -0
- data/lib/adwords_api/v201008/BidLandscapeServiceWrapper.rb +306 -0
- data/lib/adwords_api/v201008/BulkMutateJobService.rb +6063 -0
- data/lib/adwords_api/v201008/BulkMutateJobServiceDriver.rb +63 -0
- data/lib/adwords_api/v201008/BulkMutateJobServiceMappingRegistry.rb +6265 -0
- data/lib/adwords_api/v201008/BulkMutateJobServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201008/CampaignAdExtensionService.rb +1594 -0
- data/lib/adwords_api/v201008/CampaignAdExtensionServiceDriver.rb +63 -0
- data/lib/adwords_api/v201008/CampaignAdExtensionServiceMappingRegistry.rb +1789 -0
- data/lib/adwords_api/v201008/CampaignAdExtensionServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201008/CampaignCriterionService.rb +1243 -0
- data/lib/adwords_api/v201008/CampaignCriterionServiceDriver.rb +63 -0
- data/lib/adwords_api/v201008/CampaignCriterionServiceMappingRegistry.rb +1467 -0
- data/lib/adwords_api/v201008/CampaignCriterionServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201008/CampaignService.rb +1979 -0
- data/lib/adwords_api/v201008/CampaignServiceDriver.rb +63 -0
- data/lib/adwords_api/v201008/CampaignServiceMappingRegistry.rb +2089 -0
- data/lib/adwords_api/v201008/CampaignServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201008/CampaignTargetService.rb +1651 -0
- data/lib/adwords_api/v201008/CampaignTargetServiceDriver.rb +63 -0
- data/lib/adwords_api/v201008/CampaignTargetServiceMappingRegistry.rb +1757 -0
- data/lib/adwords_api/v201008/CampaignTargetServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201008/CustomerSyncService.rb +693 -0
- data/lib/adwords_api/v201008/CustomerSyncServiceDriver.rb +55 -0
- data/lib/adwords_api/v201008/CustomerSyncServiceMappingRegistry.rb +820 -0
- data/lib/adwords_api/v201008/CustomerSyncServiceWrapper.rb +303 -0
- data/lib/adwords_api/v201008/ExperimentService.rb +1124 -0
- data/lib/adwords_api/v201008/ExperimentServiceDriver.rb +63 -0
- data/lib/adwords_api/v201008/ExperimentServiceMappingRegistry.rb +1281 -0
- data/lib/adwords_api/v201008/ExperimentServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201008/GeoLocationService.rb +695 -0
- data/lib/adwords_api/v201008/GeoLocationServiceDriver.rb +55 -0
- data/lib/adwords_api/v201008/GeoLocationServiceMappingRegistry.rb +843 -0
- data/lib/adwords_api/v201008/GeoLocationServiceWrapper.rb +303 -0
- data/lib/adwords_api/v201008/InfoService.rb +690 -0
- data/lib/adwords_api/v201008/InfoServiceDriver.rb +55 -0
- data/lib/adwords_api/v201008/InfoServiceMappingRegistry.rb +836 -0
- data/lib/adwords_api/v201008/InfoServiceWrapper.rb +303 -0
- data/lib/adwords_api/v201008/MediaService.rb +1144 -0
- data/lib/adwords_api/v201008/MediaServiceDriver.rb +63 -0
- data/lib/adwords_api/v201008/MediaServiceMappingRegistry.rb +1241 -0
- data/lib/adwords_api/v201008/MediaServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201008/ReportDefinitionService.rb +976 -0
- data/lib/adwords_api/v201008/ReportDefinitionServiceDriver.rb +71 -0
- data/lib/adwords_api/v201008/ReportDefinitionServiceMappingRegistry.rb +1115 -0
- data/lib/adwords_api/v201008/ReportDefinitionServiceWrapper.rb +378 -0
- data/lib/adwords_api/v201008/ServicedAccountService.rb +630 -0
- data/lib/adwords_api/v201008/ServicedAccountServiceDriver.rb +55 -0
- data/lib/adwords_api/v201008/ServicedAccountServiceMappingRegistry.rb +752 -0
- data/lib/adwords_api/v201008/ServicedAccountServiceWrapper.rb +303 -0
- data/lib/adwords_api/v201008/TargetingIdeaService.rb +2645 -0
- data/lib/adwords_api/v201008/TargetingIdeaServiceDriver.rb +63 -0
- data/lib/adwords_api/v201008/TargetingIdeaServiceMappingRegistry.rb +3080 -0
- data/lib/adwords_api/v201008/TargetingIdeaServiceWrapper.rb +335 -0
- data/lib/adwords_api/v201008/TrafficEstimatorService.rb +1833 -0
- data/lib/adwords_api/v201008/TrafficEstimatorServiceDriver.rb +55 -0
- data/lib/adwords_api/v201008/TrafficEstimatorServiceMappingRegistry.rb +2124 -0
- data/lib/adwords_api/v201008/TrafficEstimatorServiceWrapper.rb +303 -0
- data/lib/adwords_api/v201008/UserListService.rb +846 -0
- data/lib/adwords_api/v201008/UserListServiceDriver.rb +63 -0
- data/lib/adwords_api/v201008/UserListServiceMappingRegistry.rb +915 -0
- data/lib/adwords_api/v201008/UserListServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201101/AdExtensionOverrideService.rb +1399 -0
- data/lib/adwords_api/v201101/AdExtensionOverrideServiceDriver.rb +63 -0
- data/lib/adwords_api/v201101/AdExtensionOverrideServiceMappingRegistry.rb +1573 -0
- data/lib/adwords_api/v201101/AdExtensionOverrideServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201101/AdGroupAdService.rb +2585 -0
- data/lib/adwords_api/v201101/AdGroupAdServiceDriver.rb +63 -0
- data/lib/adwords_api/v201101/AdGroupAdServiceMappingRegistry.rb +2583 -0
- data/lib/adwords_api/v201101/AdGroupAdServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201101/AdGroupCriterionService.rb +2099 -0
- data/lib/adwords_api/v201101/AdGroupCriterionServiceDriver.rb +63 -0
- data/lib/adwords_api/v201101/AdGroupCriterionServiceMappingRegistry.rb +2327 -0
- data/lib/adwords_api/v201101/AdGroupCriterionServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201101/AdGroupService.rb +1610 -0
- data/lib/adwords_api/v201101/AdGroupServiceDriver.rb +63 -0
- data/lib/adwords_api/v201101/AdGroupServiceMappingRegistry.rb +1765 -0
- data/lib/adwords_api/v201101/AdGroupServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201101/AdParamService.rb +922 -0
- data/lib/adwords_api/v201101/AdParamServiceDriver.rb +63 -0
- data/lib/adwords_api/v201101/AdParamServiceMappingRegistry.rb +1077 -0
- data/lib/adwords_api/v201101/AdParamServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201101/AlertService.rb +747 -0
- data/lib/adwords_api/v201101/AlertServiceDriver.rb +55 -0
- data/lib/adwords_api/v201101/AlertServiceMappingRegistry.rb +838 -0
- data/lib/adwords_api/v201101/AlertServiceWrapper.rb +303 -0
- data/lib/adwords_api/v201101/BulkMutateJobService.rb +6208 -0
- data/lib/adwords_api/v201101/BulkMutateJobServiceDriver.rb +63 -0
- data/lib/adwords_api/v201101/BulkMutateJobServiceMappingRegistry.rb +6433 -0
- data/lib/adwords_api/v201101/BulkMutateJobServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201101/CampaignAdExtensionService.rb +1677 -0
- data/lib/adwords_api/v201101/CampaignAdExtensionServiceDriver.rb +63 -0
- data/lib/adwords_api/v201101/CampaignAdExtensionServiceMappingRegistry.rb +1855 -0
- data/lib/adwords_api/v201101/CampaignAdExtensionServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201101/CampaignCriterionService.rb +1388 -0
- data/lib/adwords_api/v201101/CampaignCriterionServiceDriver.rb +63 -0
- data/lib/adwords_api/v201101/CampaignCriterionServiceMappingRegistry.rb +1601 -0
- data/lib/adwords_api/v201101/CampaignCriterionServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201101/CampaignService.rb +2188 -0
- data/lib/adwords_api/v201101/CampaignServiceDriver.rb +63 -0
- data/lib/adwords_api/v201101/CampaignServiceMappingRegistry.rb +2301 -0
- data/lib/adwords_api/v201101/CampaignServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201101/CampaignTargetService.rb +1629 -0
- data/lib/adwords_api/v201101/CampaignTargetServiceDriver.rb +63 -0
- data/lib/adwords_api/v201101/CampaignTargetServiceMappingRegistry.rb +1725 -0
- data/lib/adwords_api/v201101/CampaignTargetServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201101/CustomerSyncService.rb +694 -0
- data/lib/adwords_api/v201101/CustomerSyncServiceDriver.rb +55 -0
- data/lib/adwords_api/v201101/CustomerSyncServiceMappingRegistry.rb +820 -0
- data/lib/adwords_api/v201101/CustomerSyncServiceWrapper.rb +303 -0
- data/lib/adwords_api/v201101/DataService.rb +1079 -0
- data/lib/adwords_api/v201101/DataServiceDriver.rb +63 -0
- data/lib/adwords_api/v201101/DataServiceMappingRegistry.rb +1177 -0
- data/lib/adwords_api/v201101/DataServiceWrapper.rb +338 -0
- data/lib/adwords_api/v201101/ExperimentService.rb +1256 -0
- data/lib/adwords_api/v201101/ExperimentServiceDriver.rb +63 -0
- data/lib/adwords_api/v201101/ExperimentServiceMappingRegistry.rb +1417 -0
- data/lib/adwords_api/v201101/ExperimentServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201101/GeoLocationService.rb +695 -0
- data/lib/adwords_api/v201101/GeoLocationServiceDriver.rb +55 -0
- data/lib/adwords_api/v201101/GeoLocationServiceMappingRegistry.rb +843 -0
- data/lib/adwords_api/v201101/GeoLocationServiceWrapper.rb +303 -0
- data/lib/adwords_api/v201101/InfoService.rb +690 -0
- data/lib/adwords_api/v201101/InfoServiceDriver.rb +55 -0
- data/lib/adwords_api/v201101/InfoServiceMappingRegistry.rb +836 -0
- data/lib/adwords_api/v201101/InfoServiceWrapper.rb +303 -0
- data/lib/adwords_api/v201101/MediaService.rb +1247 -0
- data/lib/adwords_api/v201101/MediaServiceDriver.rb +63 -0
- data/lib/adwords_api/v201101/MediaServiceMappingRegistry.rb +1357 -0
- data/lib/adwords_api/v201101/MediaServiceWrapper.rb +332 -0
- data/lib/adwords_api/v201101/ReportDefinitionService.rb +1121 -0
- data/lib/adwords_api/v201101/ReportDefinitionServiceDriver.rb +71 -0
- data/lib/adwords_api/v201101/ReportDefinitionServiceMappingRegistry.rb +1263 -0
- data/lib/adwords_api/v201101/ReportDefinitionServiceWrapper.rb +364 -0
- data/lib/adwords_api/v201101/ServicedAccountService.rb +636 -0
- data/lib/adwords_api/v201101/ServicedAccountServiceDriver.rb +55 -0
- data/lib/adwords_api/v201101/ServicedAccountServiceMappingRegistry.rb +756 -0
- data/lib/adwords_api/v201101/ServicedAccountServiceWrapper.rb +303 -0
- data/lib/adwords_api/v201101/TargetingIdeaService.rb +2827 -0
- data/lib/adwords_api/v201101/TargetingIdeaServiceDriver.rb +63 -0
- data/lib/adwords_api/v201101/TargetingIdeaServiceMappingRegistry.rb +3262 -0
- data/lib/adwords_api/v201101/TargetingIdeaServiceWrapper.rb +335 -0
- data/lib/adwords_api/v201101/TrafficEstimatorService.rb +1839 -0
- data/lib/adwords_api/v201101/TrafficEstimatorServiceDriver.rb +55 -0
- data/lib/adwords_api/v201101/TrafficEstimatorServiceMappingRegistry.rb +2128 -0
- data/lib/adwords_api/v201101/TrafficEstimatorServiceWrapper.rb +303 -0
- data/lib/adwords_api/v201101/UserListService.rb +1206 -0
- data/lib/adwords_api/v201101/UserListServiceDriver.rb +63 -0
- data/lib/adwords_api/v201101/UserListServiceMappingRegistry.rb +1323 -0
- data/lib/adwords_api/v201101/UserListServiceWrapper.rb +332 -0
- metadata +649 -0
@@ -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 the total number of API units that
|
21
|
+
# can be used by the developer token making the call, for the current month.
|
22
|
+
#
|
23
|
+
# Tags: InfoService.get
|
24
|
+
|
25
|
+
require 'rubygems'
|
26
|
+
gem 'google-adwords-api'
|
27
|
+
require 'adwords_api'
|
28
|
+
|
29
|
+
API_VERSION = :v201003
|
30
|
+
|
31
|
+
def get_total_usage_units_per_month()
|
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
|
+
info_srv = adwords.service(:InfoService, API_VERSION)
|
36
|
+
|
37
|
+
selector = {
|
38
|
+
:api_usage_type => 'TOTAL_USAGE_API_UNITS_PER_MONTH'
|
39
|
+
}
|
40
|
+
|
41
|
+
# Get the usage info.
|
42
|
+
adwords.use_mcc do
|
43
|
+
info = info_srv.get(selector)
|
44
|
+
if info
|
45
|
+
puts 'The total number of API units available this month is %d.' %
|
46
|
+
info[:cost]
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
if __FILE__ == $0
|
52
|
+
# To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
|
53
|
+
# variable to 'true'. This can be done either from your operating system
|
54
|
+
# environment or via code, as done below.
|
55
|
+
ENV['ADWORDSAPI_DEBUG'] = 'false'
|
56
|
+
|
57
|
+
begin
|
58
|
+
get_total_usage_units_per_month()
|
59
|
+
|
60
|
+
# Connection error. Likely transitory.
|
61
|
+
rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
|
62
|
+
puts 'Connection Error: %s' % e
|
63
|
+
puts 'Source: %s' % e.backtrace.first
|
64
|
+
|
65
|
+
# API Error.
|
66
|
+
rescue AdwordsApi::Errors::ApiException => e
|
67
|
+
puts 'API Exception caught.'
|
68
|
+
puts 'Message: %s' % e.message
|
69
|
+
puts 'Code: %d' % e.code if e.code
|
70
|
+
puts 'Trigger: %s' % e.trigger if e.trigger
|
71
|
+
puts 'Errors:'
|
72
|
+
if e.errors
|
73
|
+
e.errors.each_with_index do |error, index|
|
74
|
+
puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
|
75
|
+
error.each_pair do |field, value|
|
76
|
+
if field != :xsi_type
|
77
|
+
puts ' %s: %s' % [field, value]
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
@@ -0,0 +1,88 @@
|
|
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 the number of API units recorded for
|
21
|
+
# the developer token being used to make this call over the given date range.
|
22
|
+
#
|
23
|
+
# Tags: InfoService.get
|
24
|
+
|
25
|
+
require 'rubygems'
|
26
|
+
gem 'google-adwords-api'
|
27
|
+
require 'adwords_api'
|
28
|
+
|
29
|
+
API_VERSION = :v201003
|
30
|
+
|
31
|
+
def get_unit_count()
|
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
|
+
info_srv = adwords.service(:InfoService, API_VERSION)
|
36
|
+
|
37
|
+
selector = {
|
38
|
+
:api_usage_type => 'UNIT_COUNT',
|
39
|
+
:date_range => {
|
40
|
+
:min => Time.now.strftime('%Y%m01'),
|
41
|
+
:max => Time.now.strftime('%Y%m%d')
|
42
|
+
}
|
43
|
+
}
|
44
|
+
|
45
|
+
# Get the unit info.
|
46
|
+
adwords.use_mcc do
|
47
|
+
info = info_srv.get(selector)
|
48
|
+
if info
|
49
|
+
puts 'The total number of units consumed from %s to %s is %d.' %
|
50
|
+
[selector[:date_range][:min], selector[:date_range][:max],
|
51
|
+
info[:cost]]
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
if __FILE__ == $0
|
57
|
+
# To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
|
58
|
+
# variable to 'true'. This can be done either from your operating system
|
59
|
+
# environment or via code, as done below.
|
60
|
+
ENV['ADWORDSAPI_DEBUG'] = 'false'
|
61
|
+
|
62
|
+
begin
|
63
|
+
get_unit_count()
|
64
|
+
|
65
|
+
# Connection error. Likely transitory.
|
66
|
+
rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
|
67
|
+
puts 'Connection Error: %s' % e
|
68
|
+
puts 'Source: %s' % e.backtrace.first
|
69
|
+
|
70
|
+
# API Error.
|
71
|
+
rescue AdwordsApi::Errors::ApiException => e
|
72
|
+
puts 'API Exception caught.'
|
73
|
+
puts 'Message: %s' % e.message
|
74
|
+
puts 'Code: %d' % e.code if e.code
|
75
|
+
puts 'Trigger: %s' % e.trigger if e.trigger
|
76
|
+
puts 'Errors:'
|
77
|
+
if e.errors
|
78
|
+
e.errors.each_with_index do |error, index|
|
79
|
+
puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
|
80
|
+
error.each_pair do |field, value|
|
81
|
+
if field != :xsi_type
|
82
|
+
puts ' %s: %s' % [field, value]
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -0,0 +1,221 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
#
|
3
|
+
# Author:: sgomes@google.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 sample illustrates how to perform asynchronous requests using the
|
21
|
+
# BulkMutateJobService.
|
22
|
+
#
|
23
|
+
# Tags: BulkMutateJobService.mutate
|
24
|
+
|
25
|
+
require 'rubygems'
|
26
|
+
gem 'google-adwords-api'
|
27
|
+
require 'adwords_api'
|
28
|
+
|
29
|
+
API_VERSION = :v201003
|
30
|
+
|
31
|
+
def perform_bulk_mutate_job()
|
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
|
+
bulk_mutate_job_srv = adwords.service(:BulkMutateJobService, API_VERSION)
|
36
|
+
|
37
|
+
campaign_id = 'INSERT_CAMPAIGN_ID_HERE'.to_i
|
38
|
+
ad_group_id = 'INSERT_AD_GROUP_ID_HERE'.to_i
|
39
|
+
|
40
|
+
# Create an AdGroupAdOperation to add a text ad.
|
41
|
+
text_ad_operation = {
|
42
|
+
# The 'xsi_type' field allows you to specify the xsi:type of the object
|
43
|
+
# being created. It's only necessary when you must provide an explicit
|
44
|
+
# type that the client library can't infer.
|
45
|
+
:xsi_type => 'AdGroupAdOperation',
|
46
|
+
:operator => 'ADD',
|
47
|
+
:operand => {
|
48
|
+
:ad_group_id => ad_group_id,
|
49
|
+
:ad => {
|
50
|
+
:xsi_type => 'TextAd',
|
51
|
+
:headline => 'Luxury Cruise to Mars',
|
52
|
+
:description1 => 'Visit the Red Planet in style.',
|
53
|
+
:description2 => 'Low-gravity fun for everyone!',
|
54
|
+
:url => 'http://www.example.com',
|
55
|
+
:display_url => 'www.example.com',
|
56
|
+
}
|
57
|
+
}
|
58
|
+
}
|
59
|
+
|
60
|
+
# Create an operation stream for the ad.
|
61
|
+
ad_stream = {
|
62
|
+
:scoping_entity_id => {
|
63
|
+
:type => 'CAMPAIGN_ID',
|
64
|
+
:value => campaign_id
|
65
|
+
},
|
66
|
+
:operations => [text_ad_operation]
|
67
|
+
}
|
68
|
+
|
69
|
+
# Create AdGroupCriterionOperations to add keywords.
|
70
|
+
kwd_operations = []
|
71
|
+
1.upto(100) do |index|
|
72
|
+
kwd_operation = {
|
73
|
+
:xsi_type => 'AdGroupCriterionOperation',
|
74
|
+
:operator => 'ADD',
|
75
|
+
:operand => {
|
76
|
+
:xsi_type => 'BiddableAdGroupCriterion',
|
77
|
+
:ad_group_id => ad_group_id,
|
78
|
+
:criterion => {
|
79
|
+
:xsi_type => 'Keyword',
|
80
|
+
:match_type => 'BROAD',
|
81
|
+
:text => 'mars%s' % index
|
82
|
+
}
|
83
|
+
}
|
84
|
+
}
|
85
|
+
kwd_operations << kwd_operation
|
86
|
+
end
|
87
|
+
|
88
|
+
# Create an operation stream for the keywords.
|
89
|
+
kwd_stream = {
|
90
|
+
:scoping_entity_id => {
|
91
|
+
:type => 'CAMPAIGN_ID',
|
92
|
+
:value => campaign_id
|
93
|
+
},
|
94
|
+
:operations => kwd_operations
|
95
|
+
}
|
96
|
+
|
97
|
+
# Create a BulkMutateJobService operation with the first part of the job.
|
98
|
+
job_operation_1 = {
|
99
|
+
:xsi_type => 'JobOperation',
|
100
|
+
# We're using ADD here because we're creating a new job.
|
101
|
+
:operator => 'ADD',
|
102
|
+
:operand => {
|
103
|
+
:xsi_type => 'BulkMutateJob',
|
104
|
+
:num_request_parts => 2,
|
105
|
+
:request => {
|
106
|
+
# The part index is zero-based.
|
107
|
+
:part_index => 0,
|
108
|
+
:operation_streams => [ad_stream]
|
109
|
+
}
|
110
|
+
}
|
111
|
+
}
|
112
|
+
|
113
|
+
# Call mutate() to create a new job by uploading the first part.
|
114
|
+
response_1 = bulk_mutate_job_srv.mutate(job_operation_1)
|
115
|
+
job_id = response_1[:id]
|
116
|
+
puts 'Job id %d was successfully created.' % job_id
|
117
|
+
|
118
|
+
# Similarly, create the next part of the job.
|
119
|
+
job_operation_2 = {
|
120
|
+
:xsi_type => 'JobOperation',
|
121
|
+
# We're using SET now because we're adding a new part to an existing job.
|
122
|
+
# Using ADD again would create a new job altogether.
|
123
|
+
:operator => 'SET',
|
124
|
+
:operand => {
|
125
|
+
:xsi_type => 'BulkMutateJob',
|
126
|
+
:num_request_parts => 2,
|
127
|
+
# Use the ID from the job we added.
|
128
|
+
:id => job_id,
|
129
|
+
:request => {
|
130
|
+
# Second part, hence index 1.
|
131
|
+
:part_index => 1,
|
132
|
+
:operation_streams => [kwd_stream]
|
133
|
+
}
|
134
|
+
}
|
135
|
+
}
|
136
|
+
|
137
|
+
# And call mutate() to upload the second part. Since this is the final part,
|
138
|
+
# the job is automatically cleared for execution.
|
139
|
+
response_2 = bulk_mutate_job_srv.mutate(job_operation_2)
|
140
|
+
puts 'Second part of job %d successfully submitted.' % job_id
|
141
|
+
|
142
|
+
# Wait for the job to complete.
|
143
|
+
selector = {
|
144
|
+
:job_ids => [job_id]
|
145
|
+
}
|
146
|
+
sleep_interval = 10
|
147
|
+
status = nil
|
148
|
+
get_response = nil
|
149
|
+
while status != 'COMPLETED' && status != 'FAILED'
|
150
|
+
unless status.nil?
|
151
|
+
puts "Current status is #{status}, waiting #{sleep_interval} seconds"
|
152
|
+
sleep(sleep_interval) unless status.nil?
|
153
|
+
end
|
154
|
+
get_response = bulk_mutate_job_srv.get(selector)
|
155
|
+
if get_response and get_response.size > 0
|
156
|
+
status = get_response.first[:status]
|
157
|
+
else
|
158
|
+
puts 'Error retrieving job status; aborting.'
|
159
|
+
exit
|
160
|
+
end
|
161
|
+
end
|
162
|
+
|
163
|
+
if status == 'COMPLETED'
|
164
|
+
puts 'Job completed!'
|
165
|
+
# Retrieve the results for the parts.
|
166
|
+
0.upto(job_operation_1[:operand][:num_request_parts] - 1) do |part_index|
|
167
|
+
selector = {
|
168
|
+
:job_ids => [job_id],
|
169
|
+
# Retrieve results for the current part.
|
170
|
+
:result_part_index => part_index
|
171
|
+
}
|
172
|
+
results = bulk_mutate_job_srv.get(selector)
|
173
|
+
if results
|
174
|
+
results.each do |result|
|
175
|
+
puts 'Part %d/%d of job #%d has successfully completed' %
|
176
|
+
[part_index + 1, job_operation_1[:operand][:num_request_parts],
|
177
|
+
job_id]
|
178
|
+
end
|
179
|
+
else
|
180
|
+
puts 'Error retrieving job results; aborting.'
|
181
|
+
exit
|
182
|
+
end
|
183
|
+
end
|
184
|
+
else
|
185
|
+
puts 'Job failed: ' + get_response.first[:failure_reason]
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
189
|
+
if __FILE__ == $0
|
190
|
+
# To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
|
191
|
+
# variable to 'true'. This can be done either from your operating system
|
192
|
+
# environment or via code, as done below.
|
193
|
+
ENV['ADWORDSAPI_DEBUG'] = 'true'
|
194
|
+
|
195
|
+
begin
|
196
|
+
perform_bulk_mutate_job()
|
197
|
+
|
198
|
+
# Connection error. Likely transitory.
|
199
|
+
rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
|
200
|
+
puts 'Connection Error: %s' % e
|
201
|
+
puts 'Source: %s' % e.backtrace.first
|
202
|
+
|
203
|
+
# API Error.
|
204
|
+
rescue AdwordsApi::Errors::ApiException => e
|
205
|
+
puts 'API Exception caught.'
|
206
|
+
puts 'Message: %s' % e.message
|
207
|
+
puts 'Code: %d' % e.code if e.code
|
208
|
+
puts 'Trigger: %s' % e.trigger if e.trigger
|
209
|
+
puts 'Errors:'
|
210
|
+
if e.errors
|
211
|
+
e.errors.each_with_index do |error, index|
|
212
|
+
puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
|
213
|
+
error.each_pair do |field, value|
|
214
|
+
if field != :xsi_type
|
215
|
+
puts ' %s: %s' % [field, value]
|
216
|
+
end
|
217
|
+
end
|
218
|
+
end
|
219
|
+
end
|
220
|
+
end
|
221
|
+
end
|
@@ -0,0 +1,124 @@
|
|
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 a text ad with ad parameters. To add an
|
21
|
+
# ad group, run add_ad_group.rb. To add an ad group criterion, run
|
22
|
+
# add_ad_group_criterion.rb.
|
23
|
+
#
|
24
|
+
# Tags: AdGroupAdService.mutate, AdParamService.mutate
|
25
|
+
|
26
|
+
require 'rubygems'
|
27
|
+
gem 'google-adwords-api'
|
28
|
+
require 'adwords_api'
|
29
|
+
|
30
|
+
API_VERSION = :v201003
|
31
|
+
|
32
|
+
def set_ad_params()
|
33
|
+
# AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
|
34
|
+
# when called without parameters.
|
35
|
+
adwords = AdwordsApi::Api.new
|
36
|
+
ad_group_ad_srv = adwords.service(:AdGroupAdService, API_VERSION)
|
37
|
+
ad_param_srv = adwords.service(:AdParamService, API_VERSION)
|
38
|
+
|
39
|
+
ad_group_id = 'INSERT_AD_GROUP_ID_HERE'.to_i
|
40
|
+
criterion_id = 'INSERT_CRITERION_ID_HERE'.to_i
|
41
|
+
|
42
|
+
# Prepare for adding ad.
|
43
|
+
ad_operation = {
|
44
|
+
:operator => 'ADD',
|
45
|
+
:operand => {
|
46
|
+
:ad_group_id => ad_group_id,
|
47
|
+
:ad => {
|
48
|
+
# The 'xsi_type' field allows you to specify the xsi:type of the object
|
49
|
+
# being created. It's only necessary when you must provide an explicit
|
50
|
+
# type that the client library can't infer.
|
51
|
+
:xsi_type => 'TextAd',
|
52
|
+
:headline => 'Luxury Mars Cruises',
|
53
|
+
:description1 => 'Low-gravity fun for {param1:cheap}.',
|
54
|
+
:description2 => 'Only {param2:a few} seats left!',
|
55
|
+
:url => 'http://www.example.com',
|
56
|
+
:display_url => 'www.example.com'
|
57
|
+
}
|
58
|
+
}
|
59
|
+
}
|
60
|
+
|
61
|
+
# Add ad.
|
62
|
+
response = ad_group_ad_srv.mutate([ad_operation])
|
63
|
+
ad = response[:value].first[:ad]
|
64
|
+
puts 'Text ad id %d was successfully added.' % ad[:id]
|
65
|
+
|
66
|
+
# Prepare for setting ad parameters.
|
67
|
+
price_operation = {
|
68
|
+
:operator => 'SET',
|
69
|
+
:operand => {
|
70
|
+
:ad_group_id => ad_group_id,
|
71
|
+
:criterion_id => criterion_id,
|
72
|
+
:param_index => 1,
|
73
|
+
:insertion_text => "$100"
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
seat_operation = {
|
78
|
+
:operator => 'SET',
|
79
|
+
:operand => {
|
80
|
+
:ad_group_id => ad_group_id,
|
81
|
+
:criterion_id => criterion_id,
|
82
|
+
:param_index => 2,
|
83
|
+
:insertion_text => "50"
|
84
|
+
}
|
85
|
+
}
|
86
|
+
|
87
|
+
# Set ad parameters.
|
88
|
+
response = ad_param_srv.mutate([price_operation, seat_operation])
|
89
|
+
puts 'Parameters were successfully updated.'
|
90
|
+
end
|
91
|
+
|
92
|
+
if __FILE__ == $0
|
93
|
+
# To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
|
94
|
+
# variable to 'true'. This can be done either from your operating system
|
95
|
+
# environment or via code, as done below.
|
96
|
+
ENV['ADWORDSAPI_DEBUG'] = 'false'
|
97
|
+
|
98
|
+
begin
|
99
|
+
set_ad_params()
|
100
|
+
|
101
|
+
# Connection error. Likely transitory.
|
102
|
+
rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
|
103
|
+
puts 'Connection Error: %s' % e
|
104
|
+
puts 'Source: %s' % e.backtrace.first
|
105
|
+
|
106
|
+
# API Error.
|
107
|
+
rescue AdwordsApi::Errors::ApiException => e
|
108
|
+
puts 'API Exception caught.'
|
109
|
+
puts 'Message: %s' % e.message
|
110
|
+
puts 'Code: %d' % e.code if e.code
|
111
|
+
puts 'Trigger: %s' % e.trigger if e.trigger
|
112
|
+
puts 'Errors:'
|
113
|
+
if e.errors
|
114
|
+
e.errors.each_with_index do |error, index|
|
115
|
+
puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
|
116
|
+
error.each_pair do |field, value|
|
117
|
+
if field != :xsi_type
|
118
|
+
puts ' %s: %s' % [field, value]
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|