google-dfp-api 0.2.3 → 0.2.4

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 (171) hide show
  1. data/ChangeLog +6 -0
  2. data/README +11 -5
  3. data/Rakefile +1 -1
  4. data/examples/{v201101 → v201108}/common/error_handling.rb +1 -1
  5. data/examples/{v201101 → v201108}/common/oauth_handling.rb +1 -1
  6. data/examples/{v201101 → v201108}/company_service/create_companies.rb +1 -1
  7. data/examples/{v201101 → v201108}/company_service/get_all_companies.rb +1 -1
  8. data/examples/{v201101 → v201108}/company_service/get_companies_by_statement.rb +1 -1
  9. data/examples/{v201101 → v201108}/company_service/get_company.rb +1 -1
  10. data/examples/{v201101 → v201108}/company_service/update_companies.rb +1 -1
  11. data/examples/{v201101 → v201108}/creative_service/copy_image_creatives.rb +1 -1
  12. data/examples/{v201101 → v201108}/creative_service/create_creatives.rb +1 -1
  13. data/examples/{v201101 → v201108}/creative_service/get_all_creatives.rb +1 -1
  14. data/examples/{v201101 → v201108}/creative_service/get_creative.rb +1 -1
  15. data/examples/{v201101 → v201108}/creative_service/get_creatives_by_statement.rb +1 -1
  16. data/examples/{v201101 → v201108}/creative_service/update_creatives.rb +1 -1
  17. data/examples/{v201101 → v201108}/custom_targeting_service/create_custom_targeting_keys_and_values.rb +1 -1
  18. data/examples/{v201101 → v201108}/custom_targeting_service/delete_custom_targeting_keys.rb +1 -1
  19. data/examples/{v201101 → v201108}/custom_targeting_service/delete_custom_targeting_values.rb +1 -1
  20. data/examples/{v201101 → v201108}/custom_targeting_service/get_all_custom_targeting_keys_and_values.rb +1 -1
  21. data/examples/{v201101 → v201108}/custom_targeting_service/get_custom_targeting_keys_by_statement.rb +1 -1
  22. data/examples/{v201101 → v201108}/custom_targeting_service/get_custom_targeting_values_by_statement.rb +1 -1
  23. data/examples/{v201101 → v201108}/custom_targeting_service/update_custom_targeting_keys.rb +1 -1
  24. data/examples/{v201101 → v201108}/custom_targeting_service/update_custom_targeting_values.rb +1 -1
  25. data/examples/{v201101 → v201108}/forecast_service/get_forecast.rb +8 -4
  26. data/examples/{v201101 → v201108}/forecast_service/get_forecast_by_id.rb +1 -1
  27. data/examples/{v201101 → v201108}/inventory_service/create_ad_units.rb +8 -2
  28. data/examples/{v201101 → v201108}/inventory_service/deactivate_ad_units.rb +1 -1
  29. data/examples/{v201101 → v201108}/inventory_service/get_ad_unit.rb +1 -1
  30. data/examples/v201108/inventory_service/get_ad_unit_sizes.rb +73 -0
  31. data/examples/{v201101 → v201108}/inventory_service/get_ad_units_by_statement.rb +1 -1
  32. data/examples/{v201101 → v201108}/inventory_service/get_all_ad_units.rb +1 -1
  33. data/examples/{v201101 → v201108}/inventory_service/update_ad_units.rb +1 -1
  34. data/examples/v201108/label_service/create_labels.rb +83 -0
  35. data/examples/v201108/label_service/deactivate_labels.rb +118 -0
  36. data/examples/v201108/label_service/get_all_labels.rb +94 -0
  37. data/examples/v201108/label_service/get_label.rb +76 -0
  38. data/examples/v201108/label_service/get_labels_by_statement.rb +91 -0
  39. data/examples/v201108/label_service/update_labels.rb +104 -0
  40. data/examples/{v201101 → v201108}/line_item_creative_association_service/create_licas.rb +1 -1
  41. data/examples/{v201101 → v201108}/line_item_creative_association_service/deactivate_licas.rb +1 -1
  42. data/examples/{v201101 → v201108}/line_item_creative_association_service/get_all_licas.rb +1 -1
  43. data/examples/{v201101 → v201108}/line_item_creative_association_service/get_lica.rb +1 -1
  44. data/examples/{v201101 → v201108}/line_item_creative_association_service/get_licas_by_statement.rb +1 -1
  45. data/examples/{v201101 → v201108}/line_item_creative_association_service/update_licas.rb +1 -1
  46. data/examples/{v201101 → v201108}/line_item_service/activate_line_items.rb +1 -1
  47. data/examples/{v201101 → v201108}/line_item_service/create_line_items.rb +49 -19
  48. data/examples/{v201101 → v201108}/line_item_service/get_all_line_items.rb +1 -1
  49. data/examples/{v201101 → v201108}/line_item_service/get_line_item.rb +1 -1
  50. data/examples/{v201101 → v201108}/line_item_service/get_line_items_by_statement.rb +1 -1
  51. data/examples/{v201101 → v201108}/line_item_service/target_custom_criteria.rb +30 -36
  52. data/examples/{v201101 → v201108}/line_item_service/update_line_items.rb +1 -1
  53. data/examples/{v201101 → v201108}/network_service/get_all_networks.rb +1 -1
  54. data/examples/{v201101 → v201108}/network_service/get_current_network.rb +1 -1
  55. data/examples/{v201101 → v201108}/order_service/approve_orders.rb +1 -1
  56. data/examples/{v201101 → v201108}/order_service/create_orders.rb +1 -1
  57. data/examples/{v201101 → v201108}/order_service/get_all_orders.rb +1 -1
  58. data/examples/{v201101 → v201108}/order_service/get_order.rb +1 -1
  59. data/examples/{v201101 → v201108}/order_service/get_orders_by_statement.rb +1 -1
  60. data/examples/{v201101 → v201108}/order_service/update_orders.rb +1 -1
  61. data/examples/{v201101 → v201108}/placement_service/create_placements.rb +3 -2
  62. data/examples/{v201101 → v201108}/placement_service/deactivate_placements.rb +1 -1
  63. data/examples/{v201101 → v201108}/placement_service/get_all_placements.rb +1 -1
  64. data/examples/{v201101 → v201108}/placement_service/get_placement.rb +1 -1
  65. data/examples/{v201101 → v201108}/placement_service/get_placements_by_statement.rb +1 -1
  66. data/examples/{v201101 → v201108}/placement_service/update_placements.rb +1 -1
  67. data/examples/v201108/publisher_query_language_service/get_all_bandwidth_groups.rb +85 -0
  68. data/examples/v201108/publisher_query_language_service/get_all_browser_languages.rb +85 -0
  69. data/examples/v201108/publisher_query_language_service/get_all_browsers.rb +85 -0
  70. data/examples/{v201101 → v201108}/publisher_query_language_service/get_all_cities.rb +1 -1
  71. data/examples/{v201101 → v201108}/publisher_query_language_service/get_all_countries.rb +1 -1
  72. data/examples/{v201101 → v201108}/publisher_query_language_service/get_all_metros.rb +1 -1
  73. data/examples/v201108/publisher_query_language_service/get_all_operating_systems.rb +85 -0
  74. data/examples/{v201101 → v201108}/publisher_query_language_service/get_all_regions.rb +1 -1
  75. data/examples/{v201101 → v201108}/report_service/download_report.rb +1 -1
  76. data/examples/{v201101 → v201108}/report_service/run_delivery_report.rb +1 -1
  77. data/examples/{v201101 → v201108}/report_service/run_inventory_report.rb +1 -1
  78. data/examples/{v201101 → v201108}/report_service/run_sales_report.rb +1 -1
  79. data/examples/{v201101 → v201108}/user_service/create_users.rb +1 -1
  80. data/examples/{v201101 → v201108}/user_service/deactivate_users.rb +1 -1
  81. data/examples/{v201101 → v201108}/user_service/get_all_roles.rb +1 -1
  82. data/examples/{v201101 → v201108}/user_service/get_all_users.rb +1 -1
  83. data/examples/v201108/user_service/get_current_user.rb +66 -0
  84. data/examples/{v201101 → v201108}/user_service/get_user.rb +1 -1
  85. data/examples/{v201101 → v201108}/user_service/get_users_by_statement.rb +1 -1
  86. data/examples/{v201101 → v201108}/user_service/update_users.rb +1 -1
  87. data/lib/dfp_api.rb +5 -12
  88. data/lib/dfp_api/api_config.rb +14 -13
  89. data/lib/dfp_api/credential_handler.rb +5 -5
  90. data/lib/dfp_api/v201104/company_service.rb +5 -5
  91. data/lib/dfp_api/v201104/company_service_registry.rb +5 -3
  92. data/lib/dfp_api/v201104/creative_service.rb +5 -5
  93. data/lib/dfp_api/v201104/creative_service_registry.rb +5 -3
  94. data/lib/dfp_api/v201104/custom_targeting_service.rb +9 -9
  95. data/lib/dfp_api/v201104/custom_targeting_service_registry.rb +5 -3
  96. data/lib/dfp_api/v201104/forecast_service.rb +5 -5
  97. data/lib/dfp_api/v201104/forecast_service_registry.rb +5 -3
  98. data/lib/dfp_api/v201104/inventory_service.rb +9 -9
  99. data/lib/dfp_api/v201104/inventory_service_registry.rb +5 -3
  100. data/lib/dfp_api/v201104/line_item_creative_association_service.rb +1 -1
  101. data/lib/dfp_api/v201104/line_item_creative_association_service_registry.rb +5 -3
  102. data/lib/dfp_api/v201104/line_item_service.rb +13 -13
  103. data/lib/dfp_api/v201104/line_item_service_registry.rb +5 -3
  104. data/lib/dfp_api/v201104/network_service.rb +5 -5
  105. data/lib/dfp_api/v201104/network_service_registry.rb +5 -3
  106. data/lib/dfp_api/v201104/order_service.rb +1 -1
  107. data/lib/dfp_api/v201104/order_service_registry.rb +5 -3
  108. data/lib/dfp_api/v201104/placement_service.rb +5 -5
  109. data/lib/dfp_api/v201104/placement_service_registry.rb +5 -3
  110. data/lib/dfp_api/v201104/publisher_query_language_service.rb +1 -1
  111. data/lib/dfp_api/v201104/publisher_query_language_service_registry.rb +5 -3
  112. data/lib/dfp_api/v201104/report_service.rb +5 -5
  113. data/lib/dfp_api/v201104/report_service_registry.rb +5 -3
  114. data/lib/dfp_api/v201104/user_service.rb +9 -9
  115. data/lib/dfp_api/v201104/user_service_registry.rb +5 -3
  116. data/lib/dfp_api/v201107/company_service.rb +9 -9
  117. data/lib/dfp_api/v201107/company_service_registry.rb +5 -3
  118. data/lib/dfp_api/v201107/custom_targeting_service.rb +9 -9
  119. data/lib/dfp_api/v201107/custom_targeting_service_registry.rb +5 -3
  120. data/lib/dfp_api/v201107/label_service.rb +5 -5
  121. data/lib/dfp_api/v201107/label_service_registry.rb +5 -3
  122. data/lib/dfp_api/v201107/order_service.rb +13 -13
  123. data/lib/dfp_api/v201107/order_service_registry.rb +5 -3
  124. data/lib/dfp_api/v201107/report_service.rb +5 -5
  125. data/lib/dfp_api/v201107/report_service_registry.rb +5 -3
  126. data/lib/dfp_api/v201107/user_service.rb +19 -19
  127. data/lib/dfp_api/v201107/user_service_registry.rb +5 -3
  128. data/lib/dfp_api/{v201101 → v201108}/company_service.rb +10 -10
  129. data/lib/dfp_api/v201108/company_service_registry.rb +44 -0
  130. data/lib/dfp_api/{v201101 → v201108}/creative_service.rb +10 -10
  131. data/lib/dfp_api/v201108/creative_service_registry.rb +44 -0
  132. data/lib/dfp_api/{v201101 → v201108}/custom_targeting_service.rb +14 -14
  133. data/lib/dfp_api/v201108/custom_targeting_service_registry.rb +44 -0
  134. data/lib/dfp_api/{v201101 → v201108}/forecast_service.rb +10 -10
  135. data/lib/dfp_api/v201108/forecast_service_registry.rb +44 -0
  136. data/lib/dfp_api/{v201101 → v201108}/inventory_service.rb +18 -14
  137. data/lib/dfp_api/v201108/inventory_service_registry.rb +44 -0
  138. data/lib/dfp_api/v201108/label_service.rb +56 -0
  139. data/lib/dfp_api/v201108/label_service_registry.rb +44 -0
  140. data/lib/dfp_api/{v201101 → v201108}/line_item_creative_association_service.rb +6 -6
  141. data/lib/dfp_api/v201108/line_item_creative_association_service_registry.rb +44 -0
  142. data/lib/dfp_api/{v201101 → v201108}/line_item_service.rb +18 -18
  143. data/lib/dfp_api/v201108/line_item_service_registry.rb +44 -0
  144. data/lib/dfp_api/{v201101 → v201108}/network_service.rb +10 -10
  145. data/lib/dfp_api/v201108/network_service_registry.rb +44 -0
  146. data/lib/dfp_api/{v201101 → v201108}/order_service.rb +6 -6
  147. data/lib/dfp_api/v201108/order_service_registry.rb +44 -0
  148. data/lib/dfp_api/{v201101 → v201108}/placement_service.rb +10 -10
  149. data/lib/dfp_api/v201108/placement_service_registry.rb +44 -0
  150. data/lib/dfp_api/{v201101 → v201108}/publisher_query_language_service.rb +6 -6
  151. data/lib/dfp_api/v201108/publisher_query_language_service_registry.rb +44 -0
  152. data/lib/dfp_api/{v201101 → v201108}/report_service.rb +10 -10
  153. data/lib/dfp_api/v201108/report_service_registry.rb +44 -0
  154. data/lib/dfp_api/v201108/third_party_slot_service.rb +44 -0
  155. data/lib/dfp_api/v201108/third_party_slot_service_registry.rb +44 -0
  156. data/lib/dfp_api/{v201101 → v201108}/user_service.rb +18 -14
  157. data/lib/dfp_api/v201108/user_service_registry.rb +44 -0
  158. metadata +120 -104
  159. data/lib/dfp_api/v201101/company_service_registry.rb +0 -42
  160. data/lib/dfp_api/v201101/creative_service_registry.rb +0 -42
  161. data/lib/dfp_api/v201101/custom_targeting_service_registry.rb +0 -42
  162. data/lib/dfp_api/v201101/forecast_service_registry.rb +0 -42
  163. data/lib/dfp_api/v201101/inventory_service_registry.rb +0 -42
  164. data/lib/dfp_api/v201101/line_item_creative_association_service_registry.rb +0 -42
  165. data/lib/dfp_api/v201101/line_item_service_registry.rb +0 -42
  166. data/lib/dfp_api/v201101/network_service_registry.rb +0 -42
  167. data/lib/dfp_api/v201101/order_service_registry.rb +0 -42
  168. data/lib/dfp_api/v201101/placement_service_registry.rb +0 -42
  169. data/lib/dfp_api/v201101/publisher_query_language_service_registry.rb +0 -42
  170. data/lib/dfp_api/v201101/report_service_registry.rb +0 -42
  171. data/lib/dfp_api/v201101/user_service_registry.rb +0 -42
