google-dfp-api 0.9.4 → 0.9.5

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 (247) hide show
  1. data/ChangeLog +4 -0
  2. data/README.md +1 -3
  3. data/dfp_api.yml +1 -9
  4. data/examples/v201408/report_service/run_sales_report.rb +3 -3
  5. data/examples/v201411/report_service/run_sales_report.rb +3 -3
  6. data/examples/v201502/report_service/run_sales_report.rb +3 -3
  7. data/examples/{v201405 → v201505}/activity_group_service/create_activity_groups.rb +1 -1
  8. data/examples/{v201405 → v201505}/activity_group_service/get_active_activity_groups.rb +18 -27
  9. data/examples/{v201405 → v201505}/activity_group_service/get_all_activity_groups.rb +13 -23
  10. data/examples/{v201405 → v201505}/activity_group_service/update_activity_groups.rb +11 -9
  11. data/examples/{v201405 → v201505}/activity_service/create_activities.rb +1 -1
  12. data/examples/{v201405 → v201505}/activity_service/get_active_activities.rb +15 -27
  13. data/examples/{v201405 → v201505}/activity_service/get_all_activities.rb +10 -21
  14. data/examples/{v201405 → v201505}/activity_service/update_activities.rb +9 -7
  15. data/examples/{v201405 → v201505}/audience_segment_service/create_audience_segments.rb +1 -1
  16. data/examples/{v201405 → v201505}/audience_segment_service/get_all_audience_segments.rb +10 -19
  17. data/examples/{v201405 → v201505}/audience_segment_service/get_first_party_audience_segments.rb +14 -21
  18. data/examples/{v201405 → v201505}/audience_segment_service/populate_first_party_audience_segments.rb +16 -14
  19. data/examples/{v201405 → v201505}/audience_segment_service/update_audience_segments.rb +12 -11
  20. data/examples/{v201405 → v201505}/common/error_handling.rb +1 -1
  21. data/examples/{v201405 → v201505}/common/oauth2_jwt_handling.rb +9 -17
  22. data/examples/{v201405 → v201505}/common/setup_oauth2.rb +1 -1
  23. data/examples/{v201405 → v201505}/company_service/create_companies.rb +1 -1
  24. data/examples/{v201405 → v201505}/company_service/get_all_companies.rb +10 -18
  25. data/examples/{v201405 → v201505}/company_service/get_companies_by_statement.rb +21 -16
  26. data/examples/{v201405 → v201505}/company_service/update_companies.rb +13 -10
  27. data/examples/{v201405 → v201505}/contact_service/create_contacts.rb +1 -1
  28. data/examples/{v201405 → v201505}/contact_service/get_all_contacts.rb +11 -19
  29. data/examples/{v201405 → v201505}/contact_service/get_uninvited_contacts.rb +18 -22
  30. data/examples/{v201405 → v201505}/contact_service/update_contacts.rb +9 -7
  31. data/examples/{v201405 → v201505}/content_metadata_key_hierarchy_service/create_content_metadata_key_hierarchies.rb +1 -1
  32. data/examples/{v201405 → v201505}/content_metadata_key_hierarchy_service/delete_content_metadata_key_hierarchies.rb +11 -8
  33. data/examples/{v201405 → v201505}/content_metadata_key_hierarchy_service/get_all_content_metadata_key_hierarchies.rb +8 -18
  34. data/examples/{v201405 → v201505}/content_metadata_key_hierarchy_service/update_content_metadata_key_hierarchies.rb +9 -7
  35. data/examples/{v201405 → v201505}/content_service/get_all_content.rb +9 -18
  36. data/examples/{v201405 → v201505}/content_service/get_content_by_category.rb +18 -28
  37. data/examples/{v201405 → v201505}/creative_service/copy_image_creatives.rb +7 -7
  38. data/examples/{v201405 → v201505}/creative_service/create_creative_from_template.rb +1 -1
  39. data/examples/{v201405 → v201505}/creative_service/create_creatives.rb +1 -1
  40. data/examples/{v201405 → v201505}/creative_service/create_custom_creative.rb +1 -1
  41. data/examples/{v201405 → v201505}/creative_service/get_all_creatives.rb +8 -17
  42. data/examples/{v201405 → v201505}/creative_service/get_creatives_by_statement.rb +18 -13
  43. data/examples/{v201405 → v201505}/creative_service/update_creatives.rb +16 -11
  44. data/examples/{v201405 → v201505}/creative_set_service/associate_creative_set_to_line_item.rb +1 -1
  45. data/examples/{v201405 → v201505}/creative_set_service/create_creative_set.rb +1 -1
  46. data/examples/{v201405 → v201505}/creative_set_service/get_all_creative_sets.rb +9 -17
  47. data/examples/{v201405 → v201505}/creative_set_service/get_creative_sets_by_statement.rb +20 -14
  48. data/examples/{v201405 → v201505}/creative_set_service/update_creative_sets.rb +10 -7
  49. data/examples/{v201405 → v201505}/creative_template_service/get_all_creative_templates.rb +9 -17
  50. data/examples/{v201405/creative_template_service/get_creative_templates_by_statement.rb → v201505/creative_template_service/get_system_defined_creative_templates.rb} +24 -13
  51. data/examples/{v201405 → v201505}/creative_wrapper_service/create_creative_wrappers.rb +1 -1
  52. data/examples/{v201405 → v201505}/creative_wrapper_service/deactivate_creative_wrapper.rb +9 -7
  53. data/examples/{v201405 → v201505}/creative_wrapper_service/get_all_creative_wrappers.rb +10 -18
  54. data/examples/{v201405 → v201505}/creative_wrapper_service/get_creative_wrappers_by_statement.rb +17 -12
  55. data/examples/{v201405 → v201505}/creative_wrapper_service/update_creative_wrappers.rb +10 -7
  56. data/examples/{v201405 → v201505}/custom_field_service/create_custom_field_options.rb +1 -1
  57. data/examples/{v201405 → v201505}/custom_field_service/create_custom_fields.rb +1 -1
  58. data/examples/{v201405 → v201505}/custom_field_service/deactivate_all_line_item_custom_fields.rb +13 -23
  59. data/examples/{v201405 → v201505}/custom_field_service/get_all_custom_fields.rb +11 -19
  60. data/examples/{v201405 → v201505}/custom_field_service/get_all_line_item_custom_fields.rb +19 -14
  61. data/examples/{v201405 → v201505}/custom_field_service/set_line_item_custom_field_value.rb +24 -19
  62. data/examples/{v201405 → v201505}/custom_field_service/update_custom_fields.rb +10 -7
  63. data/examples/{v201405 → v201505}/custom_targeting_service/create_custom_targeting_keys_and_values.rb +1 -1
  64. data/examples/{v201405 → v201505}/custom_targeting_service/delete_custom_targeting_keys.rb +16 -20
  65. data/examples/{v201405 → v201505}/custom_targeting_service/delete_custom_targeting_values.rb +23 -21
  66. data/examples/{v201405 → v201505}/custom_targeting_service/get_all_custom_targeting_keys_and_values.rb +15 -36
  67. data/examples/{v201405 → v201505}/custom_targeting_service/get_custom_targeting_keys_by_statement.rb +20 -16
  68. data/examples/{v201405 → v201505}/custom_targeting_service/get_custom_targeting_values_by_statement.rb +19 -15
  69. data/examples/{v201405 → v201505}/custom_targeting_service/update_custom_targeting_keys.rb +4 -3
  70. data/examples/{v201405 → v201505}/custom_targeting_service/update_custom_targeting_values.rb +34 -30
  71. data/examples/{v201405/forecast_service/get_forecast.rb → v201505/forecast_service/get_availability_forecast.rb} +38 -16
  72. data/examples/{v201405/forecast_service/get_forecast_by_id.rb → v201505/forecast_service/get_availability_forecast_for_line_item.rb} +18 -11
  73. data/examples/v201505/forecast_service/get_delivery_forecast_for_line_items.rb +81 -0
  74. data/examples/{v201405 → v201505}/inventory_service/create_ad_units.rb +1 -1
  75. data/examples/{v201405 → v201505}/inventory_service/create_mobile_ad_unit.rb +1 -1
  76. data/examples/{v201405 → v201505}/inventory_service/create_video_ad_unit.rb +1 -1
  77. data/examples/{v201405 → v201505}/inventory_service/deactivate_ad_units.rb +19 -23
  78. data/examples/{v201405 → v201505}/inventory_service/get_ad_unit_sizes.rb +7 -14
  79. data/examples/{v201405 → v201505}/inventory_service/get_ad_units_by_statement.rb +18 -13
  80. data/examples/{v201405 → v201505}/inventory_service/get_all_ad_units.rb +8 -17
  81. data/examples/{v201405 → v201505}/inventory_service/update_ad_units.rb +23 -11
  82. data/examples/{v201405 → v201505}/label_service/create_labels.rb +1 -1
  83. data/examples/{v201405 → v201505}/label_service/deactivate_labels.rb +15 -22
  84. data/examples/{v201405 → v201505}/label_service/get_all_labels.rb +9 -18
  85. data/examples/{v201405 → v201505}/label_service/get_labels_by_statement.rb +16 -11
  86. data/examples/{v201405 → v201505}/label_service/update_labels.rb +24 -26
  87. data/examples/{v201405 → v201505}/line_item_creative_association_service/create_licas.rb +1 -1
  88. data/examples/{v201405 → v201505}/line_item_creative_association_service/deactivate_licas.rb +15 -24
  89. data/examples/{v201405 → v201505}/line_item_creative_association_service/get_all_licas.rb +8 -17
  90. data/examples/{v201405 → v201505}/line_item_creative_association_service/get_licas_by_statement.rb +10 -8
  91. data/examples/{v201405 → v201505}/line_item_creative_association_service/update_licas.rb +16 -7
  92. data/examples/{v201405 → v201505}/line_item_service/activate_line_items.rb +13 -21
  93. data/examples/{v201405 → v201505}/line_item_service/create_line_items.rb +11 -4
  94. data/examples/{v201405 → v201505}/line_item_service/create_video_line_item.rb +13 -3
  95. data/examples/{v201405 → v201505}/line_item_service/get_all_line_items.rb +9 -17
  96. data/examples/{v201405 → v201505}/line_item_service/get_line_items_by_statement.rb +19 -17
  97. data/examples/{v201405 → v201505}/line_item_service/get_recently_updated_line_items.rb +19 -13
  98. data/examples/{v201405 → v201505}/line_item_service/target_custom_criteria.rb +9 -7
  99. data/examples/{v201405 → v201505}/line_item_service/update_line_items.rb +9 -9
  100. data/examples/{v201405 → v201505}/network_service/get_all_networks.rb +1 -1
  101. data/examples/{v201405 → v201505}/network_service/get_current_network.rb +1 -1
  102. data/examples/{v201405 → v201505}/network_service/make_test_network.rb +1 -1
  103. data/examples/{v201405 → v201505}/order_service/approve_orders.rb +16 -24
  104. data/examples/{v201405 → v201505}/order_service/create_orders.rb +1 -1
  105. data/examples/{v201405 → v201505}/order_service/get_all_orders.rb +8 -17
  106. data/examples/{v201405 → v201505}/order_service/get_orders_by_statement.rb +18 -14
  107. data/examples/{v201405 → v201505}/order_service/update_orders.rb +15 -7
  108. data/examples/{v201405 → v201505}/placement_service/create_placements.rb +4 -2
  109. data/examples/{v201405 → v201505}/placement_service/deactivate_placements.rb +14 -22
  110. data/examples/{v201405 → v201505}/placement_service/get_all_placements.rb +9 -17
  111. data/examples/{v201405 → v201505}/placement_service/get_placements_by_statement.rb +18 -13
  112. data/examples/{v201405 → v201505}/placement_service/update_placements.rb +16 -6
  113. data/examples/{v201405 → v201505}/publisher_query_language_service/fetch_match_tables.rb +8 -11
  114. data/examples/{v201405 → v201505}/publisher_query_language_service/get_all_line_items.rb +8 -9
  115. data/examples/{v201405 → v201505}/publisher_query_language_service/get_geo_targets.rb +10 -10
  116. data/examples/{v201405 → v201505}/publisher_query_language_service/get_line_items_named_like.rb +10 -10
  117. data/examples/{v201405 → v201505}/report_service/display_report.rb +1 -1
  118. data/examples/{v201405 → v201505}/report_service/download_report.rb +1 -1
  119. data/examples/{v201405 → v201505}/report_service/run_delivery_report.rb +6 -5
  120. data/examples/{v201405 → v201505}/report_service/run_inventory_report.rb +6 -5
  121. data/examples/{v201405 → v201505}/report_service/run_reach_report.rb +6 -5
  122. data/examples/{v201405/report_service/run_merged_delivery_report.rb → v201505/report_service/run_report_with_custom_fields.rb} +17 -18
  123. data/examples/{v201405 → v201505}/report_service/run_sales_report.rb +6 -5
  124. data/examples/{v201405 → v201505}/suggested_ad_unit_service/approve_all_suggested_ad_units.rb +25 -21
  125. data/examples/{v201405 → v201505}/suggested_ad_unit_service/get_all_suggested_ad_units.rb +9 -18
  126. data/examples/{v201405 → v201505}/suggested_ad_unit_service/get_suggested_ad_units_by_statement.rb +24 -21
  127. data/examples/{v201405 → v201505}/team_service/create_teams.rb +1 -1
  128. data/examples/{v201405 → v201505}/team_service/get_all_teams.rb +8 -17
  129. data/examples/{v201405 → v201505}/team_service/get_teams_by_statement.rb +15 -11
  130. data/examples/{v201405 → v201505}/team_service/update_teams.rb +4 -3
  131. data/examples/{v201405 → v201505}/user_service/create_users.rb +1 -1
  132. data/examples/{v201405 → v201505}/user_service/deactivate_users.rb +7 -7
  133. data/examples/{v201405 → v201505}/user_service/get_all_roles.rb +1 -1
  134. data/examples/{v201405 → v201505}/user_service/get_all_users.rb +8 -18
  135. data/examples/{v201405 → v201505}/user_service/get_current_user.rb +1 -1
  136. data/examples/{v201405 → v201505}/user_service/get_users_by_statement.rb +17 -12
  137. data/examples/{v201405 → v201505}/user_service/update_users.rb +15 -6
  138. data/examples/{v201405 → v201505}/user_team_association_service/create_user_team_associations.rb +1 -1
  139. data/examples/{v201405 → v201505}/user_team_association_service/delete_user_team_associations.rb +13 -21
  140. data/examples/{v201405 → v201505}/user_team_association_service/get_all_user_team_associations.rb +10 -17
  141. data/examples/{v201405 → v201505}/user_team_association_service/get_user_team_associations_by_statement.rb +20 -16
  142. data/examples/{v201405 → v201505}/user_team_association_service/update_user_team_associations.rb +8 -7
  143. data/lib/dfp_api/api_config.rb +27 -4
  144. data/lib/dfp_api/v201505/activity_group_service.rb +42 -0
  145. data/lib/dfp_api/v201505/activity_group_service_registry.rb +45 -0
  146. data/lib/dfp_api/v201505/activity_service.rb +42 -0
  147. data/lib/dfp_api/v201505/activity_service_registry.rb +45 -0
  148. data/lib/dfp_api/v201505/ad_exclusion_rule_service.rb +46 -0
  149. data/lib/dfp_api/v201505/ad_exclusion_rule_service_registry.rb +45 -0
  150. data/lib/dfp_api/v201505/ad_rule_service.rb +46 -0
  151. data/lib/dfp_api/v201505/ad_rule_service_registry.rb +45 -0
  152. data/lib/dfp_api/v201505/audience_segment_service.rb +46 -0
  153. data/lib/dfp_api/v201505/audience_segment_service_registry.rb +45 -0
  154. data/lib/dfp_api/v201505/base_rate_service.rb +46 -0
  155. data/lib/dfp_api/v201505/base_rate_service_registry.rb +45 -0
  156. data/lib/dfp_api/v201505/company_service.rb +42 -0
  157. data/lib/dfp_api/v201505/company_service_registry.rb +45 -0
  158. data/lib/dfp_api/v201505/contact_service.rb +42 -0
  159. data/lib/dfp_api/v201505/contact_service_registry.rb +45 -0
  160. data/lib/dfp_api/v201505/content_bundle_service.rb +46 -0
  161. data/lib/dfp_api/v201505/content_bundle_service_registry.rb +45 -0
  162. data/lib/dfp_api/v201505/content_metadata_key_hierarchy_service.rb +46 -0
  163. data/lib/dfp_api/v201505/content_metadata_key_hierarchy_service_registry.rb +45 -0
  164. data/lib/dfp_api/v201505/content_service.rb +38 -0
  165. data/lib/dfp_api/v201505/content_service_registry.rb +45 -0
  166. data/lib/dfp_api/v201505/creative_service.rb +42 -0
  167. data/lib/dfp_api/v201505/creative_service_registry.rb +45 -0
  168. data/lib/dfp_api/v201505/creative_set_service.rb +42 -0
  169. data/lib/dfp_api/v201505/creative_set_service_registry.rb +45 -0
  170. data/lib/dfp_api/v201505/creative_template_service.rb +34 -0
  171. data/lib/dfp_api/v201505/creative_template_service_registry.rb +45 -0
  172. data/lib/dfp_api/v201505/creative_wrapper_service.rb +46 -0
  173. data/lib/dfp_api/v201505/creative_wrapper_service_registry.rb +45 -0
  174. data/lib/dfp_api/v201505/custom_field_service.rb +58 -0
  175. data/lib/dfp_api/v201505/custom_field_service_registry.rb +45 -0
  176. data/lib/dfp_api/v201505/custom_targeting_service.rb +62 -0
  177. data/lib/dfp_api/v201505/custom_targeting_service_registry.rb +45 -0
  178. data/lib/dfp_api/v201505/exchange_rate_service.rb +46 -0
  179. data/lib/dfp_api/v201505/exchange_rate_service_registry.rb +45 -0
  180. data/lib/dfp_api/v201505/forecast_service.rb +46 -0
  181. data/lib/dfp_api/v201505/forecast_service_registry.rb +45 -0
  182. data/lib/dfp_api/v201505/inventory_service.rb +50 -0
  183. data/lib/dfp_api/v201505/inventory_service_registry.rb +45 -0
  184. data/lib/dfp_api/v201505/label_service.rb +46 -0
  185. data/lib/dfp_api/v201505/label_service_registry.rb +45 -0
  186. data/lib/dfp_api/v201505/line_item_creative_association_service.rb +50 -0
  187. data/lib/dfp_api/v201505/line_item_creative_association_service_registry.rb +45 -0
  188. data/lib/dfp_api/v201505/line_item_service.rb +46 -0
  189. data/lib/dfp_api/v201505/line_item_service_registry.rb +45 -0
  190. data/lib/dfp_api/v201505/line_item_template_service.rb +34 -0
  191. data/lib/dfp_api/v201505/line_item_template_service_registry.rb +45 -0
  192. data/lib/dfp_api/v201505/live_stream_event_service.rb +46 -0
  193. data/lib/dfp_api/v201505/live_stream_event_service_registry.rb +45 -0
  194. data/lib/dfp_api/v201505/network_service.rb +46 -0
  195. data/lib/dfp_api/v201505/network_service_registry.rb +45 -0
  196. data/lib/dfp_api/v201505/order_service.rb +46 -0
  197. data/lib/dfp_api/v201505/order_service_registry.rb +45 -0
  198. data/lib/dfp_api/v201505/package_service.rb +46 -0
  199. data/lib/dfp_api/v201505/package_service_registry.rb +45 -0
  200. data/lib/dfp_api/v201505/placement_service.rb +46 -0
  201. data/lib/dfp_api/v201505/placement_service_registry.rb +45 -0
  202. data/lib/dfp_api/v201505/premium_rate_service.rb +42 -0
  203. data/lib/dfp_api/v201505/premium_rate_service_registry.rb +45 -0
  204. data/lib/dfp_api/v201505/product_package_item_service.rb +46 -0
  205. data/lib/dfp_api/v201505/product_package_item_service_registry.rb +45 -0
  206. data/lib/dfp_api/v201505/product_package_service.rb +46 -0
  207. data/lib/dfp_api/v201505/product_package_service_registry.rb +45 -0
  208. data/lib/dfp_api/v201505/product_service.rb +42 -0
  209. data/lib/dfp_api/v201505/product_service_registry.rb +45 -0
  210. data/lib/dfp_api/v201505/product_template_service.rb +46 -0
  211. data/lib/dfp_api/v201505/product_template_service_registry.rb +45 -0
  212. data/lib/dfp_api/v201505/proposal_line_item_service.rb +46 -0
  213. data/lib/dfp_api/v201505/proposal_line_item_service_registry.rb +45 -0
  214. data/lib/dfp_api/v201505/proposal_service.rb +46 -0
  215. data/lib/dfp_api/v201505/proposal_service_registry.rb +45 -0
  216. data/lib/dfp_api/v201505/publisher_query_language_service.rb +34 -0
  217. data/lib/dfp_api/v201505/publisher_query_language_service_registry.rb +45 -0
  218. data/lib/dfp_api/v201505/rate_card_service.rb +46 -0
  219. data/lib/dfp_api/v201505/rate_card_service_registry.rb +45 -0
  220. data/lib/dfp_api/v201505/reconciliation_order_report_service.rb +38 -0
  221. data/lib/dfp_api/v201505/reconciliation_order_report_service_registry.rb +45 -0
  222. data/lib/dfp_api/v201505/reconciliation_report_row_service.rb +38 -0
  223. data/lib/dfp_api/v201505/reconciliation_report_row_service_registry.rb +45 -0
  224. data/lib/dfp_api/v201505/reconciliation_report_service.rb +38 -0
  225. data/lib/dfp_api/v201505/reconciliation_report_service_registry.rb +45 -0
  226. data/lib/dfp_api/v201505/report_service.rb +46 -0
  227. data/lib/dfp_api/v201505/report_service_registry.rb +45 -0
  228. data/lib/dfp_api/v201505/shared_ad_unit_service.rb +38 -0
  229. data/lib/dfp_api/v201505/shared_ad_unit_service_registry.rb +45 -0
  230. data/lib/dfp_api/v201505/suggested_ad_unit_service.rb +38 -0
  231. data/lib/dfp_api/v201505/suggested_ad_unit_service_registry.rb +45 -0
  232. data/lib/dfp_api/v201505/team_service.rb +42 -0
  233. data/lib/dfp_api/v201505/team_service_registry.rb +45 -0
  234. data/lib/dfp_api/v201505/user_service.rb +54 -0
  235. data/lib/dfp_api/v201505/user_service_registry.rb +45 -0
  236. data/lib/dfp_api/v201505/user_team_association_service.rb +46 -0
  237. data/lib/dfp_api/v201505/user_team_association_service_registry.rb +45 -0
  238. data/lib/dfp_api/v201505/workflow_request_service.rb +38 -0
  239. data/lib/dfp_api/v201505/workflow_request_service_registry.rb +45 -0
  240. data/lib/dfp_api/version.rb +1 -1
  241. data/test/bugs/test_issue_00000016.rb +1 -1
  242. data/test/dfp_api/test_config.yml +6 -5
  243. data/test/dfp_api/test_dfp_api.rb +32 -32
  244. metadata +234 -140
  245. data/examples/v201405/creative_template_service/get_creative_template.rb +0 -74
  246. data/examples/v201405/report_service/run_report_with_custom_fields.rb +0 -135
  247. data/examples/v201405/suggested_ad_unit_service/get_suggested_ad_unit.rb +0 -75
