google-dfp-api 0.7.0 → 0.7.1

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 (245) hide show
  1. checksums.yaml +8 -8
  2. data/ChangeLog +4 -0
  3. data/README +2 -2
  4. data/examples/v201208/common/setup_oauth2.rb +89 -0
  5. data/examples/v201211/common/setup_oauth2.rb +89 -0
  6. data/examples/v201302/common/setup_oauth2.rb +89 -0
  7. data/examples/v201306/common/setup_oauth2.rb +89 -0
  8. data/examples/v201308/common/setup_oauth2.rb +89 -0
  9. data/examples/v201311/activity_group_service/create_activity_groups.rb +94 -0
  10. data/examples/v201311/activity_group_service/get_active_activity_groups.rb +100 -0
  11. data/examples/v201311/activity_group_service/get_all_activity_groups.rb +95 -0
  12. data/examples/v201311/activity_group_service/update_activity_groups.rb +87 -0
  13. data/examples/v201311/activity_service/create_activities.rb +91 -0
  14. data/examples/v201311/activity_service/get_active_activities.rb +103 -0
  15. data/examples/v201311/activity_service/get_all_activities.rb +96 -0
  16. data/examples/v201311/activity_service/update_activities.rb +85 -0
  17. data/examples/v201311/audience_segment_service/create_audience_segments.rb +118 -0
  18. data/examples/v201311/audience_segment_service/get_all_audience_segments.rb +94 -0
  19. data/examples/v201311/audience_segment_service/get_first_party_audience_segments.rb +99 -0
  20. data/examples/v201311/audience_segment_service/populate_first_party_audience_segments.rb +101 -0
  21. data/examples/v201311/audience_segment_service/update_audience_segments.rb +98 -0
  22. data/examples/v201311/common/error_handling.rb +76 -0
  23. data/examples/{v201208/common/oauth2_handling.rb → v201311/common/oauth2_jwt_handling.rb} +20 -41
  24. data/examples/v201311/common/setup_oauth2.rb +89 -0
  25. data/examples/v201311/company_service/create_companies.rb +81 -0
  26. data/examples/v201311/company_service/get_all_companies.rb +92 -0
  27. data/examples/v201311/company_service/get_companies_by_statement.rb +88 -0
  28. data/examples/v201311/company_service/get_company.rb +72 -0
  29. data/examples/v201311/company_service/update_companies.rb +102 -0
  30. data/examples/v201311/contact_service/create_contacts.rb +95 -0
  31. data/examples/v201311/contact_service/get_all_contacts.rb +92 -0
  32. data/examples/v201311/contact_service/get_uninvited_contacts.rb +102 -0
  33. data/examples/v201311/contact_service/update_contacts.rb +84 -0
  34. data/examples/v201311/content_service/get_all_content.rb +94 -0
  35. data/examples/v201311/content_service/get_content_by_category.rb +143 -0
  36. data/examples/v201311/creative_service/copy_image_creatives.rb +115 -0
  37. data/examples/v201311/creative_service/create_creative_from_template.rb +139 -0
  38. data/examples/v201311/creative_service/create_creatives.rb +112 -0
  39. data/examples/v201311/creative_service/create_custom_creative.rb +104 -0
  40. data/examples/v201311/creative_service/get_all_creatives.rb +93 -0
  41. data/examples/v201311/creative_service/get_creative.rb +72 -0
  42. data/examples/v201311/creative_service/get_creatives_by_statement.rb +87 -0
  43. data/examples/v201311/creative_service/update_creatives.rb +96 -0
  44. data/examples/v201311/creative_set_service/associate_creative_set_to_line_item.rb +77 -0
  45. data/examples/v201311/creative_set_service/create_creative_set.rb +83 -0
  46. data/examples/v201311/creative_set_service/get_all_creative_sets.rb +94 -0
  47. data/examples/v201311/creative_set_service/get_creative_sets_by_statement.rb +90 -0
  48. data/examples/v201311/creative_set_service/update_creative_sets.rb +85 -0
  49. data/examples/v201311/creative_template_service/get_all_creative_templates.rb +94 -0
  50. data/examples/v201311/creative_template_service/get_creative_template.rb +74 -0
  51. data/examples/v201311/creative_template_service/get_creative_templates_by_statement.rb +80 -0
  52. data/examples/v201311/creative_wrapper_service/create_creative_wrappers.rb +89 -0
  53. data/examples/v201311/creative_wrapper_service/deactivate_creative_wrapper.rb +102 -0
  54. data/examples/v201311/creative_wrapper_service/get_all_creative_wrappers.rb +94 -0
  55. data/examples/v201311/creative_wrapper_service/get_creative_wrappers_by_statement.rb +88 -0
  56. data/examples/v201311/creative_wrapper_service/update_creative_wrappers.rb +86 -0
  57. data/examples/v201311/custom_field_service/create_custom_field_options.rb +87 -0
  58. data/examples/v201311/custom_field_service/create_custom_fields.rb +86 -0
  59. data/examples/v201311/custom_field_service/deactivate_all_line_item_custom_fields.rb +112 -0
  60. data/examples/v201311/custom_field_service/get_all_custom_fields.rb +102 -0
  61. data/examples/v201311/custom_field_service/get_all_line_item_custom_fields.rb +86 -0
  62. data/examples/v201311/custom_field_service/set_line_item_custom_field_value.rb +135 -0
  63. data/examples/v201311/custom_field_service/update_custom_fields.rb +84 -0
  64. data/examples/v201311/custom_targeting_service/create_custom_targeting_keys_and_values.rb +140 -0
  65. data/examples/v201311/custom_targeting_service/delete_custom_targeting_keys.rb +121 -0
  66. data/examples/v201311/custom_targeting_service/delete_custom_targeting_values.rb +125 -0
  67. data/examples/v201311/custom_targeting_service/get_all_custom_targeting_keys_and_values.rb +148 -0
  68. data/examples/v201311/custom_targeting_service/get_custom_targeting_keys_by_statement.rb +92 -0
  69. data/examples/v201311/custom_targeting_service/get_custom_targeting_values_by_statement.rb +98 -0
  70. data/examples/v201311/custom_targeting_service/update_custom_targeting_keys.rb +94 -0
  71. data/examples/v201311/custom_targeting_service/update_custom_targeting_values.rb +106 -0
  72. data/examples/v201311/forecast_service/get_forecast.rb +108 -0
  73. data/examples/v201311/forecast_service/get_forecast_by_id.rb +81 -0
  74. data/examples/v201311/inventory_service/create_ad_units.rb +101 -0
  75. data/examples/v201311/inventory_service/create_mobile_ad_unit.rb +101 -0
  76. data/examples/v201311/inventory_service/create_video_ad_unit.rb +108 -0
  77. data/examples/v201311/inventory_service/deactivate_ad_units.rb +119 -0
  78. data/examples/v201311/inventory_service/get_ad_unit.rb +72 -0
  79. data/examples/v201311/inventory_service/get_ad_unit_sizes.rb +85 -0
  80. data/examples/v201311/inventory_service/get_ad_units_by_statement.rb +96 -0
  81. data/examples/v201311/inventory_service/get_all_ad_units.rb +93 -0
  82. data/examples/v201311/inventory_service/update_ad_units.rb +96 -0
  83. data/examples/v201311/label_service/create_labels.rb +83 -0
  84. data/examples/v201311/label_service/deactivate_labels.rb +118 -0
  85. data/examples/v201311/label_service/get_all_labels.rb +95 -0
  86. data/examples/v201311/label_service/get_label.rb +76 -0
  87. data/examples/v201311/label_service/get_labels_by_statement.rb +81 -0
  88. data/examples/v201311/label_service/update_labels.rb +102 -0
  89. data/examples/v201311/line_item_creative_association_service/create_licas.rb +94 -0
  90. data/examples/v201311/line_item_creative_association_service/deactivate_licas.rb +127 -0
  91. data/examples/v201311/line_item_creative_association_service/get_all_licas.rb +98 -0
  92. data/examples/v201311/line_item_creative_association_service/get_lica.rb +77 -0
  93. data/examples/v201311/line_item_creative_association_service/get_licas_by_statement.rb +91 -0
  94. data/examples/v201311/line_item_creative_association_service/update_licas.rb +91 -0
  95. data/examples/v201311/line_item_service/activate_line_items.rb +131 -0
  96. data/examples/v201311/line_item_service/create_line_items.rb +177 -0
  97. data/examples/v201311/line_item_service/create_mobile_line_item.rb +135 -0
  98. data/examples/v201311/line_item_service/create_video_line_item.rb +158 -0
  99. data/examples/v201311/line_item_service/get_all_line_items.rb +94 -0
  100. data/examples/v201311/line_item_service/get_line_item.rb +74 -0
  101. data/examples/v201311/line_item_service/get_line_items_by_statement.rb +93 -0
  102. data/examples/v201311/line_item_service/get_recently_updated_line_items.rb +98 -0
  103. data/examples/v201311/line_item_service/target_custom_criteria.rb +129 -0
  104. data/examples/v201311/line_item_service/update_line_items.rb +109 -0
  105. data/examples/v201311/network_service/get_all_networks.rb +74 -0
  106. data/examples/v201311/network_service/get_current_network.rb +66 -0
  107. data/examples/v201311/network_service/make_test_network.rb +79 -0
  108. data/examples/v201311/order_service/approve_orders.rb +122 -0
  109. data/examples/v201311/order_service/create_orders.rb +92 -0
  110. data/examples/v201311/order_service/get_all_orders.rb +93 -0
  111. data/examples/v201311/order_service/get_order.rb +74 -0
  112. data/examples/v201311/order_service/get_orders_by_statement.rb +90 -0
  113. data/examples/v201311/order_service/update_orders.rb +97 -0
  114. data/examples/v201311/placement_service/create_placements.rb +131 -0
  115. data/examples/v201311/placement_service/deactivate_placements.rb +118 -0
  116. data/examples/v201311/placement_service/get_all_placements.rb +93 -0
  117. data/examples/v201311/placement_service/get_placement.rb +74 -0
  118. data/examples/v201311/placement_service/get_placements_by_statement.rb +86 -0
  119. data/examples/v201311/placement_service/update_placements.rb +97 -0
  120. data/examples/v201311/publisher_query_language_service/fetch_match_tables.rb +113 -0
  121. data/examples/v201311/publisher_query_language_service/get_all_line_items.rb +100 -0
  122. data/examples/v201311/publisher_query_language_service/get_geo_targets.rb +102 -0
  123. data/examples/v201311/publisher_query_language_service/get_line_items_named_like.rb +100 -0
  124. data/examples/v201311/report_service/display_report.rb +81 -0
  125. data/examples/v201311/report_service/download_report.rb +81 -0
  126. data/examples/v201311/report_service/run_delivery_report.rb +103 -0
  127. data/examples/v201311/report_service/run_inventory_report.rb +112 -0
  128. data/examples/v201311/report_service/run_merged_delivery_report.rb +94 -0
  129. data/examples/v201311/report_service/run_reach_report.rb +87 -0
  130. data/examples/v201311/report_service/run_report_with_custom_fields.rb +135 -0
  131. data/examples/v201311/report_service/run_sales_report.rb +92 -0
  132. data/examples/v201311/suggested_ad_unit_service/approve_all_suggested_ad_units.rb +109 -0
  133. data/examples/v201311/suggested_ad_unit_service/get_all_suggested_ad_units.rb +96 -0
  134. data/examples/v201311/suggested_ad_unit_service/get_suggested_ad_unit.rb +75 -0
  135. data/examples/v201311/suggested_ad_unit_service/get_suggested_ad_units_by_statement.rb +92 -0
  136. data/examples/v201311/team_service/create_teams.rb +83 -0
  137. data/examples/v201311/team_service/get_all_teams.rb +92 -0
  138. data/examples/v201311/team_service/get_team.rb +74 -0
  139. data/examples/v201311/team_service/get_teams_by_statement.rb +78 -0
  140. data/examples/v201311/team_service/update_teams.rb +97 -0
  141. data/examples/v201311/user_service/create_users.rb +89 -0
  142. data/examples/v201311/user_service/deactivate_users.rb +97 -0
  143. data/examples/v201311/user_service/get_all_roles.rb +73 -0
  144. data/examples/{v201211/common/oauth2_handling.rb → v201311/user_service/get_all_users.rb} +9 -44
  145. data/examples/v201311/user_service/get_current_user.rb +66 -0
  146. data/examples/v201311/user_service/get_user.rb +73 -0
  147. data/examples/v201311/user_service/get_users_by_statement.rb +79 -0
  148. data/examples/v201311/user_service/update_users.rb +89 -0
  149. data/examples/v201311/user_team_association_service/create_user_team_associations.rb +86 -0
  150. data/examples/v201311/user_team_association_service/delete_user_team_associations.rb +111 -0
  151. data/examples/v201311/user_team_association_service/get_all_user_team_associations.rb +94 -0
  152. data/examples/v201311/user_team_association_service/get_user_team_association.rb +76 -0
  153. data/examples/v201311/user_team_association_service/get_user_team_associations_by_statement.rb +94 -0
  154. data/examples/v201311/user_team_association_service/update_user_team_associations.rb +102 -0
  155. data/lib/dfp_api/api_config.rb +49 -4
  156. data/lib/dfp_api/v201311/activity_group_service.rb +54 -0
  157. data/lib/dfp_api/v201311/activity_group_service_registry.rb +46 -0
  158. data/lib/dfp_api/v201311/activity_service.rb +54 -0
  159. data/lib/dfp_api/v201311/activity_service_registry.rb +46 -0
  160. data/lib/dfp_api/v201311/ad_rule_service.rb +58 -0
  161. data/lib/dfp_api/v201311/ad_rule_service_registry.rb +46 -0
  162. data/lib/dfp_api/v201311/audience_segment_service.rb +46 -0
  163. data/lib/dfp_api/v201311/audience_segment_service_registry.rb +46 -0
  164. data/lib/dfp_api/v201311/base_rate_service.rb +58 -0
  165. data/lib/dfp_api/v201311/base_rate_service_registry.rb +46 -0
  166. data/lib/dfp_api/v201311/company_service.rb +54 -0
  167. data/lib/dfp_api/v201311/company_service_registry.rb +46 -0
  168. data/lib/dfp_api/v201311/contact_service.rb +54 -0
  169. data/lib/dfp_api/v201311/contact_service_registry.rb +46 -0
  170. data/lib/dfp_api/v201311/content_bundle_service.rb +58 -0
  171. data/lib/dfp_api/v201311/content_bundle_service_registry.rb +46 -0
  172. data/lib/dfp_api/v201311/content_metadata_key_hierarchy_service.rb +34 -0
  173. data/lib/dfp_api/v201311/content_metadata_key_hierarchy_service_registry.rb +46 -0
  174. data/lib/dfp_api/v201311/content_service.rb +38 -0
  175. data/lib/dfp_api/v201311/content_service_registry.rb +46 -0
  176. data/lib/dfp_api/v201311/creative_service.rb +54 -0
  177. data/lib/dfp_api/v201311/creative_service_registry.rb +46 -0
  178. data/lib/dfp_api/v201311/creative_set_service.rb +46 -0
  179. data/lib/dfp_api/v201311/creative_set_service_registry.rb +46 -0
  180. data/lib/dfp_api/v201311/creative_template_service.rb +38 -0
  181. data/lib/dfp_api/v201311/creative_template_service_registry.rb +46 -0
  182. data/lib/dfp_api/v201311/creative_wrapper_service.rb +58 -0
  183. data/lib/dfp_api/v201311/creative_wrapper_service_registry.rb +46 -0
  184. data/lib/dfp_api/v201311/custom_field_service.rb +78 -0
  185. data/lib/dfp_api/v201311/custom_field_service_registry.rb +46 -0
  186. data/lib/dfp_api/v201311/custom_targeting_service.rb +62 -0
  187. data/lib/dfp_api/v201311/custom_targeting_service_registry.rb +46 -0
  188. data/lib/dfp_api/v201311/exchange_rate_service.rb +50 -0
  189. data/lib/dfp_api/v201311/exchange_rate_service_registry.rb +46 -0
  190. data/lib/dfp_api/v201311/forecast_service.rb +38 -0
  191. data/lib/dfp_api/v201311/forecast_service_registry.rb +46 -0
  192. data/lib/dfp_api/v201311/inventory_service.rb +62 -0
  193. data/lib/dfp_api/v201311/inventory_service_registry.rb +46 -0
  194. data/lib/dfp_api/v201311/label_service.rb +58 -0
  195. data/lib/dfp_api/v201311/label_service_registry.rb +46 -0
  196. data/lib/dfp_api/v201311/line_item_creative_association_service.rb +62 -0
  197. data/lib/dfp_api/v201311/line_item_creative_association_service_registry.rb +46 -0
  198. data/lib/dfp_api/v201311/line_item_service.rb +58 -0
  199. data/lib/dfp_api/v201311/line_item_service_registry.rb +46 -0
  200. data/lib/dfp_api/v201311/line_item_template_service.rb +34 -0
  201. data/lib/dfp_api/v201311/line_item_template_service_registry.rb +46 -0
  202. data/lib/dfp_api/v201311/network_service.rb +46 -0
  203. data/lib/dfp_api/v201311/network_service_registry.rb +46 -0
  204. data/lib/dfp_api/v201311/order_service.rb +58 -0
  205. data/lib/dfp_api/v201311/order_service_registry.rb +46 -0
  206. data/lib/dfp_api/v201311/placement_service.rb +58 -0
  207. data/lib/dfp_api/v201311/placement_service_registry.rb +46 -0
  208. data/lib/dfp_api/v201311/product_service.rb +50 -0
  209. data/lib/dfp_api/v201311/product_service_registry.rb +46 -0
  210. data/lib/dfp_api/v201311/product_template_service.rb +58 -0
  211. data/lib/dfp_api/v201311/product_template_service_registry.rb +46 -0
  212. data/lib/dfp_api/v201311/proposal_line_item_service.rb +58 -0
  213. data/lib/dfp_api/v201311/proposal_line_item_service_registry.rb +46 -0
  214. data/lib/dfp_api/v201311/proposal_service.rb +58 -0
  215. data/lib/dfp_api/v201311/proposal_service_registry.rb +46 -0
  216. data/lib/dfp_api/v201311/publisher_query_language_service.rb +34 -0
  217. data/lib/dfp_api/v201311/publisher_query_language_service_registry.rb +46 -0
  218. data/lib/dfp_api/v201311/rate_card_customization_service.rb +58 -0
  219. data/lib/dfp_api/v201311/rate_card_customization_service_registry.rb +46 -0
  220. data/lib/dfp_api/v201311/rate_card_service.rb +58 -0
  221. data/lib/dfp_api/v201311/rate_card_service_registry.rb +46 -0
  222. data/lib/dfp_api/v201311/reconciliation_order_report_service.rb +42 -0
  223. data/lib/dfp_api/v201311/reconciliation_order_report_service_registry.rb +46 -0
  224. data/lib/dfp_api/v201311/reconciliation_report_row_service.rb +38 -0
  225. data/lib/dfp_api/v201311/reconciliation_report_row_service_registry.rb +46 -0
  226. data/lib/dfp_api/v201311/reconciliation_report_service.rb +46 -0
  227. data/lib/dfp_api/v201311/reconciliation_report_service_registry.rb +46 -0
  228. data/lib/dfp_api/v201311/report_service.rb +46 -0
  229. data/lib/dfp_api/v201311/report_service_registry.rb +46 -0
  230. data/lib/dfp_api/v201311/suggested_ad_unit_service.rb +42 -0
  231. data/lib/dfp_api/v201311/suggested_ad_unit_service_registry.rb +46 -0
  232. data/lib/dfp_api/v201311/team_service.rb +54 -0
  233. data/lib/dfp_api/v201311/team_service_registry.rb +46 -0
  234. data/lib/dfp_api/v201311/user_service.rb +66 -0
  235. data/lib/dfp_api/v201311/user_service_registry.rb +46 -0
  236. data/lib/dfp_api/v201311/user_team_association_service.rb +58 -0
  237. data/lib/dfp_api/v201311/user_team_association_service_registry.rb +46 -0
  238. data/lib/dfp_api/v201311/workflow_request_service.rb +38 -0
  239. data/lib/dfp_api/v201311/workflow_request_service_registry.rb +46 -0
  240. data/lib/dfp_api/version.rb +1 -1
  241. data/test/bugs/test_issue_00000016.rb +3 -3
  242. metadata +241 -10
  243. data/examples/v201302/common/oauth2_handling.rb +0 -128
  244. data/examples/v201306/common/oauth2_handling.rb +0 -128
  245. data/examples/v201308/common/oauth2_handling.rb +0 -128
