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
@@ -23,9 +23,9 @@
23
23
  # Tags: ContactService.getContactsByStatement.
24
24
 
25
25
  require 'dfp_api'
26
+ require 'dfp_api_statement'
26
27
 
27
- API_VERSION = :v201405
28
- PAGE_SIZE = 500
28
+ API_VERSION = :v201505
29
29
 
30
30
  def get_all_contacts()
31
31
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -38,31 +38,23 @@ def get_all_contacts()
38
38
  # Get the ContactService.
39
39
  contact_service = dfp.service(:ContactService, API_VERSION)
40
40
 
41
- # Define initial values.
42
- offset = 0
43
- page = {}
41
+ # Create statement for one page with current offset.
42
+ statement = DfpApiStatement::FilterStatement.new('ORDER BY id ASC')
44
43
 
45
44
  begin
46
- # Create statement for one page with current offset.
47
- statement = {:query => "LIMIT %d OFFSET %d" % [PAGE_SIZE, offset]}
48
-
49
45
  # Get contacts by statement.
50
- page = contact_service.get_contacts_by_statement(statement)
46
+ page = contact_service.get_contacts_by_statement(
47
+ statement.toStatement())
51
48
 
52
49
  if page[:results]
53
- # Increase query offset by page size.
54
- offset += PAGE_SIZE
55
-
56
- # Get the start index for printout.
57
- start_index = page[:start_index]
58
-
59
- # Print details about each content object in results page.
60
50
  page[:results].each_with_index do |contact, index|
61
- puts "%d) Contact ID: %d, name: %s." % [index + start_index,
62
- contact[:id], contact[:name]]
51
+ puts "%d) Contact ID: %d, name: '%s'" %
52
+ [index + statement.offset,
53
+ contact[:id], contact[:name]]
63
54
  end
64
55
  end
65
- end while offset < page[:total_result_set_size]
56
+ statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
57
+ end while statement.offset < page[:total_result_set_size]
66
58
 
67
59
  # Print a footer
68
60
  if page.include?(:total_result_set_size)
@@ -24,8 +24,9 @@
24
24
  # Tags: ContactService.getContactsByStatement.
25
25
 
26
26
  require 'dfp_api'
27
+ require 'dfp_api_statement'
27
28
 
28
- API_VERSION = :v201405
29
+ API_VERSION = :v201505
29
30
  PAGE_SIZE = 500
30
31
 
31
32
  def get_uninvited_contacts()
@@ -42,37 +43,32 @@ def get_uninvited_contacts()
42
43
  # Define initial values.
43
44
  offset = 0
44
45
  page = {}
45
- query_base = 'WHERE status = :status ORDER BY id LIMIT %d OFFSET %d'
46
+ query_base = 'WHERE status = :status ORDER BY id ASC LIMIT %d OFFSET %d'
46
47
 
47
48
  # Create statement.
48
- statement = {
49
- :values => [
50
- {:key => 'status',
51
- :value => {:value => 'UNINVITED', :xsi_type => 'TextValue'}}
52
- ]
53
- }
54
49
 
55
- begin
56
- # Update statement for one page with current offset.
57
- statement[:query] = query_base % [PAGE_SIZE, offset]
50
+ statement = DfpApiStatement::FilterStatement.new(
51
+ 'WHERE status = :status ORDER BY id ASC',
52
+ [
53
+ {:key => 'status',
54
+ :value => {:value => 'UNINVITED', :xsi_type => 'TextValue'}}
55
+ ]
56
+ )
58
57
 
58
+ begin
59
59
  # Get contacts by statement.
60
- page = contact_service.get_contacts_by_statement(statement)
60
+ page = contact_service.get_contacts_by_statement(
61
+ statement.toStatement())
61
62
 
62
63
  if page[:results]
63
- # Increase query offset by page size.
64
- offset += PAGE_SIZE
65
-
66
- # Get the start index for printout.
67
- start_index = page[:start_index]
68
-
69
- # Print details about each content object in results page.
70
64
  page[:results].each_with_index do |contact, index|
71
- puts "%d) Contact ID: %d, name: %s." % [index + start_index,
72
- contact[:id], contact[:name]]
65
+ puts "%d) Contact ID: %d, name: '%s'" %
66
+ [index + statement.offset,
67
+ contact[:id], contact[:name]]
73
68
  end
74
69
  end
75
- end while offset < page[:total_result_set_size]
70
+ statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
71
+ end while statement.offset < page[:total_result_set_size]
76
72
 