@@ -24,8 +24,9 @@
24
24
  # Tags: CustomFieldService.updateCustomFields
25
25
 
26
26
  require 'dfp_api'
27
+ require 'dfp_api_statement'
27
28
 
28
- API_VERSION = :v201405
29
+ API_VERSION = :v201505
29
30
 
30
31
  def update_custom_fields()
31
32
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -42,16 +43,18 @@ def update_custom_fields()
42
43
  custom_field_id = 'INSERT_CUSTOM_FIELD_ID_HERE'.to_i
43
44
 
44
45
  # Create a statement to only select a single custom field.
45
- statement = {
46
- :query => "WHERE id = :id LIMIT 1",
47
- :values => [
46
+ statement = DfpApiStatement::FilterStatement.new(
47
+ 'WHERE id = :id',
48
+ [
48
49
  {:key => 'id',
49
50
  :value => {:value => custom_field_id, :xsi_type => 'NumberValue'}}
50
- ]
51
- }
51
+ ],
52
+ 1
53
+ )
52
54
 
53
55
  # Get custom fields by statement.
54
- page = custom_field_service.get_custom_fields_by_statement(statement)
56
+ page = custom_field_service.get_custom_fields_by_statement(
57
+ statement.toStatement())
55
58
 
56
59
  if page[:results]