@@ -25,7 +25,7 @@
25
25
  require 'rubygems'
26
26
  require 'dfp_api'
27
27
 
28
- API_VERSION = :v201101
28
+ API_VERSION = :v201108
29
29
 
30
30
  def get_order()
31
31
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -27,7 +27,7 @@
27
27
  require 'rubygems'
28
28
  require 'dfp_api'
29
29
 
30
- API_VERSION = :v201101
30
+ API_VERSION = :v201108
31
31
 
32
32
  def get_orders_by_statement()
33
33
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -25,7 +25,7 @@
25
25
  require 'rubygems'
26
26
  require 'dfp_api'
27
27
 
28
- API_VERSION = :v201101
28
+ API_VERSION = :v201108
29
29
 
30
30
  def update_orders()
31
31
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -26,7 +26,7 @@
26
26
  require 'rubygems'
27
27
  require 'dfp_api'
28
28
 
29
- API_VERSION = :v201101
29
+ API_VERSION = :v201108
30
30
 
31
31
  def create_placements()
32
32
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -70,7 +70,8 @@ def create_placements()
70
70
  if page and page[:results]
71
71
  page[:results].each do |ad_unit|
72
72
  if ad_unit[:parent_id] and ad_unit[:sizes]
73
- ad_unit[:sizes].each do |size|
73
+ ad_unit[:ad_unit_sizes].each do |ad_unit_size|
74
+ size = ad_unit_size[:size]
74
75
  receiver = case size[:width]
