google-adwords-api 0.17.0 → 0.18.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.
Files changed (170) hide show
  1. checksums.yaml +5 -13
  2. data/ChangeLog +5 -0
  3. data/README.md +3 -3
  4. data/adwords_api.yml +3 -0
  5. data/examples/v201509/{campaign_management → advanced_operations}/add_complete_campaigns_using_batch_job.rb +10 -16
  6. data/examples/v201509/advanced_operations/add_keywords_using_incremental_batch_job.rb +179 -0
  7. data/examples/v201509/reporting/stream_criteria_report_results.rb +97 -0
  8. data/lib/adwords_api/api_config.rb +0 -86
  9. data/lib/adwords_api/batch_job_utils.rb +124 -51
  10. data/lib/adwords_api/incremental_upload_helper.rb +71 -0
  11. data/lib/adwords_api/report_header_handler.rb +1 -1
  12. data/lib/adwords_api/report_stream.rb +64 -0
  13. data/lib/adwords_api/report_utils.rb +88 -8
  14. data/lib/adwords_api/version.rb +1 -1
  15. data/test/adwords_api/test_batch_job_utils.rb +15 -0
  16. metadata +18 -168
  17. data/examples/v201502/account_management/create_account.rb +0 -88
  18. data/examples/v201502/account_management/get_account_changes.rb +0 -139
  19. data/examples/v201502/account_management/get_account_hierarchy.rb +0 -94
  20. data/examples/v201502/advanced_operations/add_ad_customizers.rb +0 -184
  21. data/examples/v201502/advanced_operations/add_ad_group_bid_modifier.rb +0 -101
  22. data/examples/v201502/advanced_operations/add_click_to_download_ad.rb +0 -133
  23. data/examples/v201502/advanced_operations/add_text_ad_with_upgraded_urls.rb +0 -134
  24. data/examples/v201502/advanced_operations/create_and_attach_shared_keyword_set.rb +0 -133
  25. data/examples/v201502/advanced_operations/find_and_remove_criteria_from_shared_set.rb +0 -166
  26. data/examples/v201502/advanced_operations/get_ad_group_bid_modifiers.rb +0 -102
  27. data/examples/v201502/advanced_operations/upload_offline_conversions.rb +0 -113
  28. data/examples/v201502/advanced_operations/use_shared_bidding_strategy.rb +0 -147
  29. data/examples/v201502/basic_operations/add_ad_groups.rb +0 -140
  30. data/examples/v201502/basic_operations/add_campaigns.rb +0 -139
  31. data/examples/v201502/basic_operations/add_keywords.rb +0 -114
  32. data/examples/v201502/basic_operations/add_text_ads.rb +0 -109
  33. data/examples/v201502/basic_operations/get_ad_groups.rb +0 -102
  34. data/examples/v201502/basic_operations/get_campaigns.rb +0 -97
  35. data/examples/v201502/basic_operations/get_campaigns_with_awql.rb +0 -89
  36. data/examples/v201502/basic_operations/get_keywords.rb +0 -108
  37. data/examples/v201502/basic_operations/get_text_ads.rb +0 -110
  38. data/examples/v201502/basic_operations/pause_ad.rb +0 -88
  39. data/examples/v201502/basic_operations/remove_ad.rb +0 -89
  40. data/examples/v201502/basic_operations/remove_ad_group.rb +0 -85
  41. data/examples/v201502/basic_operations/remove_campaign.rb +0 -87
  42. data/examples/v201502/basic_operations/remove_keyword.rb +0 -94
  43. data/examples/v201502/basic_operations/update_ad_group.rb +0 -85
  44. data/examples/v201502/basic_operations/update_campaign.rb +0 -86
  45. data/examples/v201502/basic_operations/update_keyword.rb +0 -106
  46. data/examples/v201502/campaign_management/add_campaign_labels.rb +0 -82
  47. data/examples/v201502/campaign_management/add_experiment.rb +0 -162
  48. data/examples/v201502/campaign_management/add_keywords_in_bulk.rb +0 -153
  49. data/examples/v201502/campaign_management/get_all_disapproved_ads.rb +0 -97
  50. data/examples/v201502/campaign_management/get_all_disapproved_ads_with_awql.rb +0 -89
  51. data/examples/v201502/campaign_management/get_campaigns_by_label.rb +0 -108
  52. data/examples/v201502/campaign_management/promote_experiment.rb +0 -81
  53. data/examples/v201502/campaign_management/set_ad_parameters.rb +0 -118
  54. data/examples/v201502/campaign_management/set_criterion_bid_modifier.rb +0 -104
  55. data/examples/v201502/campaign_management/validate_text_ad.rb +0 -110
  56. data/examples/v201502/error_handling/handle_partial_failures.rb +0 -130
  57. data/examples/v201502/error_handling/handle_policy_violation_error.rb +0 -141
  58. data/examples/v201502/extensions/add_google_my_business_location_extensions.rb +0 -179
  59. data/examples/v201502/extensions/add_site_links.rb +0 -164
  60. data/examples/v201502/extensions/add_site_links_using_feeds.rb +0 -271
  61. data/examples/v201502/migration/migrate_to_extension_settings.rb +0 -386
  62. data/examples/v201502/migration/upgrade_ad_url.rb +0 -93
  63. data/examples/v201502/misc/create_ad_words_session_without_properties_file.rb +0 -92
  64. data/examples/v201502/misc/get_all_images_and_videos.rb +0 -104
  65. data/examples/v201502/misc/setup_oauth2.rb +0 -84
  66. data/examples/v201502/misc/upload_image.rb +0 -93
  67. data/examples/v201502/misc/use_oauth2_jwt.rb +0 -93
  68. data/examples/v201502/optimization/estimate_keyword_traffic.rb +0 -146
  69. data/examples/v201502/optimization/get_keyword_bid_simulations.rb +0 -95
  70. data/examples/v201502/optimization/get_keyword_ideas.rb +0 -126
  71. data/examples/v201502/remarketing/add_audience.rb +0 -118
  72. data/examples/v201502/remarketing/add_conversion_tracker.rb +0 -100
  73. data/examples/v201502/remarketing/add_rule_based_user_lists.rb +0 -167
  74. data/examples/v201502/reporting/download_criteria_report.rb +0 -85
  75. data/examples/v201502/reporting/download_criteria_report_with_awql.rb +0 -84
  76. data/examples/v201502/reporting/get_report_fields.rb +0 -75
  77. data/examples/v201502/reporting/parallel_report_download.rb +0 -166
  78. data/examples/v201502/shopping_campaigns/add_product_partition_tree.rb +0 -267
  79. data/examples/v201502/shopping_campaigns/add_product_scope.rb +0 -129
  80. data/examples/v201502/shopping_campaigns/add_shopping_campaign.rb +0 -129
  81. data/examples/v201502/shopping_campaigns/get_product_category_taxonomy.rb +0 -115
  82. data/examples/v201502/targeting/add_campaign_targeting_criteria.rb +0 -169
  83. data/examples/v201502/targeting/add_demographic_targeting_criteria.rb +0 -112
  84. data/examples/v201502/targeting/get_campaign_targeting_criteria.rb +0 -106
  85. data/examples/v201502/targeting/get_targetable_languages_and_carriers.rb +0 -89
  86. data/examples/v201502/targeting/lookup_location.rb +0 -108
  87. data/lib/adwords_api/v201502/account_label_service.rb +0 -46
  88. data/lib/adwords_api/v201502/account_label_service_registry.rb +0 -46
  89. data/lib/adwords_api/v201502/ad_customizer_feed_service.rb +0 -46
  90. data/lib/adwords_api/v201502/ad_customizer_feed_service_registry.rb +0 -46
  91. data/lib/adwords_api/v201502/ad_group_ad_service.rb +0 -70
  92. data/lib/adwords_api/v201502/ad_group_ad_service_registry.rb +0 -46
  93. data/lib/adwords_api/v201502/ad_group_bid_modifier_service.rb +0 -54
  94. data/lib/adwords_api/v201502/ad_group_bid_modifier_service_registry.rb +0 -46
  95. data/lib/adwords_api/v201502/ad_group_criterion_service.rb +0 -62
  96. data/lib/adwords_api/v201502/ad_group_criterion_service_registry.rb +0 -46
  97. data/lib/adwords_api/v201502/ad_group_extension_setting_service.rb +0 -54
  98. data/lib/adwords_api/v201502/ad_group_extension_setting_service_registry.rb +0 -46
  99. data/lib/adwords_api/v201502/ad_group_feed_service.rb +0 -54
  100. data/lib/adwords_api/v201502/ad_group_feed_service_registry.rb +0 -46
  101. data/lib/adwords_api/v201502/ad_group_service.rb +0 -62
  102. data/lib/adwords_api/v201502/ad_group_service_registry.rb +0 -46
  103. data/lib/adwords_api/v201502/ad_param_service.rb +0 -46
  104. data/lib/adwords_api/v201502/ad_param_service_registry.rb +0 -46
  105. data/lib/adwords_api/v201502/adwords_user_list_service.rb +0 -46
  106. data/lib/adwords_api/v201502/adwords_user_list_service_registry.rb +0 -46
  107. data/lib/adwords_api/v201502/bidding_strategy_service.rb +0 -54
  108. data/lib/adwords_api/v201502/bidding_strategy_service_registry.rb +0 -46
  109. data/lib/adwords_api/v201502/budget_order_service.rb +0 -54
  110. data/lib/adwords_api/v201502/budget_order_service_registry.rb +0 -46
  111. data/lib/adwords_api/v201502/budget_service.rb +0 -54
  112. data/lib/adwords_api/v201502/budget_service_registry.rb +0 -46
  113. data/lib/adwords_api/v201502/campaign_criterion_service.rb +0 -54
  114. data/lib/adwords_api/v201502/campaign_criterion_service_registry.rb +0 -46
  115. data/lib/adwords_api/v201502/campaign_extension_setting_service.rb +0 -54
  116. data/lib/adwords_api/v201502/campaign_extension_setting_service_registry.rb +0 -46
  117. data/lib/adwords_api/v201502/campaign_feed_service.rb +0 -54
  118. data/lib/adwords_api/v201502/campaign_feed_service_registry.rb +0 -46
  119. data/lib/adwords_api/v201502/campaign_service.rb +0 -62
  120. data/lib/adwords_api/v201502/campaign_service_registry.rb +0 -46
  121. data/lib/adwords_api/v201502/campaign_shared_set_service.rb +0 -46
  122. data/lib/adwords_api/v201502/campaign_shared_set_service_registry.rb +0 -46
  123. data/lib/adwords_api/v201502/constant_data_service.rb +0 -102
  124. data/lib/adwords_api/v201502/constant_data_service_registry.rb +0 -46
  125. data/lib/adwords_api/v201502/conversion_tracker_service.rb +0 -54
  126. data/lib/adwords_api/v201502/conversion_tracker_service_registry.rb +0 -46
  127. data/lib/adwords_api/v201502/customer_extension_setting_service.rb +0 -54
  128. data/lib/adwords_api/v201502/customer_extension_setting_service_registry.rb +0 -46
  129. data/lib/adwords_api/v201502/customer_feed_service.rb +0 -54
  130. data/lib/adwords_api/v201502/customer_feed_service_registry.rb +0 -46
  131. data/lib/adwords_api/v201502/customer_service.rb +0 -46
  132. data/lib/adwords_api/v201502/customer_service_registry.rb +0 -46
  133. data/lib/adwords_api/v201502/customer_sync_service.rb +0 -38
  134. data/lib/adwords_api/v201502/customer_sync_service_registry.rb +0 -47
  135. data/lib/adwords_api/v201502/data_service.rb +0 -78
  136. data/lib/adwords_api/v201502/data_service_registry.rb +0 -46
  137. data/lib/adwords_api/v201502/experiment_service.rb +0 -46
  138. data/lib/adwords_api/v201502/experiment_service_registry.rb +0 -46
  139. data/lib/adwords_api/v201502/feed_item_service.rb +0 -54
  140. data/lib/adwords_api/v201502/feed_item_service_registry.rb +0 -46
  141. data/lib/adwords_api/v201502/feed_mapping_service.rb +0 -54
  142. data/lib/adwords_api/v201502/feed_mapping_service_registry.rb +0 -46
  143. data/lib/adwords_api/v201502/feed_service.rb +0 -54
  144. data/lib/adwords_api/v201502/feed_service_registry.rb +0 -46
  145. data/lib/adwords_api/v201502/geo_location_service.rb +0 -38
  146. data/lib/adwords_api/v201502/geo_location_service_registry.rb +0 -46
  147. data/lib/adwords_api/v201502/label_service.rb +0 -54
  148. data/lib/adwords_api/v201502/label_service_registry.rb +0 -46
  149. data/lib/adwords_api/v201502/location_criterion_service.rb +0 -46
  150. data/lib/adwords_api/v201502/location_criterion_service_registry.rb +0 -46
  151. data/lib/adwords_api/v201502/managed_customer_service.rb +0 -78
  152. data/lib/adwords_api/v201502/managed_customer_service_registry.rb +0 -46
  153. data/lib/adwords_api/v201502/media_service.rb +0 -54
  154. data/lib/adwords_api/v201502/media_service_registry.rb +0 -46
  155. data/lib/adwords_api/v201502/mutate_job_service.rb +0 -54
  156. data/lib/adwords_api/v201502/mutate_job_service_registry.rb +0 -46
  157. data/lib/adwords_api/v201502/offline_conversion_feed_service.rb +0 -38
  158. data/lib/adwords_api/v201502/offline_conversion_feed_service_registry.rb +0 -46
  159. data/lib/adwords_api/v201502/report_definition_service.rb +0 -38
  160. data/lib/adwords_api/v201502/report_definition_service_registry.rb +0 -46
  161. data/lib/adwords_api/v201502/shared_criterion_service.rb +0 -46
  162. data/lib/adwords_api/v201502/shared_criterion_service_registry.rb +0 -46
  163. data/lib/adwords_api/v201502/shared_set_service.rb +0 -46
  164. data/lib/adwords_api/v201502/shared_set_service_registry.rb +0 -46
  165. data/lib/adwords_api/v201502/targeting_idea_service.rb +0 -38
  166. data/lib/adwords_api/v201502/targeting_idea_service_registry.rb +0 -46
  167. data/lib/adwords_api/v201502/traffic_estimator_service.rb +0 -38
  168. data/lib/adwords_api/v201502/traffic_estimator_service_registry.rb +0 -46
  169. data/test/templates/v201502/basic_operations_get_campaigns.def +0 -116
  170. data/test/templates/v201502/misc_use_oauth2_service_account.def +0 -131