@@ -0,0 +1,74 @@
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 a creative template by its ID. To determine which creative
22
+ # templates exist, run get_all_creative_templates.rb.
23
+ #
24
+ # Tags: CreativeTemplateService.getCreativeTemplate
25
+
26
+ require 'dfp_api'
27
+
28
+ API_VERSION = :v201311
29
+
30
+ def get_creative_template()
31
+ # Get DfpApi instance and load configuration from ~/dfp_api.yml.
32
+ dfp = DfpApi::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
+ # dfp.logger = Logger.new('dfp_xml.log')
37
+
38
+ # Get the CreativeTemplateService.
39
+ creative_template_service = dfp.service(:CreativeTemplateService, API_VERSION)
40
+
41
+ # Set the ID of the creative_template to get.
42
+ creative_template_id = 'INSERT_CREATIVE_ID_HERE'.to_i
43
+
44
+ # Get the creative_template.
45
+ creative_template =
46
+ creative_template_service.get_creative_template(creative_template_id)
47
+
48
+ if creative_template
49
+ puts "Creative template with ID: %d, name: '%s' and type: '%s' was found." %
50
+ [creative_template[:id], creative_template[:name],
51
+ creative_template[:type]]
52
+ end
53
+ end
54
+
55
+ if __FILE__ == $0
56
+ begin
57
+ get_creative_template()
58
+
59
+ # HTTP errors.
60
+ rescue AdsCommon::Errors::HttpError => e
61
+ puts "HTTP Error: %s" % e
62
+
63
+ # API errors.
64
+ rescue DfpApi::Errors::ApiException => e
65
+ puts "Message: %s" % e.message
66
+ puts 'Errors:'
67
+ e.errors.each_with_index do |error, index|
68
+ puts "\tError [%d]:" % (index + 1)
69
+ error.each do |field, value|
70
+ puts "\t\t%s: %s" % [field, value]
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,80 @@
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 up to 500 system defined creative templates.
22
+ #
23
+ # Tags: CreativeTemplateService.getCreativeTemplatesByStatement
24
+
25
+ require 'dfp_api'
26
+
27
+ API_VERSION = :v201311
28
+
29
+ def get_creative_templates_by_statement()
30
+ # Get DfpApi instance and load configuration from ~/dfp_api.yml.
31
+ dfp = DfpApi::Api.new
32
+
33
+ # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
34
+ # the configuration file or provide your own logger:
35
+ # dfp.logger = Logger.new('dfp_xml.log')
36
+
37
+ # Get the CreativeTemplateService.
38
+ creative_template_service = dfp.service(:CreativeTemplateService, API_VERSION)
39
+
40
+ # Create a statement to only select image creative_templates.
41
+ statement = {:query => 'LIMIT 500'}
42
+
43
+ # Get creative templates by statement.
44
+ page =
45
+ creative_template_service.get_creative_templates_by_statement(statement)
46
+
47
+ if page[:results]
48
+ # Print details about each creative template in results.
49
+ page[:results].each_with_index do |template, index|
50
+ puts "%d) Creative template ID: %d, name: %s, type: %s" %
51
+ [index, template[:id], template[:name], template[:type]]
52
+ end
53
+ end
54
+
55
+ # Print a footer.
56
+ if page.include?(:total_result_set_size)
57
+ puts "Total number of creative templates: %d" % page[:total_result_set_size]
58
+ end
59
+ end
60
+
61
+ if __FILE__ == $0
62
+ begin
63
+ get_creative_templates_by_statement()
64
+
65
+ # HTTP errors.
66
+ rescue AdsCommon::Errors::HttpError => e
67
+ puts "HTTP Error: %s" % e
68
+
69
+ # API errors.
70
+ rescue DfpApi::Errors::ApiException => e
71
+ puts "Message: %s" % e.message
72
+ puts 'Errors:'
73
+ e.errors.each_with_index do |error, index|
74
+ puts "\tError [%d]:" % (index + 1)
75
+ error.each do |field, value|
76
+ puts "\t\t%s: %s" % [field, value]
77
+ end
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,89 @@
1
+ #!/usr/bin/env ruby
2
+ # Encoding: utf-8
3
+ #
4
+ # Author:: api.dklimkin@gmail.com (Danial Klimkin)
5
+ #
6
+ # Copyright:: Copyright 2012, 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 code example creates a new creative wrapper.
22
+ #
23
+ # Creative wrappers must be associated with a LabelType.CREATIVE_WRAPPER label
24
+ # and applied to ad units by AdUnit.appliedLabels. To determine which creative
25
+ # wrappers exist, run get_all_creative_wrappers.rb.
26
+ #
27
+ # Tags: CreativeWrapperService.createCreativeWrappers
28
+
29
+ require 'dfp_api'
30
+
31
+ API_VERSION = :v201311
32
+
33
+ def create_creative_wrappers()
34
+ # Get DfpApi instance and load configuration from ~/dfp_api.yml.
35
+ dfp = DfpApi::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
+ # dfp.logger = Logger.new('dfp_xml.log')
40
+
41
+ # Get the CreativeWrapperService.
42
+ creative_wrapper_service = dfp.service(:CreativeWrapperService, API_VERSION)
43
+
44
+ # Set the creative wrapper label ID.
45
+ label_id = 'INSERT_CREATIVE_WRAPPER_LABEL_ID_HERE'.to_i
46
+
47
+ # Create creative wrapper objects.
48
+ creative_wrapper = {
49
+ # A label can only be associated with one creative wrapper.
50
+ :label_id => label_id,
51
+ :ordering => 'INNER',
52
+ :header => {:html_snippet => '<b>My creative wrapper header</b>'},
53
+ :footer => {:html_snippet => '<b>My creative wrapper footer</b>'}
54
+ }
55
+
56
+ # Create the creative wrapper on the server.
57
+ return_creative_wrappers =
58
+ creative_wrapper_service.create_creative_wrappers([creative_wrapper])
59
+
60
+ if return_creative_wrappers
61
+ return_creative_wrappers.each do |creative_wrapper|
62
+ puts "Creative wrapper with ID: %d applying to label: %d was created." %
63
+ [creative_wrapper[:id], creative_wrapper[:label_id]]
64
+ end
65
+ else
66
+ raise 'No creative wrappers were created.'
67
+ end
68
+ end
69
+
70
+ if __FILE__ == $0
71
+ begin
72
+ create_creative_wrappers()
73
+
74
+ # HTTP errors.
75
+ rescue AdsCommon::Errors::HttpError => e
76
+ puts "HTTP Error: %s" % e
77
+
78
+ # API errors.
79
+ rescue DfpApi::Errors::ApiException => e
80
+ puts "Message: %s" % e.message
81
+ puts 'Errors:'
82
+ e.errors.each_with_index do |error, index|
83
+ puts "\tError [%d]:" % (index + 1)
84
+ error.each do |field, value|
85
+ puts "\t\t%s: %s" % [field, value]
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,102 @@
1
+ #!/usr/bin/env ruby
2
+ # Encoding: utf-8
3
+ #
4
+ # Author:: api.dklimkin@gmail.com (Danial Klimkin)
5
+ #
6
+ # Copyright:: Copyright 2012, 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 deactivates a creative wrapper belonging to a label.
22
+ #
23
+ # Tags: CreativeWrapperService.getCreativeWrappersByStatement
24
+ # Tags: CreativeWrapperService.performCreativeWrapperAction
25
+
26
+ require 'dfp_api'
27
+
28
+ API_VERSION = :v201311
29
+
30
+ def deactivate_creative_wrappers()
31
+ # Get DfpApi instance and load configuration from ~/dfp_api.yml.
32
+ dfp = DfpApi::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
+ # dfp.logger = Logger.new('dfp_xml.log')
37
+
38
+ # Get the CreativeWrapperService.
39
+ creative_wrapper_service = dfp.service(:CreativeWrapperService, API_VERSION)
40
+
41
+ # Set the ID of the label for the creative wrapper to deactivate.
42
+ label_id = 'INSERT_CREATIVE_WRAPPER_LABEL_ID_HERE'.to_i
43
+
44
+ # Create statement to select creative wrappers by label id and status.
45
+ statement = {
46
+ :query => 'WHERE labelId = :label_id AND status = :status',
47
+ :values => [
48
+ {
49
+ :key => 'label_id',
50
+ :value => {:value => label_id, :xsi_type => 'NumberValue'}
51
+ },
52
+ {
53
+ :key => 'status',
54
+ :value => {:value => 'ACTIVE', :xsi_type => 'TextValue'}
55
+ }
56
+ ]
57
+ }
58
+
59
+ # Get creative wrappers by statement.
60
+ page = creative_wrapper_service.get_creative_wrappers_by_statement(statement)
61
+
62
+ if page[:results]
63
+ page[:results].each do |creative_wrapper|
64
+ puts 'Creative wrapper ID: %d, label: %d will be deactivated.' %
65
+ [creative_wrapper[:id], creative_wrapper[:label_id]]
66
+ end
67
+
68
+ # Perform action.
69
+ result = creative_wrapper_service.perform_creative_wrapper_action(
70
+ {:xsi_type => 'DeactivateCreativeWrappers'}, statement)
71
+
72
+ # Display results.
73
+ if result and result[:num_changes] > 0
74
+ puts 'Number of creative wrappers deactivated: %d' % result[:num_changes]
75
+ else
76
+ puts 'No creative wrappers were deactivated.'
77
+ end
78
+ else
79
+ puts 'No creative wrapper found to deactivate.'
80
+ end
81
+ end
82
+
83
+ if __FILE__ == $0
84
+ begin
85
+ deactivate_creative_wrappers()
86
+
87
+ # HTTP errors.
88
+ rescue AdsCommon::Errors::HttpError => e
89
+ puts "HTTP Error: %s" % e
90
+
91
+ # API errors.
92
+ rescue DfpApi::Errors::ApiException => e
93
+ puts "Message: %s" % e.message
94
+ puts 'Errors:'
95
+ e.errors.each_with_index do |error, index|
96
+ puts "\tError [%d]:" % (index + 1)
97
+ error.each do |field, value|
98
+ puts "\t\t%s: %s" % [field, value]
99
+ end
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,94 @@
1
+ #!/usr/bin/env ruby
2
+ # Encoding: utf-8
3
+ #
4
+ # Author:: api.dklimkin@gmail.com (Danial Klimkin)
5
+ #
6
+ # Copyright:: Copyright 2012, 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 creative wrappers for an account. To create creative
22
+ # wrappers, run create_creative_wrappers.rb.
23
+ #
24
+ # Tags: CreativeWrapperService.getCreativeWrappersByStatement
25
+
26
+ require 'dfp_api'
27
+
28
+ API_VERSION = :v201311
29
+ PAGE_SIZE = 500
30
+
31
+ def get_all_creative_wrappers()
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 CreativeWrapperService.
40
+ creative_wrapper_service = dfp.service(:CreativeWrapperService, API_VERSION)
41
+
42
+ # Define initial values.
43
+ offset = 0
44
+ page = {}
45
+
46
+ begin
47
+ # Create statement for one page with current offset.
48
+ statement = {:query => "LIMIT %d OFFSET %d" % [PAGE_SIZE, offset]}
49
+
50
+ # Get creative wrappers by statement.
51
+ page =
52
+ creative_wrapper_service.get_creative_wrappers_by_statement(statement)
53
+
54
+ if page[:results]
55
+ # Increase query offset by page size.
56
+ offset += PAGE_SIZE
57
+
58
+ # Get the start index for printout.
59
+ start_index = page[:start_index]
60
+
61
+ # Print details about each creative wrapper in results page.
62
+ page[:results].each_with_index do |creative_wrapper, index|
63
+ puts "%d) Creative wrapper ID: %d, label ID: %d" % [index + start_index,
64
+ creative_wrapper[:id], creative_wrapper[:label_id]]
65
+ end
66
+ end
67
+ end while offset < page[:total_result_set_size]
68
+
69
+ # Print a footer
70
+ if page.include?(:total_result_set_size)
71
+ puts "Total number of creative wrappers: %d" % page[:total_result_set_size]
72
+ end
73
+ end
74
+
75
+ if __FILE__ == $0
76
+ begin
77
+ get_all_creative_wrappers()
78
+
79
+ # HTTP errors.
80
+ rescue AdsCommon::Errors::HttpError => e
81
+ puts "HTTP Error: %s" % e
82
+
83
+ # API errors.
84
+ rescue DfpApi::Errors::ApiException => e
85
+ puts "Message: %s" % e.message
86
+ puts 'Errors:'
87
+ e.errors.each_with_index do |error, index|
88
+ puts "\tError [%d]:" % (index + 1)
89
+ error.each do |field, value|
90
+ puts "\t\t%s: %s" % [field, value]
91
+ end
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,88 @@
1
+ #!/usr/bin/env ruby
2
+ # Encoding: utf-8
3
+ #
4
+ # Author:: api.dklimkin@gmail.com (Danial Klimkin)
5
+ #
6
+ # Copyright:: Copyright 2012, 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 code example gets all active creative wrappers. To create creative
22
+ # wrappers, run create_creative_wrappers.rb.
23
+ #
24
+ # Tags: CreativeWrapperService.getCreativeWrappersByStatement
25
+
26
+ require 'dfp_api'
27
+
28
+ API_VERSION = :v201311
29
+
30
+ def get_creative_wrappers_by_statement()
31
+ # Get DfpApi instance and load configuration from ~/dfp_api.yml.
32
+ dfp = DfpApi::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
+ # dfp.logger = Logger.new('dfp_xml.log')
37
+
38
+ # Get the CreativeWrapperService.
39
+ creative_wrapper_service = dfp.service(:CreativeWrapperService, API_VERSION)
40
+
41
+ # Create filter text to select active creative wrappers.
42
+ statement = {
43
+ :query => 'WHERE status = :status',
44
+ :values => [
45
+ {
46
+ :key => 'status',
47
+ :value => {:value => 'ACTIVE', :xsi_type => 'TextValue'}
48
+ }
49
+ ]
50
+ }
51
+
52
+ # Get creative wrappers by statement.
53
+ page = creative_wrapper_service.get_creative_wrappers_by_statement(statement)
54
+
55
+ if page and page[:results]
56
+ page[:results].each_with_index do |creative_wrapper, index|
57
+ puts "%d) Creative wrapper ID: %d, label ID: %d, status: '%s'." %
58
+ [index, creative_wrapper[:id], creative_wrapper[:label_id],
59
+ creative_wrapper[:status]]
60
+ end
61
+ end
62
+
63
+ # Print a footer.
64
+ if page.include?(:total_result_set_size)
65
+ puts "Number of results found: %d" % page[:total_result_set_size]
66
+ end
67
+ end
68
+
69
+ if __FILE__ == $0
70
+ begin
71
+ get_creative_wrappers_by_statement()
72
+
73
+ # HTTP errors.
74
+ rescue AdsCommon::Errors::HttpError => e
75
+ puts "HTTP Error: %s" % e
76
+
77
+ # API errors.
78
+ rescue DfpApi::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