77
73
  # Print a footer
78
74
  if page.include?(:total_result_set_size)
@@ -24,8 +24,9 @@
24
24
  # Tags: ContactService.updateContacts
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_contacts()
31
32
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -38,19 +39,20 @@ def update_contacts()
38
39
  # Get the ContactService.
39
40
  contact_service = dfp.service(:ContactService, API_VERSION)
40
41
 
41
- contact_id = 'INSERT_CONTACT_ID_HERE'
42
+ contact_id = 'INSERT_CONTACT_ID_HERE'.to_i
42
43
 
43
44
  # Create a statement to only select a single contact.
44
- statement = {
45
- :query => "WHERE id = :id LIMIT 1",
46
- :values => [
45
+ statement = DfpApiStatement::FilterStatement.new(
46
+ 'WHERE id = :id',
47
+ [
47
48
  {:key => 'id',
48
49
  :value => {:value => contact_id, :xsi_type => 'NumberValue'}}
49
- ]
50
+ ],
51
+ 1
50
52
  }
51
53
 
52
54
  # Get contacts by statement.
53
- page = contact_service.get_contacts_by_statement(statement)
55
+ page = contact_service.get_contacts_by_statement(statement.toStatement())
54
56
 
55
57
  if page[:results]
56
58
  contacts = page[:results]
@@ -26,7 +26,7 @@
26
26
 
27
27
  require 'dfp_api'
28
28
 
29
- API_VERSION = :v201405
29
+ API_VERSION = :v201505
30
30
 
31
31
  def create_content_metadata_key_hierarchies()
32
32
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -26,8 +26,9 @@
26
26
  # Tags: ContentMetadataKeyHierarchyService.performContentMetadataKeyHierarchyAction
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 delete_content_metadata_key_hierarchies()
33
34
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -44,18 +45,19 @@ def delete_content_metadata_key_hierarchies()
44
45
  content_metadata_key_hierarchy_id = 'CONTENT_METADATA_KEY_HIERARCHY_ID'
45
46
 
46
47
  # Create a statement to only select a single content metadata key hierarchy.
47
- statement = {
48
- :query => 'WHERE id = :id ORDER BY id ASC LIMIT 1',
49
- :values => [
48
+ statement = DfpApiStatement::FilterStatement.new(
49
+ 'WHERE id = :id ORDER BY id ASC',
50
+ [
50
51
  {:key => 'id',
51
52
  :value => {:value => content_metadata_key_hierarchy_id,
52
53
  :xsi_type => 'NumberValue'}},
53
- ]
54
- }
54
+ ],
55
+ 1
56
+ )
55
57
 
56
58
  # Get content metadata key hierarchies by statement.
57
59
  page = cmkh_service.get_content_metadata_key_hierarchies_by_statement(
58
- statement)
60
+ statement.toStatement())
59
61
 
60
62
  if page[:results]
61
63
  content_metadata_key_hierarchy = page[:results].first
@@ -67,7 +69,8 @@ def delete_content_metadata_key_hierarchies()
67
69
 
68
70
  # Perform action.
69
71
  result = cmkh_service.perform_content_metadata_key_hierarchy_action(
70
- {:xsi_type => 'DeleteContentMetadataKeyHierarchy'}, statement)
72
+ {:xsi_type => 'DeleteContentMetadataKeyHierarchy'},
73
+ statement.toStatement())
71
74
 
72
75
  # Display results.
73
76
  if result and result[:num_changes] > 0
@@ -25,9 +25,9 @@
25
25
  # Tags: ContentMetadataKeyHierarchyService.getContentMetadataKeyHierarchiesByStatement
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_content_metadata_key_hierarchies()
33
33
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -40,36 +40,26 @@ def get_all_content_metadata_key_hierarchies()
40
40
  # Get the ContentMetadataKeyHierarchyService.
41
41
  cmkh_service = dfp.service(:ContentMetadataKeyHierarchyService, API_VERSION)
42
42
 
43
- # Define initial values.
44
- offset = 0
45
- page = {}
43
+ # Create statement for one page with current offset.
44
+ statement = DfpApiStatement::FilterStatement.new('ORDER BY id ASC')
46
45
 
47
46
  begin
48
- # Create statement for one page with current offset.
49
- statement = {:query => 'ORDER BY id ASC LIMIT ' +
50
- '%d OFFSET %d' % [PAGE_SIZE, offset]}
51
47
 
52
48
  # Get content metadata key hierarchies by statement.