57
60
  custom_fields = page[:results]
@@ -28,7 +28,7 @@
28
28
 
29
29
  require 'dfp_api'
30
30
 
31
- API_VERSION = :v201405
31
+ API_VERSION = :v201505
32
32
 
33
33
  def create_custom_targeting_keys_and_values()
34
34
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -25,9 +25,9 @@
25
25
  # Tags: CustomTargetingService.performCustomTargetingKeyAction
26
26
 
27
27
  require 'dfp_api'
28
+ require 'dfp_api_statement'
28
29
 
29
- API_VERSION = :v201405
30
- PAGE_SIZE = 500
30
+ API_VERSION = :v201505
31
31
 
32
32
  def delete_custom_targeting_keys()
33
33
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -43,39 +43,33 @@ def delete_custom_targeting_keys()
43
43
  # Set the name of the custom targeting key to delete.
44
44
  custom_targeting_key_name = 'INSERT_CUSTOM_TARGETING_KEY_NAME_HERE'
45
45
 
46
- # Create statement to only select custom targeting key by the given name.
47
- statement_text = 'WHERE name = :name'
48
46
 
49
47
  # Define initial values.
50
- offset = 0
51
- page = {}
52
48
  custom_target_key_ids = []
53
- statement = {
54
- :values => [
49
+
50
+ # Create statement to only select custom targeting key by the given name.
51
+ statement = DfpApiStatement::FilterStatement.new(
52
+ 'WHERE name = :name',
53
+ [
55
54
  {:key => 'name',
56
55
  :value => {:value => custom_targeting_key_name,
57
56
  :xsi_type => 'TextValue'}
58
57
  }
59
58
  ]
60
- }
59
+ )
61
60
 
62
61
  begin
63
- # Create a statement to page through custom targeting keys.
64
- statement[:query] = statement_text + " LIMIT %d OFFSET %d" %
65
- [PAGE_SIZE, offset]
66
-
67
62
  page = custom_targeting_service.get_custom_targeting_keys_by_statement(
68
- statement)
63
+ statement.toStatement())
69
64
 