@@ -19,6 +19,6 @@
19
19
 
20
20
  module AdwordsApi
21
21
  module ApiConfig
22
- CLIENT_LIB_VERSION = '0.17.0'
22
+ CLIENT_LIB_VERSION = '0.18.0'
23
23
  end
24
24
  end
@@ -26,6 +26,7 @@ require 'adwords_api'
26
26
  module AdwordsApi
27
27
  class BatchJobUtils
28
28
  public :extract_soap_operations
29
+ public :add_padding
29
30
  end
30
31
  end
31
32
 
@@ -92,4 +93,18 @@ class TestBatchJobUtils < Test::Unit::TestCase
92
93
  [operation])
93
94
  assert_equal([EXPECTED_OPERATION], extracted)
94
95
  end
96
+
97
+ # Testing padding to make sure that it pads to the right length.
98
+ def test_add_padding()
99
+ length_increment = 256 * 1024
100
+ assert_equal(
101
+ @batch_job_utils.add_padding('abcd').size,
102
+ length_increment)
103
+ assert_equal(
104
+ @batch_job_utils.add_padding(' ' * length_increment).size,
105
+ length_increment)
106
+ assert_equal(
107
+ @batch_job_utils.add_padding(' ' * (length_increment + 1)).size,
108
+ 2 * length_increment)
109
+ end
95
110
  end
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.17.0
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Danial Klimkin
@@ -9,48 +9,48 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-10-08 00:00:00.000000000 Z
12
+ date: 2015-11-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: google-ads-common
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ~>
18
+ - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: 0.11.0
20
+ version: 0.11.1
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ~>
25
+ - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: 0.11.0
27
+ version: 0.11.1
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rr
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ~>
32
+ - - "~>"
33
33
  - !ruby/object:Gem::Version