53
49
  page = cmkh_service.get_content_metadata_key_hierarchies_by_statement(
54
- statement)
50
+ statement.toStatement())
55
51
 
56
52
  if page[:results]
57
- # Increase query offset by page size.
58
- offset += PAGE_SIZE
59
-
60
- # Get the start index for printout.
61
- start_index = page[:start_index]
62
-
63
- # Print details about each content metadata key hierarchy object.
64
53
  page[:results].each_with_index do |content_metadata_key_hierarchy, index|
65
54
  puts ("%d) Content Metadata Key Hierarchy ID: " +
66
55
  "%d and name: %s was found.") % [
67
- index + start_index,
56
+ index + statement.offset,
68
57
  content_metadata_key_hierarchy[:id],
69
58
  content_metadata_key_hierarchy[:name]]
70
59
  end
71
60
  end
72
- end while offset < page[:total_result_set_size]
61
+ statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
62
+ end while statement.offset < page[:total_result_set_size]
73
63
 
74
64
  # Print a footer
75
65
  if page.include?(:total_result_set_size)
@@ -26,8 +26,9 @@
26
26
  # Tags: ContentMetadataKeyHierarchyService.updateContentMetadataKeyHierarchies
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_content_metadata_key_hierarchies()
33
34
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -48,18 +49,19 @@ def update_content_metadata_key_hierarchies()
48
49
  custom_targeting_key_id = "INSERT_CUSTOM_TARGETING_KEY_ID_HERE"
49
50
 
50
51
  # Create a statement to only select a single content metadata key hierarchy.