70
65
  if page[:results]
71
- # Increase query offset by page size.
72
- offset += PAGE_SIZE
73
66
  page[:results].each do |key|
74
67
  # Add key ID to the list for deletion.
75
68
  custom_target_key_ids << key[:id]
76
69
  end
77
70
  end
78
- end while offset < page[:total_result_set_size]
71
+ statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
72
+ end while statement.offset < page[:total_result_set_size]
79
73
 
80
74
  # Print a footer.
81
75
  puts "Number of custom targeting keys to be deleted: %d" %
@@ -83,12 +77,14 @@ def delete_custom_targeting_keys()
83
77
 
84
78
  if !(custom_target_key_ids.empty?)
85
79
  # Modify statement for action.
86
- statement = {:query => "WHERE id IN (%s)" %
87
- [custom_target_key_ids.join(', ')]}
80
+ statement = DfpApiStatement::FilterStatement.new(
81
+ "WHERE id IN (%s)" %
82
+ [custom_target_key_ids.join(', ')]
83
+ )
88
84
 
89
85
  # Perform action.
90
86
  result = custom_targeting_service.perform_custom_targeting_key_action(
91
- {:xsi_type => 'DeleteCustomTargetingKeys'}, statement)
87
+ {:xsi_type => 'DeleteCustomTargetingKeys'}, statement.toStatement())
92
88
 