75
76
  when 120
76
77
  skyscraper_ad_unit_placement if size[:height] == 600
@@ -26,7 +26,7 @@
26
26
  require 'rubygems'
27
27
  require 'dfp_api'
28
28
 
29
- API_VERSION = :v201101
29
+ API_VERSION = :v201108
30
30
  PAGE_SIZE = 500
31
31
 
32
32
  def deactivate_placements()
@@ -25,7 +25,7 @@
25
25
  require 'rubygems'
26
26
  require 'dfp_api'
27
27
 
28
- API_VERSION = :v201101
28
+ API_VERSION = :v201108
29
29
  PAGE_SIZE = 500
30
30
 
31
31
  def get_all_placements()
@@ -25,7 +25,7 @@
25
25
  require 'rubygems'
26
26
  require 'dfp_api'
27
27
 
28
- API_VERSION = :v201101
28
+ API_VERSION = :v201108
29
29
 
30
30
  def get_placement()
31
31
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -26,7 +26,7 @@
26
26
  require 'rubygems'
27
27
  require 'dfp_api'
28
28
 
29
- API_VERSION = :v201101
29
+ API_VERSION = :v201108
30
30
 
31
31
  def get_placements_by_statement()
32
32
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -26,7 +26,7 @@
26
26
  require 'rubygems'