34
34
  version: 1.1.2
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ~>
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
41
  version: 1.1.2
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: webmock
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - ~>
46
+ - - "~>"
47
47
  - !ruby/object:Gem::Version
48
48
  version: 1.21.0
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - ~>
53
+ - - "~>"
54
54
  - !ruby/object:Gem::Version
55
55
  version: 1.21.0
56
56
  description: google-adwords-api is a AdWords API client library for Ruby
@@ -64,76 +64,6 @@ files:
64
64
  - ChangeLog
65
65
  - README.md
66
66
  - adwords_api.yml
67
- - examples/v201502/account_management/create_account.rb
68
- - examples/v201502/account_management/get_account_changes.rb
69
- - examples/v201502/account_management/get_account_hierarchy.rb
70
- - examples/v201502/advanced_operations/add_ad_customizers.rb
71
- - examples/v201502/advanced_operations/add_ad_group_bid_modifier.rb
72
- - examples/v201502/advanced_operations/add_click_to_download_ad.rb
73
- - examples/v201502/advanced_operations/add_text_ad_with_upgraded_urls.rb
74
- - examples/v201502/advanced_operations/create_and_attach_shared_keyword_set.rb
75
- - examples/v201502/advanced_operations/find_and_remove_criteria_from_shared_set.rb
76
- - examples/v201502/advanced_operations/get_ad_group_bid_modifiers.rb
77
- - examples/v201502/advanced_operations/upload_offline_conversions.rb
78
- - examples/v201502/advanced_operations/use_shared_bidding_strategy.rb
79
- - examples/v201502/basic_operations/add_ad_groups.rb
80
- - examples/v201502/basic_operations/add_campaigns.rb
81
- - examples/v201502/basic_operations/add_keywords.rb
82
- - examples/v201502/basic_operations/add_text_ads.rb
83
- - examples/v201502/basic_operations/get_ad_groups.rb
84
- - examples/v201502/basic_operations/get_campaigns.rb
85
- - examples/v201502/basic_operations/get_campaigns_with_awql.rb
86
- - examples/v201502/basic_operations/get_keywords.rb
87
- - examples/v201502/basic_operations/get_text_ads.rb
88
- - examples/v201502/basic_operations/pause_ad.rb
89
- - examples/v201502/basic_operations/remove_ad.rb
90
- - examples/v201502/basic_operations/remove_ad_group.rb
91
- - examples/v201502/basic_operations/remove_campaign.rb
92
- - examples/v201502/basic_operations/remove_keyword.rb
93
- - examples/v201502/basic_operations/update_ad_group.rb
94
- - examples/v201502/basic_operations/update_campaign.rb
95
- - examples/v201502/basic_operations/update_keyword.rb
96
- - examples/v201502/campaign_management/add_campaign_labels.rb
97
- - examples/v201502/campaign_management/add_experiment.rb
98
- - examples/v201502/campaign_management/add_keywords_in_bulk.rb
99
- - examples/v201502/campaign_management/get_all_disapproved_ads.rb
100
- - examples/v201502/campaign_management/get_all_disapproved_ads_with_awql.rb
101
- - examples/v201502/campaign_management/get_campaigns_by_label.rb
102
- - examples/v201502/campaign_management/promote_experiment.rb
103
- - examples/v201502/campaign_management/set_ad_parameters.rb
104
- - examples/v201502/campaign_management/set_criterion_bid_modifier.rb
105
- - examples/v201502/campaign_management/validate_text_ad.rb
106
- - examples/v201502/error_handling/handle_partial_failures.rb
107
- - examples/v201502/error_handling/handle_policy_violation_error.rb
108
- - examples/v201502/extensions/add_google_my_business_location_extensions.rb
109
- - examples/v201502/extensions/add_site_links.rb
110
- - examples/v201502/extensions/add_site_links_using_feeds.rb
111
- - examples/v201502/migration/migrate_to_extension_settings.rb
112
- - examples/v201502/migration/upgrade_ad_url.rb
113
- - examples/v201502/misc/create_ad_words_session_without_properties_file.rb
114
- - examples/v201502/misc/get_all_images_and_videos.rb
115
- - examples/v201502/misc/setup_oauth2.rb
116
- - examples/v201502/misc/upload_image.rb
117
- - examples/v201502/misc/use_oauth2_jwt.rb
118
- - examples/v201502/optimization/estimate_keyword_traffic.rb
119
- - examples/v201502/optimization/get_keyword_bid_simulations.rb
120
- - examples/v201502/optimization/get_keyword_ideas.rb
121
- - examples/v201502/remarketing/add_audience.rb
122
- - examples/v201502/remarketing/add_conversion_tracker.rb
123
- - examples/v201502/remarketing/add_rule_based_user_lists.rb
124
- - examples/v201502/reporting/download_criteria_report.rb
125
- - examples/v201502/reporting/download_criteria_report_with_awql.rb
126
- - examples/v201502/reporting/get_report_fields.rb
127
- - examples/v201502/reporting/parallel_report_download.rb
128
- - examples/v201502/shopping_campaigns/add_product_partition_tree.rb
129
- - examples/v201502/shopping_campaigns/add_product_scope.rb
130
- - examples/v201502/shopping_campaigns/add_shopping_campaign.rb
131
- - examples/v201502/shopping_campaigns/get_product_category_taxonomy.rb
132
- - examples/v201502/targeting/add_campaign_targeting_criteria.rb
133
- - examples/v201502/targeting/add_demographic_targeting_criteria.rb
134
- - examples/v201502/targeting/get_campaign_targeting_criteria.rb
135
- - examples/v201502/targeting/get_targetable_languages_and_carriers.rb
136
- - examples/v201502/targeting/lookup_location.rb
137
67
  - examples/v201506/account_management/create_account.rb