93
89
  # Display results.
94
90
  if result and result[:num_changes] > 0
@@ -26,9 +26,9 @@
26
26
  # Tags: CustomTargetingService.performCustomTargetingValueAction
27
27
 
28
28
  require 'dfp_api'
29
+ require 'dfp_api_statement'
29
30
 
30
- API_VERSION = :v201405
31
- PAGE_SIZE = 500
31
+ API_VERSION = :v201505
32
32
 
33
33
  def delete_custom_targeting_values()
34
34
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -44,41 +44,35 @@ def delete_custom_targeting_values()
44
44
  # Set ID of the custom targeting key to delete values from.
45
45
  custom_targeting_key_id = 'INSERT_CUSTOM_TARGETING_KEY_ID_HERE'.to_i
46
46
 
47
- # Create statement to only select custom values by the given custom targeting
48
- # key ID.
49
- statement_text = 'WHERE customTargetingKeyId = :key_id'
50
-
51
47
  # Define initial values.
52
- offset = 0
53
- page = {}
54
48
  custom_target_value_ids = []
55
- statement = {
56
- :values => [
49
+
50
+ # Create statement to only select custom values by the given custom targeting
51
+ # key ID.
52
+ statement = DfpApiStatement::FilterStatement.new(
53
+ 'WHERE customTargetingKeyId = :key_id',
54
+ [
57
55
  {:key => 'key_id',
58
56
  :value => {:value => custom_targeting_key_id,
59
57
  :xsi_type => 'NumberValue'}
60
58
  }
61
59
  ]
62
- }
60
+ )
63
61
 
64
62
  begin
65
- # Create a statement to page through custom targeting values.
66
- statement[:query] = statement_text + " LIMIT %d OFFSET %d" %
67
- [PAGE_SIZE, offset]
68
-
69
63
  # Get custom targeting values by statement.
70
64
  page = custom_targeting_service.get_custom_targeting_values_by_statement(
71
- statement)
65
+ statement.toStatement())
72
66
 
