google-adwords-api 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/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,93 @@
|
|
|
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 update a campaign, setting its budget delivery
|
|
21
|
+
# to 'ACCELERATED'. To create a campaign, run add_campaign.rb.
|
|
22
|
+
#
|
|
23
|
+
# Tags: CampaignService.mutate
|
|
24
|
+
|
|
25
|
+
require 'rubygems'
|
|
26
|
+
gem 'google-adwords-api'
|
|
27
|
+
require 'adwords_api'
|
|
28
|
+
|
|
29
|
+
API_VERSION = :v201101
|
|
30
|
+
|
|
31
|
+
def update_campaign()
|
|
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
|
+
campaign_srv = adwords.service(:CampaignService, API_VERSION)
|
|
36
|
+
|
|
37
|
+
campaign_id = 'INSERT_CAMPAIGN_ID_HERE'.to_i
|
|
38
|
+
|
|
39
|
+
# Prepare for updating campaign.
|
|
40
|
+
operation = {
|
|
41
|
+
:operator => 'SET',
|
|
42
|
+
:operand => {
|
|
43
|
+
:id => campaign_id,
|
|
44
|
+
:budget => {
|
|
45
|
+
:delivery_method => 'ACCELERATED'
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
# Update campaign.
|
|
51
|
+
response = campaign_srv.mutate([operation])
|
|
52
|
+
if response and response[:value]
|
|
53
|
+
campaign = response[:value].first
|
|
54
|
+
puts 'Campaign id %d successfully updated, delivery method set to %s.' %
|
|
55
|
+
[campaign[:id], campaign[:budget][:delivery_method]]
|
|
56
|
+
else
|
|
57
|
+
puts 'No campaigns were updated.'
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
if __FILE__ == $0
|
|
62
|
+
# To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
|
|
63
|
+
# variable to 'true'. This can be done either from your operating system
|
|
64
|
+
# environment or via code, as done below.
|
|
65
|
+
ENV['ADWORDSAPI_DEBUG'] = 'false'
|
|
66
|
+
|
|
67
|
+
begin
|
|
68
|
+
update_campaign()
|
|
69
|
+
|
|
70
|
+
# Connection error. Likely transitory.
|
|
71
|
+
rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
|
|
72
|
+
puts 'Connection Error: %s' % e
|
|
73
|
+
puts 'Source: %s' % e.backtrace.first
|
|
74
|
+
|
|
75
|
+
# API Error.
|
|
76
|
+
rescue AdwordsApi::Errors::ApiException => e
|
|
77
|
+
puts 'API Exception caught.'
|
|
78
|
+
puts 'Message: %s' % e.message
|
|
79
|
+
puts 'Code: %d' % e.code if e.code
|
|
80
|
+
puts 'Trigger: %s' % e.trigger if e.trigger
|
|
81
|
+
puts 'Errors:'
|
|
82
|
+
if e.errors
|
|
83
|
+
e.errors.each_with_index do |error, index|
|
|
84
|
+
puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
|
|
85
|
+
error.each_pair do |field, value|
|
|
86
|
+
if field != :xsi_type
|
|
87
|
+
puts ' %s: %s' % [field, value]
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
end
|
|
@@ -0,0 +1,91 @@
|
|
|
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 update a user list, setting its description.
|
|
21
|
+
# To create a user list, run add_user_list.rb.
|
|
22
|
+
#
|
|
23
|
+
# Tags: UserListService.mutate
|
|
24
|
+
|
|
25
|
+
require 'rubygems'
|
|
26
|
+
gem 'google-adwords-api'
|
|
27
|
+
require 'adwords_api'
|
|
28
|
+
|
|
29
|
+
API_VERSION = :v201101
|
|
30
|
+
|
|
31
|
+
def update_user_list()
|
|
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
|
+
user_list_srv = adwords.service(:UserListService, API_VERSION)
|
|
36
|
+
|
|
37
|
+
user_list_id = 'INSERT_USER_LIST_ID_HERE'.to_i
|
|
38
|
+
|
|
39
|
+
# Prepare for updating remarketing user list.
|
|
40
|
+
operation = {
|
|
41
|
+
:operator => 'SET',
|
|
42
|
+
:operand => {
|
|
43
|
+
:id => user_list_id,
|
|
44
|
+
:description => 'Last updated at %s' % Time.now.to_s
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
# Update user list.
|
|
49
|
+
response = user_list_srv.mutate([operation])
|
|
50
|
+
if response and response[:value]
|
|
51
|
+
user_list = response[:value].first
|
|
52
|
+
puts 'User list id %d was successfully updated, description set to "%s."' %
|
|
53
|
+
[user_list[:id], user_list[:description]]
|
|
54
|
+
else
|
|
55
|
+
puts 'No user lists were updated.'
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
if __FILE__ == $0
|
|
60
|
+
# To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
|
|
61
|
+
# variable to 'true'. This can be done either from your operating system
|
|
62
|
+
# environment or via code, as done below.
|
|
63
|
+
ENV['ADWORDSAPI_DEBUG'] = 'false'
|
|
64
|
+
|
|
65
|
+
begin
|
|
66
|
+
update_user_list()
|
|
67
|
+
|
|
68
|
+
# Connection error. Likely transitory.
|
|
69
|
+
rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
|
|
70
|
+
puts 'Connection Error: %s' % e
|
|
71
|
+
puts 'Source: %s' % e.backtrace.first
|
|
72
|
+
|
|
73
|
+
# API Error.
|
|
74
|
+
rescue AdwordsApi::Errors::ApiException => e
|
|
75
|
+
puts 'API Exception caught.'
|
|
76
|
+
puts 'Message: %s' % e.message
|
|
77
|
+
puts 'Code: %d' % e.code if e.code
|
|
78
|
+
puts 'Trigger: %s' % e.trigger if e.trigger
|
|
79
|
+
puts 'Errors:'
|
|
80
|
+
if e.errors
|
|
81
|
+
e.errors.each_with_index do |error, index|
|
|
82
|
+
puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
|
|
83
|
+
error.each_pair do |field, value|
|
|
84
|
+
if field != :xsi_type
|
|
85
|
+
puts ' %s: %s' % [field, value]
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
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 uploads an image. To get images, run get_all_images.rb.
|
|
21
|
+
#
|
|
22
|
+
# Tags: MediaService.upload
|
|
23
|
+
|
|
24
|
+
require 'rubygems'
|
|
25
|
+
gem 'google-adwords-api'
|
|
26
|
+
require 'adwords_api'
|
|
27
|
+
require 'base64'
|
|
28
|
+
|
|
29
|
+
API_VERSION = :v201101
|
|
30
|
+
|
|
31
|
+
def upload_image()
|
|
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
|
+
media_srv = adwords.service(:MediaService, API_VERSION)
|
|
36
|
+
|
|
37
|
+
# Create image.
|
|
38
|
+
image_url = 'https://sandbox.google.com/sandboximages/image.jpg'
|
|
39
|
+
# This utility method retrieves the contents of a URL using all of the config
|
|
40
|
+
# options provided to the Api object.
|
|
41
|
+
image_data = AdsCommon::Http.get(image_url, adwords.config)
|
|
42
|
+
base64_image_data = Base64.encode64(image_data)
|
|
43
|
+
image = {
|
|
44
|
+
# The 'xsi_type' field allows you to specify the xsi:type of the object
|
|
45
|
+
# being created. It's only necessary when you must provide an explicit
|
|
46
|
+
# type that the client library can't infer.
|
|
47
|
+
:xsi_type => 'Image',
|
|
48
|
+
:data => base64_image_data,
|
|
49
|
+
:type => 'IMAGE'
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
# Upload image.
|
|
53
|
+
response = media_srv.upload([image])
|
|
54
|
+
if response and !response.empty?
|
|
55
|
+
ret_image = response.first
|
|
56
|
+
dimensions = AdwordsApi::Utils.map(ret_image[:dimensions])
|
|
57
|
+
puts "Image with id #{ret_image[:media_id]}, dimensions " +
|
|
58
|
+
"#{dimensions['FULL'][:height]}x#{dimensions['FULL'][:width]} " +
|
|
59
|
+
"and MIME type \"#{ret_image[:mime_type]}\" uploaded successfully."
|
|
60
|
+
else
|
|
61
|
+
puts "No images uploaded."
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
if __FILE__ == $0
|
|
66
|
+
# To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
|
|
67
|
+
# variable to 'true'. This can be done either from your operating system
|
|
68
|
+
# environment or via code, as done below.
|
|
69
|
+
ENV['ADWORDSAPI_DEBUG'] = 'false'
|
|
70
|
+
|
|
71
|
+
begin
|
|
72
|
+
upload_image()
|
|
73
|
+
|
|
74
|
+
# Connection error. Likely transitory.
|
|
75
|
+
rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
|
|
76
|
+
puts 'Connection Error: %s' % e
|
|
77
|
+
puts 'Source: %s' % e.backtrace.first
|
|
78
|
+
|
|
79
|
+
# API Error.
|
|
80
|
+
rescue AdwordsApi::Errors::ApiException => e
|
|
81
|
+
puts 'API Exception caught.'
|
|
82
|
+
puts 'Message: %s' % e.message
|
|
83
|
+
puts 'Code: %d' % e.code if e.code
|
|
84
|
+
puts 'Trigger: %s' % e.trigger if e.trigger
|
|
85
|
+
puts 'Errors:'
|
|
86
|
+
if e.errors
|
|
87
|
+
e.errors.each_with_index do |error, index|
|
|
88
|
+
puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
|
|
89
|
+
error.each_pair do |field, value|
|
|
90
|
+
if field != :xsi_type
|
|
91
|
+
puts ' %s: %s' % [field, value]
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
end
|
data/lib/adwords_api.rb
ADDED
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
#
|
|
3
|
+
# Authors:: 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
|
+
# Contains the main classes for the client library. Takes care of all
|
|
21
|
+
# dependencies.
|
|
22
|
+
|
|
23
|
+
require 'rubygems'
|
|
24
|
+
gem 'soap4r', '=1.5.8'
|
|
25
|
+
gem 'google-ads-common', '~>0.2.0'
|
|
26
|
+
require 'thread'
|
|
27
|
+
require 'uri'
|
|
28
|
+
require 'ads_common/logger'
|
|
29
|
+
require 'ads_common/soap4r_patches'
|
|
30
|
+
require 'ads_common/api'
|
|
31
|
+
require 'ads_common/config'
|
|
32
|
+
require 'ads_common/auth/client_login_handler'
|
|
33
|
+
require 'adwords_api/auth/v13_login_handler'
|
|
34
|
+
require 'adwords_api/errors'
|
|
35
|
+
require 'adwords_api/api_config'
|
|
36
|
+
require 'adwords_api/extensions'
|
|
37
|
+
require 'adwords_api/soap4r_response_handler'
|
|
38
|
+
require 'adwords_api/credential_handler'
|
|
39
|
+
require 'adwords_api/utils'
|
|
40
|
+
|
|
41
|
+
# Main namespace for all the client library's modules and classes.
|
|
42
|
+
module AdwordsApi
|
|
43
|
+
|
|
44
|
+
# Wrapper class that serves as the main point of access for all the API usage.
|
|
45
|
+
#
|
|
46
|
+
# Holds all the services, as well as login credentials.
|
|
47
|
+
#
|
|
48
|
+
class Api < AdsCommon::Api
|
|
49
|
+
|
|
50
|
+
REQUEST_HEADER = 'RequestHeader'
|
|
51
|
+
HEADER_NAMESPACE_PREAMBLE = 'https://adwords.google.com/api/adwords/cm/'
|
|
52
|
+
LOGIN_SERVICE_NAME = 'adwords'
|
|
53
|
+
|
|
54
|
+
# Mutex object for controlling concurrent access to API object data
|
|
55
|
+
attr_reader :mutex
|
|
56
|
+
# Number of units spent on the last operation via this API object
|
|
57
|
+
attr_accessor :last_units
|
|
58
|
+
# Number of units spent in total, via this API object
|
|
59
|
+
attr_accessor :total_units
|
|
60
|
+
|
|
61
|
+
# Accessor for client login handler, so that we can access the token.
|
|
62
|
+
attr_accessor :client_login_handler
|
|
63
|
+
|
|
64
|
+
public
|
|
65
|
+
|
|
66
|
+
# Getter for the API service configurations
|
|
67
|
+
def api_config
|
|
68
|
+
AdwordsApi::ApiConfig
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
# Auxiliary method to create a new Soap4rResponseHandler, of the type we
|
|
72
|
+
# want to use for AdWords logging
|
|
73
|
+
def create_callback_handler
|
|
74
|
+
AdwordsApi::Soap4rResponseHandler.new(self)
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# Retrieve single NestedHeaderHandler for v20xx and one SingleHeaderHandler
|
|
78
|
+
# per credential for v13.
|
|
79
|
+
#
|
|
80
|
+
# Args:
|
|
81
|
+
# - auth_handler: instance of an AdsCommon::Auth::BaseHandler subclass to
|
|
82
|
+
# handle authentication
|
|
83
|
+
# - header_list: the list of headers to be handled
|
|
84
|
+
# - version: intended API version
|
|
85
|
+
# - wrapper: wrapper object for the service being handled
|
|
86
|
+
#
|
|
87
|
+
# Returns:
|
|
88
|
+
# - a list of SOAP header handlers; one per provided header
|
|
89
|
+
#
|
|
90
|
+
def soap_header_handlers(auth_handler, header_list, version, wrapper)
|
|
91
|
+
if version == :v13
|
|
92
|
+
header_handlers = []
|
|
93
|
+
header_list.each do |header|
|
|
94
|
+
header_handlers << AdsCommon::Soap4rHeaders::SingleHeaderHandler.new(
|
|
95
|
+
@credential_handler, auth_handler, header, nil, version)
|
|
96
|
+
end
|
|
97
|
+
return header_handlers
|
|
98
|
+
else
|
|
99
|
+
ns = HEADER_NAMESPACE_PREAMBLE + version.to_s
|
|
100
|
+
top_ns = wrapper.namespace
|
|
101
|
+
return [AdsCommon::Soap4rHeaders::NestedHeaderHandler.new(
|
|
102
|
+
@credential_handler, auth_handler, REQUEST_HEADER, top_ns, ns,
|
|
103
|
+
version)]
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
# Constructor for Api.
|
|
108
|
+
def initialize(provided_config = nil)
|
|
109
|
+
load_config(provided_config)
|
|
110
|
+
@credential_handler = AdwordsApi::CredentialHandler.new(@config)
|
|
111
|
+
environment = config.read('service.environment').upcase.to_sym
|
|
112
|
+
if !api_config.environments.include? environment
|
|
113
|
+
raise AdsCommon::Errors::Error,
|
|
114
|
+
"Unknown environment #{environment}"
|
|
115
|
+
end
|
|
116
|
+
@drivers = Hash.new
|
|
117
|
+
@wrappers = Hash.new
|
|
118
|
+
@total_units = 0
|
|
119
|
+
@last_units = 0
|
|
120
|
+
log_to_console = !ENV['ADWORDSAPI_DEBUG'].nil? &&
|
|
121
|
+
ENV['ADWORDSAPI_DEBUG'].upcase == 'TRUE'
|
|
122
|
+
@xml_logger = AdsCommon::Logger.new('soap_xml', log_to_console)
|
|
123
|
+
@request_logger = AdsCommon::Logger.new('request_info')
|
|
124
|
+
@mutex = Mutex.new
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
# Helper method to provide a simple way of doing an MCC-level operation
|
|
128
|
+
# without the need to change credentials. Executes a block of code as an
|
|
129
|
+
# MCC-level operation and/or returns the current status of the property.
|
|
130
|
+
#
|
|
131
|
+
# Args:
|
|
132
|
+
# - accepts a block, which it will execute as an MCC-level operation.
|
|
133
|
+
#
|
|
134
|
+
# Returns:
|
|
135
|
+
# Boolean indicating whether MCC-level operations are currently enabled or
|
|
136
|
+
# disabled
|
|
137
|
+
#
|
|
138
|
+
def use_mcc
|
|
139
|
+
if block_given?
|
|
140
|
+
previous = @credential_handler.use_mcc
|
|
141
|
+
begin
|
|
142
|
+
@credential_handler.use_mcc = true
|
|
143
|
+
yield
|
|
144
|
+
ensure
|
|
145
|
+
@credential_handler.use_mcc = previous
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
return @credential_handler.use_mcc
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
# Helper method to provide a simple way of doing an MCC-level operation
|
|
152
|
+
# without the need to change credentials. Sets the value of the property
|
|
153
|
+
# that controls whether MCC-level operations are enabled or disabled.
|
|
154
|
+
#
|
|
155
|
+
# Args:
|
|
156
|
+
# - value: the new value for the property (boolean)
|
|
157
|
+
#
|
|
158
|
+
def use_mcc=(value)
|
|
159
|
+
@credential_handler.use_mcc = value
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
# Helper method to provide a simple way of doing a validate-only operation
|
|
163
|
+
# without the need to change credentials. Executes a block of code as an
|
|
164
|
+
# validate-only operation and/or returns the current status of the property.
|
|
165
|
+
#
|
|
166
|
+
# Args:
|
|
167
|
+
# - accepts a block, which it will execute as a validate-only operation.
|
|
168
|
+
#
|
|
169
|
+
# Returns:
|
|
170
|
+
# Boolean indicating whether validate-only operations are currently enabled
|
|
171
|
+
# or disabled
|
|
172
|
+
#
|
|
173
|
+
def validate_only
|
|
174
|
+
if block_given?
|
|
175
|
+
previous = @credential_handler.validate_only
|
|
176
|
+
begin
|
|
177
|
+
@credential_handler.validate_only = true
|
|
178
|
+
yield
|
|
179
|
+
ensure
|
|
180
|
+
@credential_handler.validate_only = previous
|
|
181
|
+
end
|
|
182
|
+
end
|
|
183
|
+
return @credential_handler.validate_only
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
# Helper method to provide a simple way of performing validate-only
|
|
187
|
+
# operations. Sets the value of the property
|
|
188
|
+
# that controls whether validate-only operations are enabled or disabled.
|
|
189
|
+
#
|
|
190
|
+
# Args:
|
|
191
|
+
# - value: the new value for the property (boolean)
|
|
192
|
+
#
|
|
193
|
+
def validate_only=(value)
|
|
194
|
+
@credential_handler.validate_only = value
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
# Helper method to provide a simple way of performing requests with support
|
|
198
|
+
# for partial failures. Executes a block of code with partial failures
|
|
199
|
+
# enabled and/or returns the current status of the property.
|
|
200
|
+
#
|
|
201
|
+
# Args:
|
|
202
|
+
# - accepts a block, which it will execute as a partial failure operation.
|
|
203
|
+
#
|
|
204
|
+
# Returns:
|
|
205
|
+
# Boolean indicating whether partial failure operations are currently
|
|
206
|
+
# enabled or disabled
|
|
207
|
+
#
|
|
208
|
+
def partial_failure
|
|
209
|
+
if block_given?
|
|
210
|
+
previous = @credential_handler.partial_failure
|
|
211
|
+
begin
|
|
212
|
+
@credential_handler.partial_failure = true
|
|
213
|
+
yield
|
|
214
|
+
ensure
|
|
215
|
+
@credential_handler.partial_failure = previous
|
|
216
|
+
end
|
|
217
|
+
end
|
|
218
|
+
return @credential_handler.partial_failure
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
# Helper method to provide a simple way of performing requests with support
|
|
222
|
+
# for partial failures.
|
|
223
|
+
#
|
|
224
|
+
# Args:
|
|
225
|
+
# - value: the new value for the property (boolean)
|
|
226
|
+
#
|
|
227
|
+
def partial_failure=(value)
|
|
228
|
+
@credential_handler.partial_failure = value
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
private
|
|
232
|
+
|
|
233
|
+
# Creates an appropriate authentication handler for each service (reuses the
|
|
234
|
+
# ClientLogin one to avoid generating multiple tokens unnecessarily).
|
|
235
|
+
#
|
|
236
|
+
# Args:
|
|
237
|
+
# - version: intended API version
|
|
238
|
+
# - environment: the current working environment (production, sandbox, etc.)
|
|
239
|
+
#
|
|
240
|
+
# Returns:
|
|
241
|
+
# - auth handler
|
|
242
|
+
#
|
|
243
|
+
def create_auth_handler(version, environment)
|
|
244
|
+
if version == :v13
|
|
245
|
+
return AdwordsApi::Auth::V13LoginHandler.new
|
|
246
|
+
else
|
|
247
|
+
if @client_login_handler.nil?
|
|
248
|
+
auth_server = api_config.auth_server(environment)
|
|
249
|
+
@client_login_handler =
|
|
250
|
+
AdsCommon::Auth::ClientLoginHandler.new(config, auth_server,
|
|
251
|
+
LOGIN_SERVICE_NAME)
|
|
252
|
+
end
|
|
253
|
+
return @client_login_handler
|
|
254
|
+
end
|
|
255
|
+
end
|
|
256
|
+
|
|
257
|
+
# Helper method to load the default configuration file or a given config.
|
|
258
|
+
#
|
|
259
|
+
# Args:
|
|
260
|
+
# - provided_config: a configuration hash, if you wish to use a specific
|
|
261
|
+
# configuration rather than use the default
|
|
262
|
+
#
|
|
263
|
+
def load_config(provided_config = nil)
|
|
264
|
+
@config = AdsCommon::Config.new
|
|
265
|
+
if !provided_config
|
|
266
|
+
filename = File.join(ENV['HOME'], 'adwords_api.yml')
|
|
267
|
+
@config.load(filename)
|
|
268
|
+
else
|
|
269
|
+
@config.set_all(provided_config)
|
|
270
|
+
end
|
|
271
|
+
end
|
|
272
|
+
end
|
|
273
|
+
end
|