138
68
  - examples/v201506/account_management/get_account_changes.rb
139
69
  - examples/v201506/account_management/get_account_hierarchy.rb
@@ -210,7 +140,9 @@ files:
210
140
  - examples/v201509/advanced_operations/add_ad_customizers.rb
211
141
  - examples/v201509/advanced_operations/add_ad_group_bid_modifier.rb
212
142
  - examples/v201509/advanced_operations/add_click_to_download_ad.rb
143
+ - examples/v201509/advanced_operations/add_complete_campaigns_using_batch_job.rb
213
144
  - examples/v201509/advanced_operations/add_html5_ad.rb
145
+ - examples/v201509/advanced_operations/add_keywords_using_incremental_batch_job.rb
214
146
  - examples/v201509/advanced_operations/add_text_ad_with_upgraded_urls.rb
215
147
  - examples/v201509/advanced_operations/create_and_attach_shared_keyword_set.rb
216
148
  - examples/v201509/advanced_operations/find_and_remove_criteria_from_shared_set.rb
@@ -235,7 +167,6 @@ files:
235
167
  - examples/v201509/basic_operations/update_campaign.rb
236
168
  - examples/v201509/basic_operations/update_keyword.rb
237
169
  - examples/v201509/campaign_management/add_campaign_labels.rb