73
67
  if page[:results]
74
68
  # Increase query offset by page size.
75
- offset += PAGE_SIZE
76
69
  page[:results].each do |value|
77
70
  # Add value ID to the list for deletion.
78
71
  custom_target_value_ids << value[:id]
79
72
  end
80
73
  end
81
- end while offset < page[:total_result_set_size]
74
+ statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
75
+ end while statement.offset < page[:total_result_set_size]
82
76
 
83
77
  # Print a footer.
84
78
  puts "Number of custom targeting value to be deleted: %d" %
@@ -86,12 +80,20 @@ def delete_custom_targeting_values()
86
80
 
87
81
  if !(custom_target_value_ids.empty?)
88
82
  # Modify statement for action, note, values are still present.
89
- statement[:query] = statement_text + " AND id IN (%s)" %
90
- [custom_target_value_ids.join(', ')]
83
+ statement = DfpApiStatement::FilterStatement.new(
84
+ "WHERE customTargetingKeyId = :key_id AND id IN (%s)" %
85
+ [custom_target_value_ids.join(', ')],
86
+ [
87
+ {:key => 'key_id',
88
+ :value => {:value => custom_targeting_key_id,
89
+ :xsi_type => 'NumberValue'}
90
+ }
91
+ ]
92
+ )
91
93
 