27
27
  require 'dfp_api'
28
28
 
29
- API_VERSION = :v201101
29
+ API_VERSION = :v201108
30
30
 
31
31
  def update_placements()
32
32
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -0,0 +1,85 @@
1
+ #!/usr/bin/ruby
2
+ #
3
+ # Author:: api.dklimkin@gmail.com (Danial Klimkin)
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 gets all bandwidth groups.
21
+ #
22
+ # Tags: PublisherQueryLanguageService.select
23
+
24
+ require 'rubygems'
25
+ require 'dfp_api'
26
+
27
+ API_VERSION = :v201108
28
+ # A string to separate columns in output. Use "," to get CSV.
29
+ COLUMN_SEPARATOR = "\t"
30
+
31
+ def get_all_bandwidth_groups()
32
+ # Get DfpApi instance and load configuration from ~/dfp_api.yml.
33
+ dfp = DfpApi::Api.new
34
+
35
+ # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
36
+ # the configuration file or provide your own logger:
37
+ # dfp.logger = Logger.new('dfp_xml.log')
38
+
39
+ # Get the PublisherQueryLanguageService.
40
+ pql_service = dfp.service(:PublisherQueryLanguageService, API_VERSION)
41
+
42
+ # Create statement to select all bandwidth groups.
43
+ statement = {:query => 'SELECT * FROM Bandwidth_Group'}
44
+
45
+ # Get all bandwidth groups.
46
+ result_set = pql_service.select(statement)
47
+
48
+ if result_set
49
+ # Print out columns header.
50
+ columns = result_set[:column_types].collect {|col| col[:label_name]}
51
+ puts columns.join(COLUMN_SEPARATOR)
52
+
53
+ # Print out every row.
54
+ result_set[:rows].each do |row_set|
55
+ row = row_set[:values].collect {|item| item[:value]}
56
+ puts row.join(COLUMN_SEPARATOR)
57
+ end
58
+ end
59
+
60
+ # Print a footer.
61
+ if result_set[:rows]
62
+ puts "Total number of rows found: %d" % result_set[:rows].size
63
+ end
64
+ end
65
+
66
+ if __FILE__ == $0
67
+ begin
68
+ get_all_bandwidth_groups()
69
+
70
+ # HTTP errors.
71
+ rescue AdsCommon::Errors::HttpError => e
72
+ puts "HTTP Error: %s" % e
73
+
74
+ # API errors.
75
+ rescue DfpApi::Errors::ApiException => e
76
+ puts "Message: %s" % e.message
77
+ puts 'Errors:'
78
+ e.errors.each_with_index do |error, index|
79
+ puts "\tError [%d]:" % (index + 1)
80
+ error.each do |field, value|
81
+ puts "\t\t%s: %s" % [field, value]
82
+ end
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,85 @@
1
+ #!/usr/bin/ruby
2
+ #
3
+ # Author:: api.dklimkin@gmail.com (Danial Klimkin)
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 gets all browser languages.
21
+ #
22
+ # Tags: PublisherQueryLanguageService.select
23
+
24
+ require 'rubygems'
25
+ require 'dfp_api'
26
+
27
+ API_VERSION = :v201108
28
+ # A string to separate columns in output. Use "," to get CSV.
29
+ COLUMN_SEPARATOR = "\t"
30
+
31
+ def get_all_browser_languages()
32
+ # Get DfpApi instance and load configuration from ~/dfp_api.yml.
33
+ dfp = DfpApi::Api.new
34
+
35
+ # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
36
+ # the configuration file or provide your own logger:
37
+ # dfp.logger = Logger.new('dfp_xml.log')
38
+
39
+ # Get the PublisherQueryLanguageService.
40
+ pql_service = dfp.service(:PublisherQueryLanguageService, API_VERSION)
41
+
42
+ # Create statement to select all browser languages.
43
+ statement = {:query => 'SELECT * FROM Browser_Language'}
44
+
45
+ # Get all browser languages.
46
+ result_set = pql_service.select(statement)
47
+
48
+ if result_set
49
+ # Print out columns header.
50
+ columns = result_set[:column_types].collect {|col| col[:label_name]}
51
+ puts columns.join(COLUMN_SEPARATOR)
52
+
53
+ # Print out every row.
54
+ result_set[:rows].each do |row_set|
55
+ row = row_set[:values].collect {|item| item[:value]}
56
+ puts row.join(COLUMN_SEPARATOR)
57
+ end
58
+ end
59
+
60
+ # Print a footer.
61
+ if result_set[:rows]
62
+ puts "Total number of rows found: %d" % result_set[:rows].size
63
+ end
64
+ end
65
+
66
+ if __FILE__ == $0
67
+ begin
68
+ get_all_browser_languages()
69
+
70
+ # HTTP errors.
71
+ rescue AdsCommon::Errors::HttpError => e
72
+ puts "HTTP Error: %s" % e
73
+
74
+ # API errors.
75
+ rescue DfpApi::Errors::ApiException => e
76
+ puts "Message: %s" % e.message
77
+ puts 'Errors:'
78
+ e.errors.each_with_index do |error, index|
79
+ puts "\tError [%d]:" % (index + 1)
80
+ error.each do |field, value|
81
+ puts "\t\t%s: %s" % [field, value]
82
+ end
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,85 @@
1
+ #!/usr/bin/ruby
2
+ #
3
+ # Author:: api.dklimkin@gmail.com (Danial Klimkin)
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 gets all browsers.
21
+ #
22
+ # Tags: PublisherQueryLanguageService.select
23
+
24
+ require 'rubygems'
25
+ require 'dfp_api'
26
+
27
+ API_VERSION = :v201108
28
+ # A string to separate columns in output. Use "," to get CSV.
29
+ COLUMN_SEPARATOR = "\t"
30
+
31
+ def get_all_browsers()
32
+ # Get DfpApi instance and load configuration from ~/dfp_api.yml.
33
+ dfp = DfpApi::Api.new
34
+
35
+ # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
36
+ # the configuration file or provide your own logger:
37
+ # dfp.logger = Logger.new('dfp_xml.log')
38
+
39
+ # Get the PublisherQueryLanguageService.
40
+ pql_service = dfp.service(:PublisherQueryLanguageService, API_VERSION)
41
+
42
+ # Create statement to select all browsers.
43
+ statement = {:query => 'SELECT * FROM Browser'}
44
+
45
+ # Get all browsers.
46
+ result_set = pql_service.select(statement)
47
+
48
+ if result_set
49
+ # Print out columns header.
50
+ columns = result_set[:column_types].collect {|col| col[:label_name]}
51
+ puts columns.join(COLUMN_SEPARATOR)
52
+
53
+ # Print out every row.
54
+ result_set[:rows].each do |row_set|
55
+ row = row_set[:values].collect {|item| item[:value]}
56
+ puts row.join(COLUMN_SEPARATOR)
57
+ end
58
+ end
59
+
60
+ # Print a footer.
61
+ if result_set[:rows]
62
+ puts "Total number of rows found: %d" % result_set[:rows].size
63
+ end
64
+ end
65
+
66
+ if __FILE__ == $0
67
+ begin
68
+ get_all_browsers()
69
+
70
+ # HTTP errors.
71
+ rescue AdsCommon::Errors::HttpError => e
72
+ puts "HTTP Error: %s" % e
73
+
74
+ # API errors.
75
+ rescue DfpApi::Errors::ApiException => e
76
+ puts "Message: %s" % e.message
77
+ puts 'Errors:'
78
+ e.errors.each_with_index do |error, index|
79
+ puts "\tError [%d]:" % (index + 1)
80
+ error.each do |field, value|
81
+ puts "\t\t%s: %s" % [field, value]
82
+ end
83
+ end
84
+ end
85
+ end
@@ -24,7 +24,7 @@
24
24
  require 'rubygems'