238
- - examples/v201509/campaign_management/add_complete_campaigns_using_batch_job.rb
239
170
  - examples/v201509/campaign_management/add_experiment.rb
240
171
  - examples/v201509/campaign_management/add_keywords_in_bulk.rb
241
172
  - examples/v201509/campaign_management/get_all_disapproved_ads.rb
@@ -269,6 +200,7 @@ files:
269
200
  - examples/v201509/reporting/download_criteria_report_with_awql.rb
270
201
  - examples/v201509/reporting/get_report_fields.rb
271
202
  - examples/v201509/reporting/parallel_report_download.rb
203
+ - examples/v201509/reporting/stream_criteria_report_results.rb
272
204
  - examples/v201509/shopping_campaigns/add_product_partition_tree.rb
273
205
  - examples/v201509/shopping_campaigns/add_product_scope.rb
274
206
  - examples/v201509/shopping_campaigns/add_shopping_campaign.rb
@@ -283,91 +215,11 @@ files:
283
215
  - lib/adwords_api/batch_job_utils.rb
284
216
  - lib/adwords_api/credential_handler.rb
285
217
  - lib/adwords_api/errors.rb
218
+ - lib/adwords_api/incremental_upload_helper.rb
286
219
  - lib/adwords_api/report_header_handler.rb
220
+ - lib/adwords_api/report_stream.rb
287
221
  - lib/adwords_api/report_utils.rb
288
222
  - lib/adwords_api/utils.rb