92
94
  # Perform action.
93
95
  result = custom_targeting_service.perform_custom_targeting_value_action(
94
- {:xsi_type => 'DeleteCustomTargetingValues'}, statement)
96
+ {:xsi_type => 'DeleteCustomTargetingValues'}, statement.toStatement())
95
97
 
96
98
  # Display results.
97
99
  if result and result[:num_changes] > 0
@@ -25,9 +25,9 @@
25
25
  # Tags: CustomTargetingService.getCustomTargetingValuesByStatement
26
26
 
27
27
  require 'dfp_api'
28
+ require 'dfp_api_statement'
28
29
 
29
- API_VERSION = :v201405
30
- PAGE_SIZE = 500
30
+ API_VERSION = :v201505
31
31
 
32
32
  def get_all_custom_targeting_keys_and_values()
33
33
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -40,29 +40,19 @@ def get_all_custom_targeting_keys_and_values()
40
40
  # Get the CustomTargetingService.
41
41
  custom_targeting_service = dfp.service(:CustomTargetingService, API_VERSION)
42
42
 
43
- # Define initial values.
44
- offset = 0
45
- page = {}
46
-
47
43
  begin
48
44
  # Create a statement to get one page with current offset.
49
- statement = {:query => "LIMIT %d OFFSET %d" % [PAGE_SIZE, offset]}
45
+ statement = DfpApiStatement::FilterStatement.new('ORDER BY id ASC')
50
46
 
51
47
  # Get custom targeting keys by statement.
52
48
  page = custom_targeting_service.get_custom_targeting_keys_by_statement(
53
- statement)
49
+ statement.toStatement())
54
50
 
55
51
  if page[:results]
56
- # Increase query offset by page size.
57
- offset += PAGE_SIZE
58
-
59
- # Get the start index for printout.
60
- start_index = page[:start_index]
61
-
62
52
  # Print details about each key in results.
63
53
  page[:results].each_with_index do |custom_targeting_key, index|