25
25
  require 'dfp_api'
26
26
 
27
- API_VERSION = :v201101
27
+ API_VERSION = :v201108
28
28
  # A string to separate columns in output. Use "," to get CSV.
29
29
  COLUMN_SEPARATOR = "\t"
30
30
 
@@ -24,7 +24,7 @@
24
24
  require 'rubygems'
25
25
  require 'dfp_api'
26
26
 
27
- API_VERSION = :v201101
27
+ API_VERSION = :v201108
28
28
  # A string to separate columns in output. Use "," to get CSV.
29
29
  COLUMN_SEPARATOR = "\t"
30
30
 
@@ -24,7 +24,7 @@
24
24
  require 'rubygems'
25
25
  require 'dfp_api'
26
26
 
27
- API_VERSION = :v201101
27
+ API_VERSION = :v201108
28
28
  # A string to separate columns in output. Use "," to get CSV.
29
29
  COLUMN_SEPARATOR = "\t"
30
30
 
@@ -0,0 +1,85 @@
1
+ #!/usr/bin/ruby
2
+ #
3
+ # Author:: api.dklimkin@gmail.com (Danial Klimkin)
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 gets all operating systems.
21
+ #
22
+ # Tags: PublisherQueryLanguageService.select
23
+
24
+ require 'rubygems'
25
+ require 'dfp_api'
26
+
27
+ API_VERSION = :v201108
28
+ # A string to separate columns in output. Use "," to get CSV.
29
+ COLUMN_SEPARATOR = "\t"
30
+
31
+ def get_all_operating_systems()
32
+ # Get DfpApi instance and load configuration from ~/dfp_api.yml.
33
+ dfp = DfpApi::Api.new
34
+
35
+ # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
36
+ # the configuration file or provide your own logger:
37
+ # dfp.logger = Logger.new('dfp_xml.log')
38
+
39
+ # Get the PublisherQueryLanguageService.
40
+ pql_service = dfp.service(:PublisherQueryLanguageService, API_VERSION)
41
+
42
+ # Create statement to select all operating systems.
43
+ statement = {:query => 'SELECT * FROM Operating_System'}
44
+
45
+ # Get all operating systems.
46
+ result_set = pql_service.select(statement)
47
+
48
+ if result_set
49
+ # Print out columns header.
50
+ columns = result_set[:column_types].collect {|col| col[:label_name]}
51
+ puts columns.join(COLUMN_SEPARATOR)
52
+
53
+ # Print out every row.
54
+ result_set[:rows].each do |row_set|
55
+ row = row_set[:values].collect {|item| item[:value]}
56
+ puts row.join(COLUMN_SEPARATOR)
57
+ end
58
+ end
59
+
60
+ # Print a footer.
61
+ if result_set[:rows]
62
+ puts "Total number of rows found: %d" % result_set[:rows].size
63
+ end
64
+ end
65
+
66
+ if __FILE__ == $0
67
+ begin
68
+ get_all_operating_systems()
69
+
70
+ # HTTP errors.
71
+ rescue AdsCommon::Errors::HttpError => e
72
+ puts "HTTP Error: %s" % e
73
+
74
+ # API errors.
75
+ rescue DfpApi::Errors::ApiException => e
76
+ puts "Message: %s" % e.message
77
+ puts 'Errors:'
78
+ e.errors.each_with_index do |error, index|
79
+ puts "\tError [%d]:" % (index + 1)
80
+ error.each do |field, value|
81
+ puts "\t\t%s: %s" % [field, value]
82
+ end
83
+ end
84
+ end
85
+ end