289
- - lib/adwords_api/v201502/account_label_service.rb
290
- - lib/adwords_api/v201502/account_label_service_registry.rb
291
- - lib/adwords_api/v201502/ad_customizer_feed_service.rb
292
- - lib/adwords_api/v201502/ad_customizer_feed_service_registry.rb
293
- - lib/adwords_api/v201502/ad_group_ad_service.rb
294
- - lib/adwords_api/v201502/ad_group_ad_service_registry.rb
295
- - lib/adwords_api/v201502/ad_group_bid_modifier_service.rb
296
- - lib/adwords_api/v201502/ad_group_bid_modifier_service_registry.rb
297
- - lib/adwords_api/v201502/ad_group_criterion_service.rb
298
- - lib/adwords_api/v201502/ad_group_criterion_service_registry.rb
299
- - lib/adwords_api/v201502/ad_group_extension_setting_service.rb
300
- - lib/adwords_api/v201502/ad_group_extension_setting_service_registry.rb
301
- - lib/adwords_api/v201502/ad_group_feed_service.rb
302
- - lib/adwords_api/v201502/ad_group_feed_service_registry.rb
303
- - lib/adwords_api/v201502/ad_group_service.rb
304
- - lib/adwords_api/v201502/ad_group_service_registry.rb
305
- - lib/adwords_api/v201502/ad_param_service.rb
306
- - lib/adwords_api/v201502/ad_param_service_registry.rb
307
- - lib/adwords_api/v201502/adwords_user_list_service.rb
308
- - lib/adwords_api/v201502/adwords_user_list_service_registry.rb
309
- - lib/adwords_api/v201502/bidding_strategy_service.rb
310
- - lib/adwords_api/v201502/bidding_strategy_service_registry.rb
311
- - lib/adwords_api/v201502/budget_order_service.rb
312
- - lib/adwords_api/v201502/budget_order_service_registry.rb
313
- - lib/adwords_api/v201502/budget_service.rb
314
- - lib/adwords_api/v201502/budget_service_registry.rb
315
- - lib/adwords_api/v201502/campaign_criterion_service.rb
316
- - lib/adwords_api/v201502/campaign_criterion_service_registry.rb
317
- - lib/adwords_api/v201502/campaign_extension_setting_service.rb
318
- - lib/adwords_api/v201502/campaign_extension_setting_service_registry.rb
319
- - lib/adwords_api/v201502/campaign_feed_service.rb
320
- - lib/adwords_api/v201502/campaign_feed_service_registry.rb
321
- - lib/adwords_api/v201502/campaign_service.rb
322
- - lib/adwords_api/v201502/campaign_service_registry.rb
323
- - lib/adwords_api/v201502/campaign_shared_set_service.rb
324
- - lib/adwords_api/v201502/campaign_shared_set_service_registry.rb
325
- - lib/adwords_api/v201502/constant_data_service.rb
326
- - lib/adwords_api/v201502/constant_data_service_registry.rb
327
- - lib/adwords_api/v201502/conversion_tracker_service.rb
328
- - lib/adwords_api/v201502/conversion_tracker_service_registry.rb
329
- - lib/adwords_api/v201502/customer_extension_setting_service.rb
330
- - lib/adwords_api/v201502/customer_extension_setting_service_registry.rb
331
- - lib/adwords_api/v201502/customer_feed_service.rb
332
- - lib/adwords_api/v201502/customer_feed_service_registry.rb
333
- - lib/adwords_api/v201502/customer_service.rb
334
- - lib/adwords_api/v201502/customer_service_registry.rb
335
- - lib/adwords_api/v201502/customer_sync_service.rb
336
- - lib/adwords_api/v201502/customer_sync_service_registry.rb
337
- - lib/adwords_api/v201502/data_service.rb
338
- - lib/adwords_api/v201502/data_service_registry.rb
339
- - lib/adwords_api/v201502/experiment_service.rb
340
- - lib/adwords_api/v201502/experiment_service_registry.rb
341
- - lib/adwords_api/v201502/feed_item_service.rb
342
- - lib/adwords_api/v201502/feed_item_service_registry.rb
343
- - lib/adwords_api/v201502/feed_mapping_service.rb
344
- - lib/adwords_api/v201502/feed_mapping_service_registry.rb
345
- - lib/adwords_api/v201502/feed_service.rb
346
- - lib/adwords_api/v201502/feed_service_registry.rb
347
- - lib/adwords_api/v201502/geo_location_service.rb
348
- - lib/adwords_api/v201502/geo_location_service_registry.rb
349
- - lib/adwords_api/v201502/label_service.rb
350
- - lib/adwords_api/v201502/label_service_registry.rb
351
- - lib/adwords_api/v201502/location_criterion_service.rb
352
- - lib/adwords_api/v201502/location_criterion_service_registry.rb
353
- - lib/adwords_api/v201502/managed_customer_service.rb
354
- - lib/adwords_api/v201502/managed_customer_service_registry.rb
355
- - lib/adwords_api/v201502/media_service.rb
356
- - lib/adwords_api/v201502/media_service_registry.rb
357
- - lib/adwords_api/v201502/mutate_job_service.rb
358
- - lib/adwords_api/v201502/mutate_job_service_registry.rb
359
- - lib/adwords_api/v201502/offline_conversion_feed_service.rb
360
- - lib/adwords_api/v201502/offline_conversion_feed_service_registry.rb
361
- - lib/adwords_api/v201502/report_definition_service.rb
362
- - lib/adwords_api/v201502/report_definition_service_registry.rb
363
- - lib/adwords_api/v201502/shared_criterion_service.rb
364
- - lib/adwords_api/v201502/shared_criterion_service_registry.rb
365
- - lib/adwords_api/v201502/shared_set_service.rb
366
- - lib/adwords_api/v201502/shared_set_service_registry.rb
367
- - lib/adwords_api/v201502/targeting_idea_service.rb
368
- - lib/adwords_api/v201502/targeting_idea_service_registry.rb
369
- - lib/adwords_api/v201502/traffic_estimator_service.rb
370
- - lib/adwords_api/v201502/traffic_estimator_service_registry.rb
371
223
  - lib/adwords_api/v201506/account_label_service.rb