51
- statement = {
52
- :query => 'WHERE id = :id ORDER BY id ASC LIMIT 1',
53
- :values => [
52
+ statement = DfpApiStatement::FilterStatement.new(
53
+ 'WHERE id = :id ORDER BY id ASC',
54
+ [
54
55
  {:key => 'id',
55
56
  :value => {:value => content_metadata_key_hierarchy_id,
56
57
  :xsi_type => 'NumberValue'}},
57
- ]
58
+ ],
59
+ 1
58
60
  }
59
61
 
60
62
  # Get content metadata key hierarchies by statement.
61
- page =
62
- cmkh_service.get_content_metadata_key_hierarchies_by_statement(statement)
63
+ page = cmkh_service.get_content_metadata_key_hierarchies_by_statement(
64
+ statement.toStatement())
63
65
 
64
66
  if page[:results]
65
67
  content_metadata_key_hierarchy = page[:results].first
@@ -25,9 +25,9 @@
25
25
  # Tags: ContentService.getContentByStatement
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_content()
33
33
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -40,31 +40,22 @@ def get_all_content()
40
40
  # Get the ContentService.
41
41
  content_service = dfp.service(:ContentService, API_VERSION)
42
42
 
43
- # Define initial values.
44
- offset = 0
45
- page = {}
43
+ # Create statement for one page with current offset.
44
+ statement = DfpApiStatement::FilterStatement.new('ORDER BY id ASC')
46
45
 
47
46
  begin
48
- # Create statement for one page with current offset.
49
- statement = {:query => "LIMIT %d OFFSET %d" % [PAGE_SIZE, offset]}
50
-
51
47
  # Get content by statement.
52
- page = content_service.get_content_by_statement(statement)
48
+ page = content_service.get_content_by_statement(statement.toStatement())
53
49
 
54
50
  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 content object in results page.
62
51
  page[:results].each_with_index do |content, index|
63
- puts "%d) Content ID: %d, name: %s, status: %s." % [index + start_index,
52
+ puts "%d) Content ID: %d, name: %s, status: %s." % [
53
+ index + statement.offset,
64
54
  content[:id], content[:name], content[:status]]
65
55
  end
66
56
  end
67
- end while offset < page[:total_result_set_size]
57
+ statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
58
+ end while statement.offset < page[:total_result_set_size]
68
59
 
69
60
  # Print a footer
70
61
  if page.include?(:total_result_set_size)
@@ -28,9 +28,9 @@
28
28
  # Tags: CustomTargetingService.getCustomTargetingValuesByStatement
29
29
 
30
30
  require 'dfp_api'
31
+ require 'dfp_api_statement'
31
32
 
32
- API_VERSION = :v201405
33
- PAGE_SIZE = 500
33
+ API_VERSION = :v201505
34
34
 
35
35
  def get_content_by_statement()
36
36
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -52,22 +52,23 @@ def get_content_by_statement()
52
52
  custom_targeting_service = dfp.service(:CustomTargetingService, API_VERSION)
53
53
 
54
54
  # Create a statement to select the categories matching the name comedy.
55
- statement = {
56
- :query => 'WHERE customTargetingKeyId = :targeting_key_id' +
57
- ' and name = :category LIMIT 1',
58
- :values => [
55
+ statement = DfpApiStatement::FilterStatement.new(
56
+ 'WHERE customTargetingKeyId = :targeting_key_id' +
57
+ ' and name = :category ORDER BY id ASC',
58
+ [
59
59
  {:key => 'targeting_key_id',
60
60
  :value => {:value => content_browse_custom_targeting_key_id,
61
61
  :xsi_type => 'NumberValue'}},
62
62
  {:key => 'category',
63
63
  :value => {:value => 'comedy',
64
64
  :xsi_type => 'TextValue'}},
65
- ]
66
- }
65
+ ],
66
+ 1
67
+ )
67
68
 
68
69
  # Get categories matching the filter statement.
69
70
  page = custom_targeting_service.get_custom_targeting_values_by_statement(
70
- statement)
71
+ statement.toStatement())
71
72
 
72
73
  # Get the custom targeting value ID for the comedy category.
73
74
  if page[:results]
@@ -76,40 +77,29 @@ def get_content_by_statement()
76
77
  # Get the ContentService.
77
78
  content_service = dfp.service(:ContentService, API_VERSION)
78
79
 
79
- # Define initial values.
80
- offset = 0
81
- page = {}
82
-
83
- statement_text = 'WHERE status = :status'
84
- statement = {
85
- :query => statement_text,
86
- :values => [
80
+ statement = DfpApiStatement::FilterStatement.new(
81
+ 'WHERE status = :status ORDER BY id ASC',
82
+ [
87
83
  {:key => 'status',
88
84
  :value => {:value => 'ACTIVE', :xsi_type => 'TextValue'}}
89
85
  ]
90
- }
86
+ )
91
87
 
92
88
  begin
93
- # Create a statement to get one page with current offset.
94
- statement[:query] = statement_text +
95
- " LIMIT %d OFFSET %d" % [PAGE_SIZE, offset]
96
-
97
89
  # Get content by statement.
98
90
  page =
99
91
  content_service.get_content_by_statement_and_custom_targeting_value(
100
- statement, category_custom_targeting_value_id)
92
+ statement.toStatement(), category_custom_targeting_value_id)
101
93
 
102
94
  if page[:results]
103
- # Increase query offset by page size.
104
- offset += PAGE_SIZE
105
-
106
95
  page[:results].each_with_index do |content, index|
107
96
  puts "%d) Content ID: %d, name: %s, status: %s." %
108
- [index + start_index, content[:id], content[:name],
97
+ [index + statement.offset, content[:id], content[:name],
109
98
  content[:status]]
110
99
  end
111
100
  end
112
- end while offset < page[:total_result_set_size]
101
+ statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
102
+ end while statement.offset < page[:total_result_set_size]
113
103
 
114
104
  # Print a footer.
115
105
  if page.include?(:total_result_set_size)
@@ -25,10 +25,10 @@
25
25
  # Tags: CreativeService.getCreativesByStatement, CreativeService.createCreatives
26
26
 
27
27
  require 'dfp_api'
28
-
28
+ require 'dfp_api_statement'
29
29
  require 'base64'
30
30
 
31
- API_VERSION = :v201405
31
+ API_VERSION = :v201505
32
32
 
33
33
  def copy_image_creatives()
34
34
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -50,17 +50,17 @@ def copy_image_creatives()
50
50
  ]
51
51
 
52
52
  # Create the statement to filter image creatives by ID.
53
- statement = {
54
- :query => "WHERE id IN (%s) AND creativeType = :creative_type" %
53
+ statement = DfpApiStatement::FilterStatement.new(
54
+ "WHERE id IN (%s) AND creativeType = :creative_type" %
55
55
  image_creative_ids.join(', '),
56
- :values => [
56
+ [
57
57
  {:key => 'creative_type',
58
58
  :value => {:value => 'ImageCreative', :xsi_type => 'TextValue'}}
59
59
  ]
60
- }
60
+ )
61
61
 
62
62
  # Get creatives by statement.
63
- page = creative_service.get_creatives_by_statement(statement)
63
+ page = creative_service.get_creatives_by_statement(statement.toStatement())
64
64
 
65
65
  if page[:results]
66
66
  creatives = page[:results]