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
data/README
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
= Google AdWords Client Library
|
|
2
|
+
|
|
3
|
+
Welcome to the next generation Google-developed Ruby client library for the
|
|
4
|
+
AdWords API!
|
|
5
|
+
|
|
6
|
+
Please note that this is an early PREVIEW of the client library, under heavy
|
|
7
|
+
development! A lot of things (such as documentation and full unit testing) are
|
|
8
|
+
still missing or being worked on.
|
|
9
|
+
|
|
10
|
+
It contains full support for v13, v200909, v201003, v201008 and v201101, with
|
|
11
|
+
full stubs, and a simplified programming interface that lets you handle
|
|
12
|
+
everything in native Ruby collections, instead of forcing you to deal with SOAP
|
|
13
|
+
library-generated objects.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
= Docs for Users
|
|
17
|
+
|
|
18
|
+
== 1 - Installation:
|
|
19
|
+
|
|
20
|
+
google-adwords-api is a ruby gem. See http://docs.rubygems.org/read/book/1
|
|
21
|
+
|
|
22
|
+
Install it using the gem install command.
|
|
23
|
+
$ gem install --remote google-adwords-api
|
|
24
|
+
|
|
25
|
+
The following gem libraries are required:
|
|
26
|
+
- soap4r v1.5.8
|
|
27
|
+
- httpclient v2.1.2 or greater
|
|
28
|
+
- google-ads-common v0.1.x
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
== 2 - Using the client library:
|
|
32
|
+
|
|
33
|
+
It's pretty easy to use.
|
|
34
|
+
See http://docs.rubygems.org/read/chapter/3#page70 for how to set the rubygem
|
|
35
|
+
environment.
|
|
36
|
+
$ export RUBYOPT=rubygems
|
|
37
|
+
or
|
|
38
|
+
$ ruby -rubygems my_program_that_uses_gems
|
|
39
|
+
|
|
40
|
+
If you are running Ruby 1.8 and do not use the rubygems option, you need to add
|
|
41
|
+
require 'rubygems'
|
|
42
|
+
at the beginning of your programs.
|
|
43
|
+
|
|
44
|
+
Then:
|
|
45
|
+
gem 'google-adwords-api'
|
|
46
|
+
require 'adwords_api'
|
|
47
|
+
|
|
48
|
+
adwords = AdwordsApi::Api.new
|
|
49
|
+
creates an Api object that will grant you access to all the services for all of
|
|
50
|
+
the currently supported vesions of the AdWords API. It uses a config file in
|
|
51
|
+
ENV['HOME']/adwords_api.yml to read all of your configurations.
|
|
52
|
+
There is an example config file in the root adwords_api directory.
|
|
53
|
+
You can also pass API a manually constructed config hash like:
|
|
54
|
+
adwords = AdwordsApi::Api.new({
|
|
55
|
+
:authentication => {
|
|
56
|
+
:method => 'ClientLogin',
|
|
57
|
+
:developer_token => 'DEVELOPER_TOKEN',
|
|
58
|
+
:user_agent => 'Ruby Sample',
|
|
59
|
+
:password => 'PASSWORD',
|
|
60
|
+
:email => 'user@domain.com'
|
|
61
|
+
:client_email => 'user2@domain.com'
|
|
62
|
+
},
|
|
63
|
+
:service => {
|
|
64
|
+
:environment => 'Production'
|
|
65
|
+
}
|
|
66
|
+
})
|
|
67
|
+
|
|
68
|
+
Then, just specify which service you're looking to use, and which version:
|
|
69
|
+
campaign_srv = adwords.service(:CampaignService, :v201101)
|
|
70
|
+
|
|
71
|
+
and you should now be able to just use the API methods in the object you were
|
|
72
|
+
returned:
|
|
73
|
+
campaigns = campaign_srv.get({}) # Empty selector to get all
|
|
74
|
+
|
|
75
|
+
See the code in the examples directory for working examples you can build from.
|
|
76
|
+
|
|
77
|
+
*Note*: if your setup requires you to send connections through a proxy server,
|
|
78
|
+
please set the appropriate options in the config file or config hash. E.g.:
|
|
79
|
+
config[:connection] = {
|
|
80
|
+
:proxy => 'http://user:password@proxy_hostname:8080/path'
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
=== 2.1 - Ruby names for a Ruby library:
|
|
85
|
+
|
|
86
|
+
In order to make things more Ruby-like for our Ruby developers, we've renamed
|
|
87
|
+
API objects and methods to more closely match Ruby conventions. This means using
|
|
88
|
+
snake_case for methods and parameters, and UpperCamelCase for class names.
|
|
89
|
+
|
|
90
|
+
For example, the 'getReportFields' method of the ReportDefinitionService is
|
|
91
|
+
named 'get_report_fields' in the client library. You invoke it by doing:
|
|
92
|
+
response = report_def_srv.get_report_fields(report_type)
|
|
93
|
+
|
|
94
|
+
The 'get' method, on the other hand, returns a ReportDefinitionPage object which
|
|
95
|
+
has an 'entries' and a 'total_num_entries' field. So, to access the return
|
|
96
|
+
values, you would do:
|
|
97
|
+
response = report_def_srv.get(selector)
|
|
98
|
+
num_entries = response[:rval][:total_num_entries]
|
|
99
|
+
|
|
100
|
+
Essentially, all you have to do is follow Ruby conventions, and the library will
|
|
101
|
+
do the rest. All of the examples are written following this standard.
|
|
102
|
+
|
|
103
|
+
If, however, you would prefer to use the names as provided in the AdWords
|
|
104
|
+
documentation, please disable the 'use_ruby_names' option under the 'service'
|
|
105
|
+
category in the config:
|
|
106
|
+
config[:service][:use_ruby_names] = false
|
|
107
|
+
|
|
108
|
+
Disabling Ruby names is an experimental feature, and it is not recommended.
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
=== 2.2 - Using the Sandbox:
|
|
112
|
+
|
|
113
|
+
In order to use the sandbox, make sure that the 'environment' parameter under
|
|
114
|
+
'service' in the configuration is set to Sandbox.
|
|
115
|
+
config[:service] = {
|
|
116
|
+
:environment => 'Sandbox'
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
=== 2.3 - Logging:
|
|
121
|
+
|
|
122
|
+
It is often useful to see a trace of the raw SOAP XML being sent and received.
|
|
123
|
+
The quickest way of achieving this when debugging your application is by setting
|
|
124
|
+
the ADWORDSAPI_DEBUG environment variable to TRUE; e.g. in the bash shell:
|
|
125
|
+
$ export ADWORDSAPI_DEBUG=TRUE
|
|
126
|
+
or from your Ruby code:
|
|
127
|
+
ENV['ADWORDSAPI_DEBUG'] = 'TRUE'
|
|
128
|
+
|
|
129
|
+
This will output the SOAP XML to stderr, which will usually show up in your
|
|
130
|
+
terminal window.
|
|
131
|
+
|
|
132
|
+
There's also the option of logging requests and XML to files. In order to enable
|
|
133
|
+
this, you should use the log_to_file method of the loggers inside your
|
|
134
|
+
AdwordsApi::Api object:
|
|
135
|
+
adwords = AdwordsApi::Api.new
|
|
136
|
+
adwords.request_logger.log_to_file
|
|
137
|
+
adwords.xml_logger.log_to_file
|
|
138
|
+
|
|
139
|
+
The first logs the units spent and the requests made, whereas the second logs
|
|
140
|
+
the full SOAP XML being sent and received over the wire. These will be written
|
|
141
|
+
to the current directory by default, but you can specify another directory as an
|
|
142
|
+
optional parameter to log_to_file:
|
|
143
|
+
adwords.request_logger.log_to_file('/var/log/my_app/')
|
|
144
|
+
adwords.xml_logger.log_to_file('/var/log/my_app/')
|
|
145
|
+
|
|
146
|
+
The files will be named request_info and soap_xml, respectively.
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
= Docs for Developers
|
|
150
|
+
|
|
151
|
+
$ rake getwsdl
|
|
152
|
+
to get the wsdl files
|
|
153
|
+
|
|
154
|
+
$ rake generate
|
|
155
|
+
to regenerate the bindings if needed
|
|
156
|
+
|
|
157
|
+
$ rake package
|
|
158
|
+
to package the gem and create a release
|
|
159
|
+
|
|
160
|
+
$ rake test
|
|
161
|
+
to run unit tests on the library
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
= Copyright/License Info
|
|
165
|
+
|
|
166
|
+
Copyright 2011, Google Inc. All Rights Reserved.
|
|
167
|
+
|
|
168
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
169
|
+
you may not use this file except in compliance with the License.
|
|
170
|
+
You may obtain a copy of the License at
|
|
171
|
+
|
|
172
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
173
|
+
|
|
174
|
+
Unless required by applicable law or agreed to in writing, software
|
|
175
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
176
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
177
|
+
See the License for the specific language governing permissions and
|
|
178
|
+
limitations under the License.
|
data/Rakefile
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
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
|
+
# Rakefile for the AdWords API client library.
|
|
21
|
+
|
|
22
|
+
# A little trick so we can load things from the lib/ directory without having
|
|
23
|
+
# to patch the "require" statements in the files
|
|
24
|
+
$:.unshift File.join(File.dirname(__FILE__), 'lib')
|
|
25
|
+
|
|
26
|
+
require 'rubygems'
|
|
27
|
+
gem 'google-ads-common'
|
|
28
|
+
require 'ads_common/build/soap4r_generator'
|
|
29
|
+
require 'ads_common/config'
|
|
30
|
+
require 'adwords_api/api_config'
|
|
31
|
+
require 'adwords_api/extensions'
|
|
32
|
+
|
|
33
|
+
# Configure some constants and built-in tasks
|
|
34
|
+
$PROJECT_NAME = 'adwords_api'
|
|
35
|
+
$GEM_NAME = 'google-adwords-api'
|
|
36
|
+
$API_NAME = 'AdWords API'
|
|
37
|
+
$CURRENT_VERSION = AdwordsApi::ApiConfig::CLIENT_LIB_VERSION
|
|
38
|
+
$PRODDIR = 'adwords_api'
|
|
39
|
+
$ADS_COMMON_VERSION = '~> 0.2.0'
|
|
40
|
+
|
|
41
|
+
# Configure module / namespace
|
|
42
|
+
$MODULE = AdwordsApi
|
|
43
|
+
|
|
44
|
+
# Configure config file location.
|
|
45
|
+
$CONFIG_FILE = 'adwords_api.yml'
|
|
46
|
+
|
|
47
|
+
# Configure gem details
|
|
48
|
+
$GEM_SUMMARY = "Client library for the AdWords API."
|
|
49
|
+
description = "#{$PROJECT_NAME} provides an easy to use way to access " +
|
|
50
|
+
"the AdWords API in Ruby.\nCurrently the following AdWords API versions " +
|
|
51
|
+
"are supported:"
|
|
52
|
+
versions = AdwordsApi::ApiConfig.versions.map { |version| version.to_s }
|
|
53
|
+
versions.sort.each do |version|
|
|
54
|
+
description += "\n * #{version}"
|
|
55
|
+
end
|
|
56
|
+
$GEM_DESCRIPTION = description
|
|
57
|
+
$GEM_AUTHORS = ['Sergio Gomes']
|
|
58
|
+
$GEM_EMAIL = 'api.sgomes@gmail.com'
|
|
59
|
+
$GEM_HOMEPAGE = 'http://code.google.com/p/google-api-adwords-ruby/'
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
# Configure code generation for the AdWords API client library.
|
|
63
|
+
module Generator
|
|
64
|
+
|
|
65
|
+
class << Generator
|
|
66
|
+
include AdsCommon::Build::Soap4rGenerator
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def self.api_config
|
|
70
|
+
AdwordsApi::ApiConfig
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def self.config
|
|
74
|
+
filename = File.join(ENV['HOME'], $CONFIG_FILE)
|
|
75
|
+
if File.exist?(filename)
|
|
76
|
+
AdsCommon::Config.new(filename)
|
|
77
|
+
else
|
|
78
|
+
nil
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
def self.extension_config
|
|
83
|
+
AdwordsApi::Extensions
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
private
|
|
87
|
+
|
|
88
|
+
# Helper method to create a link to a method's entry in the API online docs.
|
|
89
|
+
#
|
|
90
|
+
# Args:
|
|
91
|
+
# - version: the API version (as an integer)
|
|
92
|
+
# - service: the service name (as a string)
|
|
93
|
+
# - method: the method name (as a string)
|
|
94
|
+
#
|
|
95
|
+
# Returns:
|
|
96
|
+
# The URL to the method's entry in the documentation (as a string).
|
|
97
|
+
# nil if none.
|
|
98
|
+
#
|
|
99
|
+
def self.doc_link(version, service, method)
|
|
100
|
+
if version.to_s == 'v13'
|
|
101
|
+
base = 'http://code.google.com/apis/adwords/docs/developer/'
|
|
102
|
+
url = base + service.to_s + '.html#' + method
|
|
103
|
+
return url
|
|
104
|
+
elsif version.to_s =~ /v20\d[\d]+/
|
|
105
|
+
base = 'http://code.google.com/apis/adwords/docs/reference/'
|
|
106
|
+
url = base + version.to_s + '/' + service.to_s + '.html#' + method
|
|
107
|
+
return url
|
|
108
|
+
else
|
|
109
|
+
return nil
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
# Import tasks in common file
|
|
117
|
+
require 'ads_common/build/rake_common'
|
data/adwords_api.yml
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
# This is an example configuration file for the AdWords API client library.
|
|
3
|
+
# Please fill in the required fields, and copy it over to your home directory.
|
|
4
|
+
:authentication:
|
|
5
|
+
:method: ClientLogin
|
|
6
|
+
:developer_token: INSERT_YOUR_DEVELOPER_TOKEN_HERE
|
|
7
|
+
:user_agent: INSERT_YOUR_USER_AGENT_HERE
|
|
8
|
+
:password: INSERT_YOUR_PASSWORD_HERE
|
|
9
|
+
:email: INSERT_YOUR_LOGIN_EMAIL_HERE
|
|
10
|
+
:client_email: INSERT_YOUR_CLIENT_EMAIL_HERE
|
|
11
|
+
# If you would like to manage your auth tokens manually, use the 'auth_token'
|
|
12
|
+
# property.
|
|
13
|
+
#:auth_token: INSERT_AUTH_TOKEN_HERE
|
|
14
|
+
:service:
|
|
15
|
+
:environment: Production
|
|
16
|
+
:use_ruby_names: true
|
|
17
|
+
:connection:
|
|
18
|
+
:strict_ssl_verification: false
|
|
19
|
+
# If your proxy connection requires authentication, make sure to include it in
|
|
20
|
+
# the URL, e.g.: http://user:password@proxy_hostname:8080/path
|
|
21
|
+
# :proxy: INSERT_PROXY_HERE
|
|
@@ -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 override an ad extension for a specific ad, by
|
|
21
|
+
# creating an ad extension override. To create a campaign, run add_campaign.rb.
|
|
22
|
+
# To create an ad, run add_ads.rb.
|
|
23
|
+
#
|
|
24
|
+
# Tags: AdExtensionOverrideService.mutate
|
|
25
|
+
|
|
26
|
+
require 'rubygems'
|
|
27
|
+
gem 'google-adwords-api'
|
|
28
|
+
require 'adwords_api'
|
|
29
|
+
|
|
30
|
+
API_VERSION = :v200909
|
|
31
|
+
|
|
32
|
+
def add_ad_extension_override()
|
|
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_ext_override_srv =
|
|
37
|
+
adwords.service(:AdExtensionOverrideService, API_VERSION)
|
|
38
|
+
|
|
39
|
+
ad_id = 'INSERT_AD_ID_HERE'.to_i
|
|
40
|
+
campaign_ad_extension_id = 'INSERT_CAMPAIGN_AD_EXTENSION_ID_HERE'.to_i
|
|
41
|
+
|
|
42
|
+
# Create operation.
|
|
43
|
+
operation = {
|
|
44
|
+
:operator => 'ADD',
|
|
45
|
+
:operand => {
|
|
46
|
+
:ad_id => ad_id,
|
|
47
|
+
:ad_extension => {
|
|
48
|
+
:id => campaign_ad_extension_id
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
# Add override.
|
|
54
|
+
response = ad_ext_override_srv.mutate([operation])
|
|
55
|
+
ad_ext_override = response[:value].first
|
|
56
|
+
puts 'Ad extension override was successfully added.'
|
|
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
|
+
add_ad_extension_override()
|
|
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,98 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
#
|
|
3
|
+
# Author:: api.sgomes@gmail.com (Sérgio Gomes)
|
|
4
|
+
#
|
|
5
|
+
# Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
|
|
6
|
+
#
|
|
7
|
+
# License:: Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
# you may not use this file except in compliance with the License.
|
|
9
|
+
# You may obtain a copy of the License at
|
|
10
|
+
#
|
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
#
|
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
16
|
+
# implied.
|
|
17
|
+
# See the License for the specific language governing permissions and
|
|
18
|
+
# limitations under the License.
|
|
19
|
+
#
|
|
20
|
+
# This example illustrates how to create an ad group. To create a campaign, run
|
|
21
|
+
# add_campaign.rb.
|
|
22
|
+
#
|
|
23
|
+
# Tags: AdGroupService.mutate
|
|
24
|
+
|
|
25
|
+
require 'rubygems'
|
|
26
|
+
gem 'google-adwords-api'
|
|
27
|
+
require 'adwords_api'
|
|
28
|
+
|
|
29
|
+
API_VERSION = :v200909
|
|
30
|
+
|
|
31
|
+
def add_ad_group()
|
|
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
|
+
ad_group_srv = adwords.service(:AdGroupService, API_VERSION)
|
|
36
|
+
|
|
37
|
+
campaign_id = 'INSERT_CAMPAIGN_ID_HERE'.to_i
|
|
38
|
+
|
|
39
|
+
# Prepare for adding ad group.
|
|
40
|
+
operation = {
|
|
41
|
+
:operator => 'ADD',
|
|
42
|
+
:operand => {
|
|
43
|
+
:name => 'Earth to Mars Cruises #%s' % (Time.new.to_f * 1000).to_i,
|
|
44
|
+
:status => 'ENABLED',
|
|
45
|
+
:campaign_id => campaign_id,
|
|
46
|
+
:bids => {
|
|
47
|
+
# The 'xsi_type' field allows you to specify the xsi:type of the object
|
|
48
|
+
# being created. It's only necessary when you must provide an explicit
|
|
49
|
+
# type that the client library can't infer.
|
|
50
|
+
:xsi_type => 'ManualCPCAdGroupBids',
|
|
51
|
+
:keyword_max_cpc => {
|
|
52
|
+
:amount => {
|
|
53
|
+
:micro_amount => 10000000
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
# Add ad group.
|
|
61
|
+
response = ad_group_srv.mutate([operation])
|
|
62
|
+
ad_group = response[:value].first
|
|
63
|
+
puts 'Ad group id %d was successfully added.' % ad_group[:id]
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
if __FILE__ == $0
|
|
67
|
+
# To enable logging of SOAP requests, set the ADWORDSAPI_DEBUG environment
|
|
68
|
+
# variable to 'true'. This can be done either from your operating system
|
|
69
|
+
# environment or via code, as done below.
|
|
70
|
+
ENV['ADWORDSAPI_DEBUG'] = 'false'
|
|
71
|
+
|
|
72
|
+
begin
|
|
73
|
+
add_ad_group()
|
|
74
|
+
|
|
75
|
+
# Connection error. Likely transitory.
|
|
76
|
+
rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
|
|
77
|
+
puts 'Connection Error: %s' % e
|
|
78
|
+
puts 'Source: %s' % e.backtrace.first
|
|
79
|
+
|
|
80
|
+
# API Error.
|
|
81
|
+
rescue AdwordsApi::Errors::ApiException => e
|
|
82
|
+
puts 'API Exception caught.'
|
|
83
|
+
puts 'Message: %s' % e.message
|
|
84
|
+
puts 'Code: %d' % e.code if e.code
|
|
85
|
+
puts 'Trigger: %s' % e.trigger if e.trigger
|
|
86
|
+
puts 'Errors:'
|
|
87
|
+
if e.errors
|
|
88
|
+
e.errors.each_with_index do |error, index|
|
|
89
|
+
puts ' %d. Error type is %s. Fields:' % [index + 1, error[:xsi_type]]
|
|
90
|
+
error.each_pair do |field, value|
|
|
91
|
+
if field != :xsi_type
|
|
92
|
+
puts ' %s: %s' % [field, value]
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
end
|