372
224
  - lib/adwords_api/v201506/account_label_service_registry.rb
373
225
  - lib/adwords_api/v201506/ad_customizer_feed_service.rb
@@ -543,8 +395,6 @@ files:
543
395
  - test/coverage.rb
544
396
  - test/suite_integration.rb
545
397
  - test/suite_unittests.rb
546
- - test/templates/v201502/basic_operations_get_campaigns.def
547
- - test/templates/v201502/misc_use_oauth2_service_account.def
548
398
  - test/templates/v201506/basic_operations_get_campaigns.def
549
399
  - test/templates/v201506/misc_use_oauth2_service_account.def
550
400
  - test/templates/v201509/basic_operations_get_campaigns.def
@@ -560,17 +410,17 @@ require_paths:
560
410
  - lib
561
411
  required_ruby_version: !ruby/object:Gem::Requirement
562
412
  requirements:
563
- - - ! '>='
413
+ - - ">="
564
414
  - !ruby/object:Gem::Version
565
415
  version: '0'
566
416
  required_rubygems_version: !ruby/object:Gem::Requirement
567
417
  requirements:
568
- - - ! '>='
418
+ - - ">="
569
419
  - !ruby/object:Gem::Version
570
420
  version: 1.3.6
571
421
  requirements: []
572
422
  rubyforge_project: google-adwords-api
573
- rubygems_version: 2.2.2
423
+ rubygems_version: 2.4.8
574
424
  signing_key:
575
425
  specification_version: 4
576
426
  summary: Ruby Client libraries for AdWords API
