google-adwords-api 0.14.2 → 0.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/ChangeLog +7 -0
- data/README.md +3 -3
- data/adwords_api.yml +5 -0
- data/examples/v201409/account_management/get_account_hierarchy.rb +2 -2
- data/examples/v201409/advanced_operations/{add_ad_customizer.rb → add_ad_customizers.rb} +4 -4
- data/examples/v201409/extensions/add_site_links_using_feeds.rb +12 -12
- data/examples/v201409/migration/migrate_to_extension_settings.rb +29 -2
- data/examples/v201409/reporting/parallel_report_download.rb +1 -1
- data/examples/v201502/advanced_operations/{add_ad_customizer.rb → add_ad_customizers.rb} +37 -125
- data/examples/v201502/extensions/add_site_links_using_feeds.rb +22 -52
- data/examples/v201502/migration/migrate_to_extension_settings.rb +29 -2
- data/lib/adwords_api.rb +9 -29
- data/lib/adwords_api/api_config.rb +0 -80
- data/lib/adwords_api/credential_handler.rb +8 -9
- data/lib/adwords_api/report_header_handler.rb +6 -2
- data/lib/adwords_api/version.rb +1 -1
- data/test/adwords_api/test_adwords_api.rb +0 -9
- data/test/adwords_api/test_api_config.rb +8 -8
- data/test/adwords_api/test_credential_handler.rb +17 -0
- data/test/adwords_api/test_report_utils.rb +1 -1
- data/test/templates/v201409/basic_operations_get_campaigns.def +1 -1
- data/test/templates/v201409/misc_use_oauth2_jwt.def +1 -1
- data/test/templates/v201502/basic_operations_get_campaigns.def +1 -1
- data/test/templates/v201502/misc_use_oauth2_jwt.def +1 -1
- metadata +4 -153
- data/examples/v201406/account_management/create_account.rb +0 -92
- data/examples/v201406/account_management/get_account_alerts.rb +0 -122
- data/examples/v201406/account_management/get_account_changes.rb +0 -145
- data/examples/v201406/account_management/get_account_hierarchy.rb +0 -103
- data/examples/v201406/advanced_operations/add_ad_customizer.rb +0 -277
- data/examples/v201406/advanced_operations/add_ad_group_bid_modifier.rb +0 -105
- data/examples/v201406/advanced_operations/add_click_to_download_ad.rb +0 -137
- data/examples/v201406/advanced_operations/add_google_my_business_location_extensions.rb +0 -167
- data/examples/v201406/advanced_operations/add_site_links.rb +0 -306
- data/examples/v201406/advanced_operations/add_text_ad_with_upgraded_urls.rb +0 -137
- data/examples/v201406/advanced_operations/get_ad_group_bid_modifiers.rb +0 -106
- data/examples/v201406/advanced_operations/upload_offline_conversions.rb +0 -117
- data/examples/v201406/advanced_operations/use_shared_bidding_strategy.rb +0 -164
- data/examples/v201406/basic_operations/add_ad_groups.rb +0 -144
- data/examples/v201406/basic_operations/add_campaigns.rb +0 -153
- data/examples/v201406/basic_operations/add_keywords.rb +0 -116
- data/examples/v201406/basic_operations/add_text_ads.rb +0 -113
- data/examples/v201406/basic_operations/get_ad_groups.rb +0 -106
- data/examples/v201406/basic_operations/get_campaigns.rb +0 -101
- data/examples/v201406/basic_operations/get_campaigns_with_awql.rb +0 -93
- data/examples/v201406/basic_operations/get_keywords.rb +0 -112
- data/examples/v201406/basic_operations/get_text_ads.rb +0 -114
- data/examples/v201406/basic_operations/pause_ad.rb +0 -92
- data/examples/v201406/basic_operations/remove_ad.rb +0 -93
- data/examples/v201406/basic_operations/remove_ad_group.rb +0 -89
- data/examples/v201406/basic_operations/remove_campaign.rb +0 -91
- data/examples/v201406/basic_operations/remove_keyword.rb +0 -98
- data/examples/v201406/basic_operations/update_ad_group.rb +0 -89
- data/examples/v201406/basic_operations/update_campaign.rb +0 -90
- data/examples/v201406/basic_operations/update_keyword.rb +0 -110
- data/examples/v201406/campaign_management/add_campaign_labels.rb +0 -86
- data/examples/v201406/campaign_management/add_experiment.rb +0 -166
- data/examples/v201406/campaign_management/add_keywords_in_bulk.rb +0 -158
- data/examples/v201406/campaign_management/add_location_extension.rb +0 -125
- data/examples/v201406/campaign_management/get_all_disapproved_ads.rb +0 -101
- data/examples/v201406/campaign_management/get_all_disapproved_ads_with_awql.rb +0 -93
- data/examples/v201406/campaign_management/get_campaigns_by_label.rb +0 -112
- data/examples/v201406/campaign_management/promote_experiment.rb +0 -85
- data/examples/v201406/campaign_management/set_ad_parameters.rb +0 -122
- data/examples/v201406/campaign_management/set_criterion_bid_modifier.rb +0 -108
- data/examples/v201406/campaign_management/validate_text_ad.rb +0 -114
- data/examples/v201406/error_handling/handle_captcha_challenge.rb +0 -93
- data/examples/v201406/error_handling/handle_partial_failures.rb +0 -134
- data/examples/v201406/error_handling/handle_policy_violation_error.rb +0 -145
- data/examples/v201406/error_handling/handle_two_factor_authorization_error.rb +0 -88
- data/examples/v201406/misc/create_ad_words_session_without_properties_file.rb +0 -94
- data/examples/v201406/misc/get_all_images_and_videos.rb +0 -108
- data/examples/v201406/misc/setup_oauth2.rb +0 -88
- data/examples/v201406/misc/upload_image.rb +0 -97
- data/examples/v201406/misc/use_oauth2_jwt.rb +0 -97
- data/examples/v201406/optimization/estimate_keyword_traffic.rb +0 -155
- data/examples/v201406/optimization/get_keyword_bid_simulations.rb +0 -100
- data/examples/v201406/optimization/get_keyword_ideas.rb +0 -130
- data/examples/v201406/optimization/get_placement_ideas.rb +0 -112
- data/examples/v201406/remarketing/add_audience.rb +0 -123
- data/examples/v201406/remarketing/add_conversion_tracker.rb +0 -105
- data/examples/v201406/reporting/download_criteria_report.rb +0 -87
- data/examples/v201406/reporting/download_criteria_report_with_awql.rb +0 -86
- data/examples/v201406/reporting/get_report_fields.rb +0 -79
- data/examples/v201406/reporting/parallel_report_download.rb +0 -171
- data/examples/v201406/shopping_campaigns/add_product_partition_tree.rb +0 -269
- data/examples/v201406/shopping_campaigns/add_product_scope.rb +0 -133
- data/examples/v201406/shopping_campaigns/add_shopping_campaign.rb +0 -135
- data/examples/v201406/shopping_campaigns/get_product_category_taxonomy.rb +0 -117
- data/examples/v201406/shopping_campaigns/set_product_sales_channel.rb +0 -98
- data/examples/v201406/targeting/add_campaign_targeting_criteria.rb +0 -173
- data/examples/v201406/targeting/add_demographic_targeting_criteria.rb +0 -116
- data/examples/v201406/targeting/get_campaign_targeting_criteria.rb +0 -110
- data/examples/v201406/targeting/get_targetable_languages_and_carriers.rb +0 -94
- data/examples/v201406/targeting/lookup_location.rb +0 -112
- data/examples/v201502/campaign_management/add_location_extension.rb +0 -125
- data/lib/adwords_api/v201406/ad_group_ad_service.rb +0 -46
- data/lib/adwords_api/v201406/ad_group_ad_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/ad_group_bid_modifier_service.rb +0 -42
- data/lib/adwords_api/v201406/ad_group_bid_modifier_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/ad_group_criterion_service.rb +0 -46
- data/lib/adwords_api/v201406/ad_group_criterion_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/ad_group_feed_service.rb +0 -42
- data/lib/adwords_api/v201406/ad_group_feed_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/ad_group_service.rb +0 -46
- data/lib/adwords_api/v201406/ad_group_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/ad_param_service.rb +0 -38
- data/lib/adwords_api/v201406/ad_param_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/adwords_user_list_service.rb +0 -38
- data/lib/adwords_api/v201406/adwords_user_list_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/alert_service.rb +0 -34
- data/lib/adwords_api/v201406/alert_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/bidding_strategy_service.rb +0 -42
- data/lib/adwords_api/v201406/bidding_strategy_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/budget_order_service.rb +0 -42
- data/lib/adwords_api/v201406/budget_order_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/budget_service.rb +0 -42
- data/lib/adwords_api/v201406/budget_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/campaign_ad_extension_service.rb +0 -38
- data/lib/adwords_api/v201406/campaign_ad_extension_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/campaign_criterion_service.rb +0 -42
- data/lib/adwords_api/v201406/campaign_criterion_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/campaign_feed_service.rb +0 -42
- data/lib/adwords_api/v201406/campaign_feed_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/campaign_service.rb +0 -46
- data/lib/adwords_api/v201406/campaign_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/campaign_shared_set_service.rb +0 -38
- data/lib/adwords_api/v201406/campaign_shared_set_service_registry.rb +0 -47
- data/lib/adwords_api/v201406/constant_data_service.rb +0 -66
- data/lib/adwords_api/v201406/constant_data_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/conversion_tracker_service.rb +0 -38
- data/lib/adwords_api/v201406/conversion_tracker_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/customer_feed_service.rb +0 -42
- data/lib/adwords_api/v201406/customer_feed_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/customer_service.rb +0 -38
- data/lib/adwords_api/v201406/customer_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/customer_sync_service.rb +0 -34
- data/lib/adwords_api/v201406/customer_sync_service_registry.rb +0 -47
- data/lib/adwords_api/v201406/data_service.rb +0 -54
- data/lib/adwords_api/v201406/data_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/experiment_service.rb +0 -38
- data/lib/adwords_api/v201406/experiment_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/feed_item_service.rb +0 -42
- data/lib/adwords_api/v201406/feed_item_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/feed_mapping_service.rb +0 -42
- data/lib/adwords_api/v201406/feed_mapping_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/feed_service.rb +0 -42
- data/lib/adwords_api/v201406/feed_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/geo_location_service.rb +0 -34
- data/lib/adwords_api/v201406/geo_location_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/label_service.rb +0 -42
- data/lib/adwords_api/v201406/label_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/location_criterion_service.rb +0 -38
- data/lib/adwords_api/v201406/location_criterion_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/managed_customer_service.rb +0 -50
- data/lib/adwords_api/v201406/managed_customer_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/media_service.rb +0 -42
- data/lib/adwords_api/v201406/media_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/mutate_job_service.rb +0 -42
- data/lib/adwords_api/v201406/mutate_job_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/offline_conversion_feed_service.rb +0 -34
- data/lib/adwords_api/v201406/offline_conversion_feed_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/report_definition_service.rb +0 -34
- data/lib/adwords_api/v201406/report_definition_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/shared_criterion_service.rb +0 -38
- data/lib/adwords_api/v201406/shared_criterion_service_registry.rb +0 -47
- data/lib/adwords_api/v201406/shared_set_service.rb +0 -38
- data/lib/adwords_api/v201406/shared_set_service_registry.rb +0 -47
- data/lib/adwords_api/v201406/targeting_idea_service.rb +0 -38
- data/lib/adwords_api/v201406/targeting_idea_service_registry.rb +0 -46
- data/lib/adwords_api/v201406/traffic_estimator_service.rb +0 -34
- data/lib/adwords_api/v201406/traffic_estimator_service_registry.rb +0 -46
- data/test/templates/v201406/basic_operations_get_campaigns.def +0 -114
- data/test/templates/v201406/misc_use_oauth2_jwt.def +0 -131
@@ -32,27 +32,27 @@ class TestApiConfig < Test::Unit::TestCase
|
|
32
32
|
|
33
33
|
# Tests correct require path.
|
34
34
|
def test_do_require()
|
35
|
-
name1 = @config.do_require(:
|
36
|
-
assert_equal('adwords_api/
|
35
|
+
name1 = @config.do_require(:v201502, :CampaignService)
|
36
|
+
assert_equal('adwords_api/v201502/campaign_service', name1)
|
37
37
|
end
|
38
38
|
|
39
39
|
# Tests correct module name.
|
40
40
|
def test_module_name()
|
41
|
-
name1 = @config.module_name(:
|
42
|
-
assert_equal('AdwordsApi::
|
41
|
+
name1 = @config.module_name(:v201502, :CampaignService)
|
42
|
+
assert_equal('AdwordsApi::V201502::CampaignService', name1)
|
43
43
|
end
|
44
44
|
|
45
45
|
# Tests correct interface name.
|
46
46
|
def test_interface_name()
|
47
|
-
name1 = @config.interface_name(:
|
48
|
-
assert_equal('AdwordsApi::
|
47
|
+
name1 = @config.interface_name(:v201502, :CampaignService)
|
48
|
+
assert_equal('AdwordsApi::V201502::CampaignService::CampaignService', name1)
|
49
49
|
end
|
50
50
|
|
51
51
|
# Tests AdHoc report URL generator (prod).
|
52
52
|
def test_adhoc_report_download_url_prod()
|
53
|
-
url = AdwordsApi::ApiConfig.adhoc_report_download_url(:PRODUCTION, :
|
53
|
+
url = AdwordsApi::ApiConfig.adhoc_report_download_url(:PRODUCTION, :v201502)
|
54
54
|
expected_url =
|
55
|
-
'https://adwords.google.com/api/adwords/reportdownload/
|
55
|
+
'https://adwords.google.com/api/adwords/reportdownload/v201502'
|
56
56
|
assert_equal(expected_url, url)
|
57
57
|
end
|
58
58
|
end
|
@@ -104,6 +104,23 @@ class TestCredentialHandler < Test::Unit::TestCase
|
|
104
104
|
end
|
105
105
|
end
|
106
106
|
|
107
|
+
def test_validate_headers_for_server_no_client_customer_id()
|
108
|
+
credentials1 = {
|
109
|
+
:developer_token => 'AbC'
|
110
|
+
}
|
111
|
+
assert_raise(AdwordsApi::Errors::BadCredentialsError) do
|
112
|
+
@handler.validate_headers_for_server(credentials1)
|
113
|
+
end
|
114
|
+
|
115
|
+
credentials2 = {
|
116
|
+
:client_customer_id => nil,
|
117
|
+
:developer_token => 'AbC'
|
118
|
+
}
|
119
|
+
assert_raise(AdwordsApi::Errors::BadCredentialsError) do
|
120
|
+
@handler.validate_headers_for_server(credentials2)
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
107
124
|
def test_validate_headers_for_server_no_developer_token()
|
108
125
|
credentials1 = {:client_customer_id => '123-456-7890'}
|
109
126
|
assert_raise(AdwordsApi::Errors::BadCredentialsError) do
|
@@ -22,7 +22,7 @@ def setup_mocks()
|
|
22
22
|
{"env:Envelope"=>
|
23
23
|
{"env:Header"=>
|
24
24
|
{"wsdl:RequestHeader"=>
|
25
|
-
{"userAgent"=>"ruby-tests (AwApi-Ruby/0.
|
25
|
+
{"userAgent"=>"ruby-tests (AwApi-Ruby/0.15.0, Common-Ruby/0.9.8, Savon/1.2.0, ruby/1.9.3, HTTPI/1.1.1, net_http)",
|
26
26
|
"developerToken"=>"dev_token123",
|
27
27
|
"clientCustomerId"=>"123-456-7890",
|
28
28
|
"authToken"=>"abcAuthbcd",
|
@@ -40,7 +40,7 @@ def setup_mocks()
|
|
40
40
|
{"env:Envelope"=>
|
41
41
|
{"env:Header"=>
|
42
42
|
{"wsdl:RequestHeader"=>
|
43
|
-
{"userAgent"=>"ruby-tests (AwApi-Ruby/0.
|
43
|
+
{"userAgent"=>"ruby-tests (AwApi-Ruby/0.15.0, Common-Ruby/0.9.8, Savon/1.2.0, ruby/1.9.3, HTTPI/1.1.1, net_http)",
|
44
44
|
"developerToken"=>"dev_token123",
|
45
45
|
"clientCustomerId"=>"123-456-7890",
|
46
46
|
"xmlns"=>"https://adwords.google.com/api/adwords/cm/v201409"}},
|
@@ -22,7 +22,7 @@ def setup_mocks()
|
|
22
22
|
{"env:Envelope"=>
|
23
23
|
{"env:Header"=>
|
24
24
|
{"wsdl:RequestHeader"=>
|
25
|
-
{"userAgent"=>"ruby-tests (AwApi-Ruby/0.
|
25
|
+
{"userAgent"=>"ruby-tests (AwApi-Ruby/0.15.0, Common-Ruby/0.9.8, Savon/1.2.0, ruby/1.9.3, HTTPI/1.1.1, net_http)",
|
26
26
|
"developerToken"=>"dev_token123",
|
27
27
|
"clientCustomerId"=>"123-456-7890",
|
28
28
|
"authToken"=>"abcAuthbcd",
|
@@ -40,7 +40,7 @@ def setup_mocks()
|
|
40
40
|
{"env:Envelope"=>
|
41
41
|
{"env:Header"=>
|
42
42
|
{"wsdl:RequestHeader"=>
|
43
|
-
{"userAgent"=>"ruby-tests (AwApi-Ruby/0.
|
43
|
+
{"userAgent"=>"ruby-tests (AwApi-Ruby/0.15.0, Common-Ruby/0.9.8, Savon/1.2.0, ruby/1.9.3, HTTPI/1.1.1, net_http)",
|
44
44
|
"developerToken"=>"dev_token123",
|
45
45
|
"clientCustomerId"=>"123-456-7890",
|
46
46
|
"xmlns"=>"https://adwords.google.com/api/adwords/cm/v201502"}},
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-adwords-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.15.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Danial Klimkin
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-04-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: google-ads-common
|
@@ -37,80 +37,10 @@ files:
|
|
37
37
|
- ChangeLog
|
38
38
|
- README.md
|
39
39
|
- adwords_api.yml
|
40
|
-
- examples/v201406/account_management/create_account.rb
|
41
|
-
- examples/v201406/account_management/get_account_alerts.rb
|
42
|
-
- examples/v201406/account_management/get_account_changes.rb
|
43
|
-
- examples/v201406/account_management/get_account_hierarchy.rb
|
44
|
-
- examples/v201406/advanced_operations/add_ad_customizer.rb
|
45
|
-
- examples/v201406/advanced_operations/add_ad_group_bid_modifier.rb
|
46
|
-
- examples/v201406/advanced_operations/add_click_to_download_ad.rb
|
47
|
-
- examples/v201406/advanced_operations/add_google_my_business_location_extensions.rb
|
48
|
-
- examples/v201406/advanced_operations/add_site_links.rb
|
49
|
-
- examples/v201406/advanced_operations/add_text_ad_with_upgraded_urls.rb
|
50
|
-
- examples/v201406/advanced_operations/get_ad_group_bid_modifiers.rb
|
51
|
-
- examples/v201406/advanced_operations/upload_offline_conversions.rb
|
52
|
-
- examples/v201406/advanced_operations/use_shared_bidding_strategy.rb
|
53
|
-
- examples/v201406/basic_operations/add_ad_groups.rb
|
54
|
-
- examples/v201406/basic_operations/add_campaigns.rb
|
55
|
-
- examples/v201406/basic_operations/add_keywords.rb
|
56
|
-
- examples/v201406/basic_operations/add_text_ads.rb
|
57
|
-
- examples/v201406/basic_operations/get_ad_groups.rb
|
58
|
-
- examples/v201406/basic_operations/get_campaigns.rb
|
59
|
-
- examples/v201406/basic_operations/get_campaigns_with_awql.rb
|
60
|
-
- examples/v201406/basic_operations/get_keywords.rb
|
61
|
-
- examples/v201406/basic_operations/get_text_ads.rb
|
62
|
-
- examples/v201406/basic_operations/pause_ad.rb
|
63
|
-
- examples/v201406/basic_operations/remove_ad.rb
|
64
|
-
- examples/v201406/basic_operations/remove_ad_group.rb
|
65
|
-
- examples/v201406/basic_operations/remove_campaign.rb
|
66
|
-
- examples/v201406/basic_operations/remove_keyword.rb
|
67
|
-
- examples/v201406/basic_operations/update_ad_group.rb
|
68
|
-
- examples/v201406/basic_operations/update_campaign.rb
|
69
|
-
- examples/v201406/basic_operations/update_keyword.rb
|
70
|
-
- examples/v201406/campaign_management/add_campaign_labels.rb
|
71
|
-
- examples/v201406/campaign_management/add_experiment.rb
|
72
|
-
- examples/v201406/campaign_management/add_keywords_in_bulk.rb
|
73
|
-
- examples/v201406/campaign_management/add_location_extension.rb
|
74
|
-
- examples/v201406/campaign_management/get_all_disapproved_ads.rb
|
75
|
-
- examples/v201406/campaign_management/get_all_disapproved_ads_with_awql.rb
|
76
|
-
- examples/v201406/campaign_management/get_campaigns_by_label.rb
|
77
|
-
- examples/v201406/campaign_management/promote_experiment.rb
|
78
|
-
- examples/v201406/campaign_management/set_ad_parameters.rb
|
79
|
-
- examples/v201406/campaign_management/set_criterion_bid_modifier.rb
|
80
|
-
- examples/v201406/campaign_management/validate_text_ad.rb
|
81
|
-
- examples/v201406/error_handling/handle_captcha_challenge.rb
|
82
|
-
- examples/v201406/error_handling/handle_partial_failures.rb
|
83
|
-
- examples/v201406/error_handling/handle_policy_violation_error.rb
|
84
|
-
- examples/v201406/error_handling/handle_two_factor_authorization_error.rb
|
85
|
-
- examples/v201406/misc/create_ad_words_session_without_properties_file.rb
|
86
|
-
- examples/v201406/misc/get_all_images_and_videos.rb
|
87
|
-
- examples/v201406/misc/setup_oauth2.rb
|
88
|
-
- examples/v201406/misc/upload_image.rb
|
89
|
-
- examples/v201406/misc/use_oauth2_jwt.rb
|
90
|
-
- examples/v201406/optimization/estimate_keyword_traffic.rb
|
91
|
-
- examples/v201406/optimization/get_keyword_bid_simulations.rb
|
92
|
-
- examples/v201406/optimization/get_keyword_ideas.rb
|
93
|
-
- examples/v201406/optimization/get_placement_ideas.rb
|
94
|
-
- examples/v201406/remarketing/add_audience.rb
|
95
|
-
- examples/v201406/remarketing/add_conversion_tracker.rb
|
96
|
-
- examples/v201406/reporting/download_criteria_report.rb
|
97
|
-
- examples/v201406/reporting/download_criteria_report_with_awql.rb
|
98
|
-
- examples/v201406/reporting/get_report_fields.rb
|
99
|
-
- examples/v201406/reporting/parallel_report_download.rb
|
100
|
-
- examples/v201406/shopping_campaigns/add_product_partition_tree.rb
|
101
|
-
- examples/v201406/shopping_campaigns/add_product_scope.rb
|
102
|
-
- examples/v201406/shopping_campaigns/add_shopping_campaign.rb
|
103
|
-
- examples/v201406/shopping_campaigns/get_product_category_taxonomy.rb
|
104
|
-
- examples/v201406/shopping_campaigns/set_product_sales_channel.rb
|
105
|
-
- examples/v201406/targeting/add_campaign_targeting_criteria.rb
|
106
|
-
- examples/v201406/targeting/add_demographic_targeting_criteria.rb
|
107
|
-
- examples/v201406/targeting/get_campaign_targeting_criteria.rb
|
108
|
-
- examples/v201406/targeting/get_targetable_languages_and_carriers.rb
|
109
|
-
- examples/v201406/targeting/lookup_location.rb
|
110
40
|
- examples/v201409/account_management/create_account.rb
|
111
41
|
- examples/v201409/account_management/get_account_changes.rb
|
112
42
|
- examples/v201409/account_management/get_account_hierarchy.rb
|
113
|
-
- examples/v201409/advanced_operations/
|
43
|
+
- examples/v201409/advanced_operations/add_ad_customizers.rb
|
114
44
|
- examples/v201409/advanced_operations/add_ad_group_bid_modifier.rb
|
115
45
|
- examples/v201409/advanced_operations/add_click_to_download_ad.rb
|
116
46
|
- examples/v201409/advanced_operations/add_text_ad_with_upgraded_urls.rb
|
@@ -181,7 +111,7 @@ files:
|
|
181
111
|
- examples/v201502/account_management/create_account.rb
|
182
112
|
- examples/v201502/account_management/get_account_changes.rb
|
183
113
|
- examples/v201502/account_management/get_account_hierarchy.rb
|
184
|
-
- examples/v201502/advanced_operations/
|
114
|
+
- examples/v201502/advanced_operations/add_ad_customizers.rb
|
185
115
|
- examples/v201502/advanced_operations/add_ad_group_bid_modifier.rb
|
186
116
|
- examples/v201502/advanced_operations/add_click_to_download_ad.rb
|
187
117
|
- examples/v201502/advanced_operations/add_text_ad_with_upgraded_urls.rb
|
@@ -210,7 +140,6 @@ files:
|
|
210
140
|
- examples/v201502/campaign_management/add_campaign_labels.rb
|
211
141
|
- examples/v201502/campaign_management/add_experiment.rb
|
212
142
|
- examples/v201502/campaign_management/add_keywords_in_bulk.rb
|
213
|
-
- examples/v201502/campaign_management/add_location_extension.rb
|
214
143
|
- examples/v201502/campaign_management/get_all_disapproved_ads.rb
|
215
144
|
- examples/v201502/campaign_management/get_all_disapproved_ads_with_awql.rb
|
216
145
|
- examples/v201502/campaign_management/get_campaigns_by_label.rb
|
@@ -258,82 +187,6 @@ files:
|
|
258
187
|
- lib/adwords_api/report_header_handler.rb
|
259
188
|
- lib/adwords_api/report_utils.rb
|
260
189
|
- lib/adwords_api/utils.rb
|
261
|
-
- lib/adwords_api/v201406/ad_group_ad_service.rb
|
262
|
-
- lib/adwords_api/v201406/ad_group_ad_service_registry.rb
|
263
|
-
- lib/adwords_api/v201406/ad_group_bid_modifier_service.rb
|
264
|
-
- lib/adwords_api/v201406/ad_group_bid_modifier_service_registry.rb
|
265
|
-
- lib/adwords_api/v201406/ad_group_criterion_service.rb
|
266
|
-
- lib/adwords_api/v201406/ad_group_criterion_service_registry.rb
|
267
|
-
- lib/adwords_api/v201406/ad_group_feed_service.rb
|
268
|
-
- lib/adwords_api/v201406/ad_group_feed_service_registry.rb
|
269
|
-
- lib/adwords_api/v201406/ad_group_service.rb
|
270
|
-
- lib/adwords_api/v201406/ad_group_service_registry.rb
|
271
|
-
- lib/adwords_api/v201406/ad_param_service.rb
|
272
|
-
- lib/adwords_api/v201406/ad_param_service_registry.rb
|
273
|
-
- lib/adwords_api/v201406/adwords_user_list_service.rb
|
274
|
-
- lib/adwords_api/v201406/adwords_user_list_service_registry.rb
|
275
|
-
- lib/adwords_api/v201406/alert_service.rb
|
276
|
-
- lib/adwords_api/v201406/alert_service_registry.rb
|
277
|
-
- lib/adwords_api/v201406/bidding_strategy_service.rb
|
278
|
-
- lib/adwords_api/v201406/bidding_strategy_service_registry.rb
|
279
|
-
- lib/adwords_api/v201406/budget_order_service.rb
|
280
|
-
- lib/adwords_api/v201406/budget_order_service_registry.rb
|
281
|
-
- lib/adwords_api/v201406/budget_service.rb
|
282
|
-
- lib/adwords_api/v201406/budget_service_registry.rb
|
283
|
-
- lib/adwords_api/v201406/campaign_ad_extension_service.rb
|
284
|
-
- lib/adwords_api/v201406/campaign_ad_extension_service_registry.rb
|
285
|
-
- lib/adwords_api/v201406/campaign_criterion_service.rb
|
286
|
-
- lib/adwords_api/v201406/campaign_criterion_service_registry.rb
|
287
|
-
- lib/adwords_api/v201406/campaign_feed_service.rb
|
288
|
-
- lib/adwords_api/v201406/campaign_feed_service_registry.rb
|
289
|
-
- lib/adwords_api/v201406/campaign_service.rb
|
290
|
-
- lib/adwords_api/v201406/campaign_service_registry.rb
|
291
|
-
- lib/adwords_api/v201406/campaign_shared_set_service.rb
|
292
|
-
- lib/adwords_api/v201406/campaign_shared_set_service_registry.rb
|
293
|
-
- lib/adwords_api/v201406/constant_data_service.rb
|
294
|
-
- lib/adwords_api/v201406/constant_data_service_registry.rb
|
295
|
-
- lib/adwords_api/v201406/conversion_tracker_service.rb
|
296
|
-
- lib/adwords_api/v201406/conversion_tracker_service_registry.rb
|
297
|
-
- lib/adwords_api/v201406/customer_feed_service.rb
|
298
|
-
- lib/adwords_api/v201406/customer_feed_service_registry.rb
|
299
|
-
- lib/adwords_api/v201406/customer_service.rb
|
300
|
-
- lib/adwords_api/v201406/customer_service_registry.rb
|
301
|
-
- lib/adwords_api/v201406/customer_sync_service.rb
|
302
|
-
- lib/adwords_api/v201406/customer_sync_service_registry.rb
|
303
|
-
- lib/adwords_api/v201406/data_service.rb
|
304
|
-
- lib/adwords_api/v201406/data_service_registry.rb
|
305
|
-
- lib/adwords_api/v201406/experiment_service.rb
|
306
|
-
- lib/adwords_api/v201406/experiment_service_registry.rb
|
307
|
-
- lib/adwords_api/v201406/feed_item_service.rb
|
308
|
-
- lib/adwords_api/v201406/feed_item_service_registry.rb
|
309
|
-
- lib/adwords_api/v201406/feed_mapping_service.rb
|
310
|
-
- lib/adwords_api/v201406/feed_mapping_service_registry.rb
|
311
|
-
- lib/adwords_api/v201406/feed_service.rb
|
312
|
-
- lib/adwords_api/v201406/feed_service_registry.rb
|
313
|
-
- lib/adwords_api/v201406/geo_location_service.rb
|
314
|
-
- lib/adwords_api/v201406/geo_location_service_registry.rb
|
315
|
-
- lib/adwords_api/v201406/label_service.rb
|
316
|
-
- lib/adwords_api/v201406/label_service_registry.rb
|
317
|
-
- lib/adwords_api/v201406/location_criterion_service.rb
|
318
|
-
- lib/adwords_api/v201406/location_criterion_service_registry.rb
|
319
|
-
- lib/adwords_api/v201406/managed_customer_service.rb
|
320
|
-
- lib/adwords_api/v201406/managed_customer_service_registry.rb
|
321
|
-
- lib/adwords_api/v201406/media_service.rb
|
322
|
-
- lib/adwords_api/v201406/media_service_registry.rb
|
323
|
-
- lib/adwords_api/v201406/mutate_job_service.rb
|
324
|
-
- lib/adwords_api/v201406/mutate_job_service_registry.rb
|
325
|
-
- lib/adwords_api/v201406/offline_conversion_feed_service.rb
|
326
|
-
- lib/adwords_api/v201406/offline_conversion_feed_service_registry.rb
|
327
|
-
- lib/adwords_api/v201406/report_definition_service.rb
|
328
|
-
- lib/adwords_api/v201406/report_definition_service_registry.rb
|
329
|
-
- lib/adwords_api/v201406/shared_criterion_service.rb
|
330
|
-
- lib/adwords_api/v201406/shared_criterion_service_registry.rb
|
331
|
-
- lib/adwords_api/v201406/shared_set_service.rb
|
332
|
-
- lib/adwords_api/v201406/shared_set_service_registry.rb
|
333
|
-
- lib/adwords_api/v201406/targeting_idea_service.rb
|
334
|
-
- lib/adwords_api/v201406/targeting_idea_service_registry.rb
|
335
|
-
- lib/adwords_api/v201406/traffic_estimator_service.rb
|
336
|
-
- lib/adwords_api/v201406/traffic_estimator_service_registry.rb
|
337
190
|
- lib/adwords_api/v201409/ad_customizer_feed_service.rb
|
338
191
|
- lib/adwords_api/v201409/ad_customizer_feed_service_registry.rb
|
339
192
|
- lib/adwords_api/v201409/ad_group_ad_service.rb
|
@@ -508,8 +361,6 @@ files:
|
|
508
361
|
- test/coverage.rb
|
509
362
|
- test/suite_integration.rb
|
510
363
|
- test/suite_unittests.rb
|
511
|
-
- test/templates/v201406/basic_operations_get_campaigns.def
|
512
|
-
- test/templates/v201406/misc_use_oauth2_jwt.def
|
513
364
|
- test/templates/v201409/basic_operations_get_campaigns.def
|
514
365
|
- test/templates/v201409/misc_use_oauth2_jwt.def
|
515
366
|
- test/templates/v201502/basic_operations_get_campaigns.def
|
@@ -1,92 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# Encoding: utf-8
|
3
|
-
#
|
4
|
-
# Author:: api.dklimkin@gmail.com (Danial Klimkin)
|
5
|
-
#
|
6
|
-
# Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
|
7
|
-
#
|
8
|
-
# License:: Licensed under the Apache License, Version 2.0 (the "License");
|
9
|
-
# you may not use this file except in compliance with the License.
|
10
|
-
# You may obtain a copy of the License at
|
11
|
-
#
|
12
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
13
|
-
#
|
14
|
-
# Unless required by applicable law or agreed to in writing, software
|
15
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
16
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
17
|
-
# implied.
|
18
|
-
# See the License for the specific language governing permissions and
|
19
|
-
# limitations under the License.
|
20
|
-
#
|
21
|
-
# This example illustrates how to create an account. Note by default this
|
22
|
-
# account will only be accessible via parent MCC.
|
23
|
-
#
|
24
|
-
# Tags: ManagedCustomerService.mutate
|
25
|
-
|
26
|
-
require 'adwords_api'
|
27
|
-
require 'adwords_api/utils'
|
28
|
-
|
29
|
-
def create_account()
|
30
|
-
# AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
|
31
|
-
# when called without parameters.
|
32
|
-
adwords = AdwordsApi::Api.new
|
33
|
-
|
34
|
-
# To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
|
35
|
-
# the configuration file or provide your own logger:
|
36
|
-
# adwords.logger = Logger.new('adwords_xml.log')
|
37
|
-
|
38
|
-
managed_customer_srv = adwords.service(:ManagedCustomerService, API_VERSION)
|
39
|
-
|
40
|
-
# Create a local Customer object.
|
41
|
-
customer = {
|
42
|
-
:name => 'Account created with ManagedCustomerService',
|
43
|
-
:currency_code => 'EUR',
|
44
|
-
:date_time_zone => 'Europe/London'
|
45
|
-
}
|
46
|
-
|
47
|
-
# Prepare operation to create an account.
|
48
|
-
operation = {
|
49
|
-
:operator => 'ADD',
|
50
|
-
:operand => customer
|
51
|
-
}
|
52
|
-
|
53
|
-
# Create the account. It is possible to create multiple accounts with one
|
54
|
-
# request by sending an array of operations.
|
55
|
-
response = managed_customer_srv.mutate([operation])
|
56
|
-
|
57
|
-
response[:value].each do |new_account|
|
58
|
-
puts "Account with customer ID '%s' was successfully created." %
|
59
|
-
AdwordsApi::Utils.format_id(new_account[:customer_id])
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
if __FILE__ == $0
|
64
|
-
API_VERSION = :v201406
|
65
|
-
|
66
|
-
begin
|
67
|
-
create_account()
|
68
|
-
|
69
|
-
# Authorization error.
|
70
|
-
rescue AdsCommon::Errors::OAuth2VerificationRequired => e
|
71
|
-
puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
|
72
|
-
"OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
|
73
|
-
"to retrieve and store OAuth2 tokens."
|
74
|
-
puts "See this wiki page for more details:\n\n " +
|
75
|
-
'http://code.google.com/p/google-api-ads-ruby/wiki/OAuth2'
|
76
|
-
|
77
|
-
# HTTP errors.
|
78
|
-
rescue AdsCommon::Errors::HttpError => e
|
79
|
-
puts "HTTP Error: %s" % e
|
80
|
-
|
81
|
-
# API errors.
|
82
|
-
rescue AdwordsApi::Errors::ApiException => e
|
83
|
-
puts "Message: %s" % e.message
|
84
|
-
puts 'Errors:'
|
85
|
-
e.errors.each_with_index do |error, index|
|
86
|
-
puts "\tError [%d]:" % (index + 1)
|
87
|
-
error.each do |field, value|
|
88
|
-
puts "\t\t%s: %s" % [field, value]
|
89
|
-
end
|
90
|
-
end
|
91
|
-
end
|
92
|
-
end
|
@@ -1,122 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# Encoding: utf-8
|
3
|
-
#
|
4
|
-
# Author:: api.dklimkin@gmail.com (Danial Klimkin)
|
5
|
-
#
|
6
|
-
# Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
|
7
|
-
#
|
8
|
-
# License:: Licensed under the Apache License, Version 2.0 (the "License");
|
9
|
-
# you may not use this file except in compliance with the License.
|
10
|
-
# You may obtain a copy of the License at
|
11
|
-
#
|
12
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
13
|
-
#
|
14
|
-
# Unless required by applicable law or agreed to in writing, software
|
15
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
16
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
17
|
-
# implied.
|
18
|
-
# See the License for the specific language governing permissions and
|
19
|
-
# limitations under the License.
|
20
|
-
#
|
21
|
-
# This example gets all alerts for all clients of an MCC account. The effective
|
22
|
-
# user (clientCustomerId, or authToken) must be an MCC user to get results.
|
23
|
-
#
|
24
|
-
# Note: This code example uses MCC-level calls and won't work with Test
|
25
|
-
# Accounts, see: https://developers.google.com/adwords/api/docs/test-accounts
|
26
|
-
#
|
27
|
-
# Tags: AlertService.get
|
28
|
-
|
29
|
-
require 'adwords_api'
|
30
|
-
require 'adwords_api/utils'
|
31
|
-
|
32
|
-
def get_account_alerts()
|
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
|
-
|
37
|
-
# To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
|
38
|
-
# the configuration file or provide your own logger:
|
39
|
-
# adwords.logger = Logger.new('adwords_xml.log')
|
40
|
-
|
41
|
-
alert_srv = adwords.service(:AlertService, API_VERSION)
|
42
|
-
|
43
|
-
# Create the selector.
|
44
|
-
selector = {
|
45
|
-
:query => {
|
46
|
-
:filter_spec => 'ALL',
|
47
|
-
:client_spec => 'ALL',
|
48
|
-
:trigger_time_spec => 'ALL_TIME',
|
49
|
-
:severities => ['GREEN', 'YELLOW', 'RED'],
|
50
|
-
:types => [
|
51
|
-
'ACCOUNT_BUDGET_BURN_RATE', 'ACCOUNT_BUDGET_ENDING',
|
52
|
-
'ACCOUNT_ON_TARGET', 'CAMPAIGN_ENDED', 'CAMPAIGN_ENDING',
|
53
|
-
'CREDIT_CARD_EXPIRING', 'DECLINED_PAYMENT', 'MANAGER_LINK_PENDING',
|
54
|
-
'MISSING_BANK_REFERENCE_NUMBER', 'PAYMENT_NOT_ENTERED',
|
55
|
-
'TV_ACCOUNT_BUDGET_ENDING', 'TV_ACCOUNT_ON_TARGET',
|
56
|
-
'TV_ZERO_DAILY_SPENDING_LIMIT', 'USER_INVITE_ACCEPTED',
|
57
|
-
'USER_INVITE_PENDING', 'ZERO_DAILY_SPENDING_LIMIT'
|
58
|
-
]
|
59
|
-
},
|
60
|
-
:paging => {
|
61
|
-
:start_index => 0,
|
62
|
-
:number_results => PAGE_SIZE
|
63
|
-
}
|
64
|
-
}
|
65
|
-
|
66
|
-
# Set initial values.
|
67
|
-
offset, page = 0, {}
|
68
|
-
|
69
|
-
# Get alerts.
|
70
|
-
begin
|
71
|
-
page = alert_srv.get(selector)
|
72
|
-
if page[:entries]
|
73
|
-
page[:entries].each_with_index do |alert, index|
|
74
|
-
puts "%d) Customer ID is '%s', alert type is '%s', severity is '%s'."
|
75
|
-
[AdwordsApi::Utils.format_id(alert[:client_customer_id]),
|
76
|
-
alert[:alert_type], alert[:alert_severity]]
|
77
|
-
alert[:details].each do |detail|
|
78
|
-
puts "\t- triggered at %s" % detail[:trigger_time]
|
79
|
-
end
|
80
|
-
end
|
81
|
-
# Increment values to request the next page.
|
82
|
-
offset += PAGE_SIZE
|
83
|
-
selector[:paging][:start_index] = offset
|
84
|
-
end
|
85
|
-
end while page[:total_num_entries] > offset
|
86
|
-
|
87
|
-
if page.include?(:total_num_entries)
|
88
|
-
puts "\tTotal number of alerts: %d." % page[:total_num_entries]
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
if __FILE__ == $0
|
93
|
-
API_VERSION = :v201406
|
94
|
-
PAGE_SIZE = 500
|
95
|
-
|
96
|
-
begin
|
97
|
-
get_account_alerts()
|
98
|
-
|
99
|
-
# Authorization error.
|
100
|
-
rescue AdsCommon::Errors::OAuth2VerificationRequired => e
|
101
|
-
puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
|
102
|
-
"OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
|
103
|
-
"to retrieve and store OAuth2 tokens."
|
104
|
-
puts "See this wiki page for more details:\n\n " +
|
105
|
-
'http://code.google.com/p/google-api-ads-ruby/wiki/OAuth2'
|
106
|
-
|
107
|
-
# HTTP errors.
|
108
|
-
rescue AdsCommon::Errors::HttpError => e
|
109
|
-
puts "HTTP Error: %s" % e
|
110
|
-
|
111
|
-
# API errors.
|
112
|
-
rescue AdwordsApi::Errors::ApiException => e
|
113
|
-
puts "Message: %s" % e.message
|
114
|
-
puts 'Errors:'
|
115
|
-
e.errors.each_with_index do |error, index|
|
116
|
-
puts "\tError [%d]:" % (index + 1)
|
117
|
-
error.each do |field, value|
|
118
|
-
puts "\t\t%s: %s" % [field, value]
|
119
|
-
end
|
120
|
-
end
|
121
|
-
end
|
122
|
-
end
|