64
54
  puts ("%d) Custom targeting key ID: %d, name: %s, displayName: %s, " +
65
- "type: %s") % [index + start_index,
55
+ "type: %s") % [index + statement.offset,
66
56
  custom_targeting_key[:id],
67
57
  custom_targeting_key[:name],
68
58
  custom_targeting_key[:display_name],
@@ -70,7 +60,8 @@ def get_all_custom_targeting_keys_and_values()
70
60
  print_all_values_for_key(custom_targeting_service, custom_targeting_key)
71
61
  end
72
62
  end
73
- end while offset < page[:total_result_set_size]
63
+ statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
64
+ end while statement.offset < page[:total_result_set_size]
74
65
 
75
66
  # Print a footer.
76
67
  if page.include?(:total_result_set_size)
@@ -80,45 +71,33 @@ def get_all_custom_targeting_keys_and_values()
80
71
  end
81
72
 
82
73
  def print_all_values_for_key(custom_targeting_service, custom_targeting_key)
83
- # Define initial values.
84
- offset = 0
85
- page = {}
86
-
87
74
  # Create a statement to get values for given key.
88
- statement_text = "WHERE customTargetingKeyId = :key_id LIMIT %d" % PAGE_SIZE
89
- statement = {
90
- :values => [
75
+ statement = DfpApiStatement::FilterStatement.new(
76
+ 'WHERE customTargetingKeyId = :key_id',
77
+ [
91
78
  {:key => 'key_id',
92
79
  :value => {:value => custom_targeting_key[:id],
93
80
  :xsi_type => 'NumberValue'}}
94
81
  ]
95
- }
82
+ )
96
83
 
97
84
  begin
98
- # Modify statement to get the next page.
99
- statement[:query] = statement_text + " OFFSET %d" % offset
100
-
101
85
  # Get custom targeting values by statement.
102
86
  page = custom_targeting_service.get_custom_targeting_values_by_statement(
103
- statement)
87
+ statement.toStatement())
104
88
 
105
89
  if page[:results]
106
- # Increase query offset by page size.
107
- offset += PAGE_SIZE
108
-
109
- # Get the start index for printout.
110
- start_index = page[:start_index]
111
-
112
90
  # Print details about each value in results.
113
91
  page[:results].each_with_index do |custom_targeting_value, index|
114
92
  puts ("\t%d) Custom targeting value ID: %d, name: %s, displayName: %s") %
115
- [index + start_index,
93
+ [index + statement.offset,
116
94
  custom_targeting_value[:id],
117
95
  custom_targeting_value[:name],
118
96
  custom_targeting_value[:display_name]]
119
97
  end
120
98
  end
121
- end while offset < page[:total_result_set_size]
99
+ statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
100
+ end while statement.offset < page[:total_result_set_size]
122
101
 
123
102
  # Print a footer.
124
103
  if page.include?(:total_result_set_size)
@@ -25,8 +25,9 @@
25
25
  # Tags: CustomTargetingService.getCustomTargetingKeysByStatement
26
26
 
27
27
  require 'dfp_api'
28
+ require 'dfp_api_statement'
28
29
 
29
- API_VERSION = :v201405
30
+ API_VERSION = :v201505
30
31
 
31
32
  def get_custom_targeting_keys_by_statement()
32
33
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -40,29 +41,32 @@ def get_custom_targeting_keys_by_statement()
40
41
  custom_targeting_service = dfp.service(:CustomTargetingService, API_VERSION)
41
42
 
42
43
  # Create a statement to only select predefined custom targeting keys.
43
- statement = {
44
- :query => 'WHERE type = :type LIMIT 500',
45
- :values => [
44
+ statement = DfpApiStatement::FilterStatement.new(
45
+ 'WHERE type = :type ORDER BY id ASC',
46
+ [
46
47
  {:key => 'type',
47
48
  :value => {:value => 'PREDEFINED', :xsi_type => 'TextValue'}}
48
49
  ]
49
- }
50
+ )
50
51
 
51
52
  # Get custom targeting keys by statement.
52
53
  page = custom_targeting_service.get_custom_targeting_keys_by_statement(
53
- statement)
54
+ statement.toStatement())
54
55
 
55
- if page[:results]
56
- # Print details about each key in results.
57
- page[:results].each_with_index do |custom_targeting_key, index|
58
- puts ("%d) Custom targeting key with ID [%d], name: %s," +
59
- " displayName: %s type: %s") % [index,
60
- custom_targeting_key[:id],
61
- custom_targeting_key[:name],
62
- custom_targeting_key[:display_name],
63
- custom_targeting_key[:type]]
56
+ begin
57
+ if page[:results]
58
+ # Print details about each key in results.
59
+ page[:results].each_with_index do |custom_targeting_key, index|
60
+ puts ("%d) Custom targeting key with ID [%d], name: %s," +
61
+ " displayName: %s type: %s") % [index + statement.offset,
62
+ custom_targeting_key[:id],
63
+ custom_targeting_key[:name],
64
+ custom_targeting_key[:display_name],
65
+ custom_targeting_key[:type]]
66
+ end
64
67
  end
65
- end
68
+ statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
69
+ end while statement.offset < page[:total_result_set_size]
66
70
 
67
71
  # Print a footer.
68
72
  if page.include?(:total_result_set_size)
@@ -27,8 +27,9 @@
27
27
  # Tags: CustomTargetingService.getCustomTargetingValuesByStatement
28
28
 
29
29
  require 'dfp_api'
30
+ require 'dfp_api_statement'
30
31
 
31
- API_VERSION = :v201405
32
+ API_VERSION = :v201505
32
33
 
33
34
  def get_custom_targeting_values_by_statement()
34
35
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -45,30 +46,33 @@ def get_custom_targeting_values_by_statement()
45
46
  custom_targeting_key_id = 'INSERT_CUSTOM_TARGETING_KEY_ID_HERE'.to_i
46
47
 
47
48
  # Create a statement to only select custom targeting values for a given key.
48
- statement = {
49
- :query => 'WHERE customTargetingKeyId = :key_id LIMIT 500',
50
- :values => [
49
+ statement = DfpApiStatement::FilterStatement.new(
50
+ 'WHERE customTargetingKeyId = :key_id ORDER BY id',
51
+ [
51
52
  {:key => 'key_id',
52
53
  :value => {:value => custom_targeting_key_id,
53
54
  :xsi_type => 'NumberValue'}
54
55
  }
55
56
  ]
56
- }
57
+ )
57
58
 
58
59
  # Get custom targeting values by statement.
59
60
  page = custom_targeting_service.get_custom_targeting_values_by_statement(
60
- statement)
61
+ statement.toStatement())
61
62
 
62
- if page[:results]
63
- # Print details about each value in results.
64
- page[:results].each_with_index do |custom_targeting_value, index|
65
- puts ("%d) Custom targeting value with ID [%d], name: %s," +
66
- " displayName: %s") % [index,
67
- custom_targeting_value[:id],
68
- custom_targeting_value[:name],
69
- custom_targeting_value[:display_name]]
63
+ begin
64
+ if page[:results]
65
+ # Print details about each value in results.
66
+ page[:results].each_with_index do |custom_targeting_value, index|
67
+ puts ("%d) Custom targeting value with ID [%d], name: %s," +
68
+ " displayName: %s") % [index + statement.offset,
69
+ custom_targeting_value[:id],
70
+ custom_targeting_value[:name],
71
+ custom_targeting_value[:display_name]]
72
+ end
70
73
  end
71
- end
74
+ statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
75
+ end while statement.offset < page[:total_result_set_size]
72
76
 
73
77
  # Print a footer.
74
78
  if page.include?(:total_result_set_size)
@@ -26,8 +26,9 @@
26
26
  # Tags: CustomTargetingService.updateCustomTargetingKeys
27
27
 
28
28
  require 'dfp_api'
29
+ require 'dfp_api_statement'
29
30
 
30
- API_VERSION = :v201405
31
+ API_VERSION = :v201505
31
32
 
32
33
  def update_custom_targeting_keys()
33
34
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -40,8 +41,8 @@ def update_custom_targeting_keys()
40
41
  # Get the CustomTargetingService.
41
42
  custom_targeting_service = dfp.service(:CustomTargetingService, API_VERSION)
42
43
 
43
- # Create a statement to get first 500 custom targeting keys.
44
- statement = {:query => "LIMIT 500"}
44
+ # Create a statement to get all custom targeting keys.
45
+ statement = DfpApiStatement::FilterStatement.new('ORDER BY id ASC')
45
46
 
46
47
  # Get custom targeting keys by statement.
47
48
  page = custom_targeting_service.get_custom_targeting_keys_by_statement(