@@ -1,88 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # Encoding: utf-8
3
- #
4
- # Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
5
- #
6
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
15
- # implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
- # This example illustrates how to create an account. Note by default this
20
- # account will only be accessible via parent AdWords manager account.
21
-
22
- require 'adwords_api'
23
- require 'adwords_api/utils'
24
-
25
- def create_account()
26
- # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
27
- # when called without parameters.
28
- adwords = AdwordsApi::Api.new
29
-
30
- # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
31
- # the configuration file or provide your own logger:
32
- # adwords.logger = Logger.new('adwords_xml.log')
33
-
34
- managed_customer_srv = adwords.service(:ManagedCustomerService, API_VERSION)
35
-
36
- # Create a local Customer object.
37
- customer = {
38
- :name => 'Account created with ManagedCustomerService',
39
- :currency_code => 'EUR',
40
- :date_time_zone => 'Europe/London'
41
- }
42
-
43
- # Prepare operation to create an account.
44
- operation = {
45
- :operator => 'ADD',
46
- :operand => customer
47
- }
48
-
49
- # Create the account. It is possible to create multiple accounts with one
50
- # request by sending an array of operations.
51
- response = managed_customer_srv.mutate([operation])
52
-
53
- response[:value].each do |new_account|
54
- puts "Account with customer ID '%s' was successfully created." %
55
- AdwordsApi::Utils.format_id(new_account[:customer_id])
56
- end
57
- end
58
-
59
- if __FILE__ == $0
60
- API_VERSION = :v201502
61
-
62
- begin
63
- create_account()
64
-
65
- # Authorization error.
66
- rescue AdsCommon::Errors::OAuth2VerificationRequired => e
67
- puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
68
- "OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
69
- "to retrieve and store OAuth2 tokens."
70
- puts "See this wiki page for more details:\n\n " +
71
- 'http://code.google.com/p/google-api-ads-ruby/wiki/OAuth2'
72
-
73
- # HTTP errors.
74
- rescue AdsCommon::Errors::HttpError => e
75
- puts "HTTP Error: %s" % e
76
-
77
- # API errors.
78
- rescue AdwordsApi::Errors::ApiException => e
79
- puts "Message: %s" % e.message
80
- puts 'Errors:'
81
- e.errors.each_with_index do |error, index|
82
- puts "\tError [%d]:" % (index + 1)
83
- error.each do |field, value|
84
- puts "\t\t%s: %s" % [field, value]
85
- end
86
- end
87
- end
88
- end
@@ -1,139 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # Encoding: utf-8
3
- #
4
- # Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
5
- #
6
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
15
- # implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
- # This example gets all account changes that happened within the last 24 hours,
20
- # for all your campaigns.
21
-
22
- require 'adwords_api'
23
- require 'date'
24
- require 'pp'
25
-
26
- def get_account_changes()
27
- # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
28
- # when called without parameters.
29
- adwords = AdwordsApi::Api.new
30
-
31
- # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
32
- # the configuration file or provide your own logger:
33
- # adwords.logger = Logger.new('adwords_xml.log')
34
-
35
- campaign_srv = adwords.service(:CampaignService, API_VERSION)
36
- customer_sync_srv = adwords.service(:CustomerSyncService, API_VERSION)
37
-
38
- today_at_midnight = DateTime.parse(Date.today.to_s)
39
- yesterday_at_midnight = DateTime.parse((Date.today - 1).to_s)
40
- min_date_time = yesterday_at_midnight.strftime("%Y%m%d %H%M%S")
41
- max_date_time = today_at_midnight.strftime("%Y%m%d %H%M%S")
42
-
43
- # Get all the campaigns for this account.
44
- selector = {
45
- :fields => ['Id']
46
- }
47
- response = campaign_srv.get(selector)
48
-
49
- campaign_ids = []
50
-
51
- if response and response[:entries]
52
- campaign_ids = response[:entries].map { |campaign| campaign[:id] }
53
- else
54
- raise StandardError, 'No campaigns were found.'
55
- end
56
-
57
- # Create a selector for CustomerSyncService.
58
- selector = {
59
- :campaign_ids => campaign_ids,
60
- :date_time_range => {
61
- :min => min_date_time,
62
- :max => max_date_time
63
- }
64
- }
65
-
66
- # Get all account changes for the campaigns.
67
- campaign_changes = customer_sync_srv.get(selector)
68
-
69
- # Display changes.
70
- if campaign_changes
71
- puts "Most recent change: %s" % campaign_changes[:last_change_timestamp]
72
- campaign_changes[:changed_campaigns].each do |campaign|
73
- puts "Campaign with ID %d was changed:" % campaign[:campaign_id]
74
- puts "\tCampaign change status: '%s'" % campaign[:campaign_change_status]
75
- unless ['NEW', 'FIELDS_UNCHANGED'].include?(
76
- campaign[:campaign_change_status])
77
- puts "\tAdded ad extensions: '%s'" %
78
- campaign[:added_ad_extensions].pretty_inspect.chomp
79
- puts "\tAdded campaign criteria: '%s'" %
80
- campaign[:added_campaign_criteria].pretty_inspect.chomp
81
- puts "\tRemoved ad extensions: '%s'" %
82
- campaign[:removed_ad_extensions].pretty_inspect.chomp
83
- puts "\tRemoved campaign criteria: '%s'" %
84
- campaign[:removed_campaign_criteria].pretty_inspect.chomp
85
-
86
- if campaign[:changed_ad_groups]
87
- campaign[:changed_ad_groups].each do |ad_group|
88
- puts "\tAd group with ID %d was changed:" % ad_group[:ad_group_id]
89
- puts "\t\tAd group changed status: '%s'" %
90
- ad_group[:ad_group_change_status]
91
- unless ['NEW', 'FIELDS_UNCHANGED'].include?(
92
- ad_group[:ad_group_change_status])
93
- puts "\t\tAds changed: '%s'" %
94
- ad_group[:changed_ads].pretty_inspect.chomp
95
- puts "\t\tCriteria changed: '%s'" %
96
- ad_group[:changed_criteria].pretty_inspect.chomp
97
- puts "\t\tCriteria removed: '%s'" %
98
- ad_group[:removed_criteria].pretty_inspect.chomp
99
- end
100
- end
101
- end
102
- end
103
- puts
104
- end
105
- else
106
- puts 'No account changes were found.'
107
- end
108
- end
109
-
110
- if __FILE__ == $0
111
- API_VERSION = :v201502
112
-
113
- begin
114
- get_account_changes()
115
-
116
- # Authorization error.
117
- rescue AdsCommon::Errors::OAuth2VerificationRequired => e
118
- puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
119
- "OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
120
- "to retrieve and store OAuth2 tokens."
121
- puts "See this wiki page for more details:\n\n " +
122
- 'http://code.google.com/p/google-api-ads-ruby/wiki/OAuth2'
123
-
124
- # HTTP errors.
125
- rescue AdsCommon::Errors::HttpError => e
126
- puts "HTTP Error: %s" % e
127
-
128
- # API errors.
129
- rescue AdwordsApi::Errors::ApiException => e
130
- puts "Message: %s" % e.message
131
- puts 'Errors:'
132
- e.errors.each_with_index do |error, index|
133
- puts "\tError [%d]:" % (index + 1)
134
- error.each do |field, value|
135
- puts "\t\t%s: %s" % [field, value]
136
- end
137
- end
138
- end
139
- end