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,9 +24,9 @@
24
24
  # Tags: PlacementService.getPlacementsByStatement
25
25
 
26
26
  require 'dfp_api'
27
+ require 'dfp_api_statement'
27
28
 
28
- API_VERSION = :v201405
29
- PAGE_SIZE = 500
29
+ API_VERSION = :v201505
30
30
 
31
31
  def get_all_placements()
32
32
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -39,31 +39,23 @@ def get_all_placements()
39
39
  # Get the PlacementService.
40
40
  placement_service = dfp.service(:PlacementService, API_VERSION)
41
41
 
42
- # Define initial values.
43
- offset = 0
44
- page = {}
42
+ # Create statement for placements ordered by ID.
43
+ statement = DfpApiStatement::FilterStatement.new('ORDER BY id ASC')
45
44
 
46
45
  begin
47
- # Create statement for one page with current offset.
48
- statement = {:query => "LIMIT %d OFFSET %d" % [PAGE_SIZE, offset]}
49
-
50
46
  # Get placements by statement.
51
- page = placement_service.get_placements_by_statement(statement)
47
+ page = placement_service.get_placements_by_statement(
48
+ statement.toStatement())
52
49
 
53
50
  if page[:results]
54
- # Increase query offset by page size.
55
- offset += PAGE_SIZE
56
-
57
- # Get the start index for printout.
58
- start_index = page[:start_index]
59
-
60
51
  # Print details about each placement in results page.
61
52
  page[:results].each_with_index do |placement, index|
62
53
  puts "%d) Placement ID: %d, name: %s." %
63
- [index + start_index, placement[:id], placement[:name]]
54
+ [index + statement.offset, placement[:id], placement[:name]]
64
55
  end
65
56
  end
66
- 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]
67
59
 
68
60
  # Print a footer
69
61
  if page.include?(:total_result_set_size)
@@ -18,15 +18,15 @@
18
18
  # See the License for the specific language governing permissions and
19
19
  # limitations under the License.
20
20
  #
21
- # This example gets all active placements. The statement retrieves up to the
22
- # maximum page size limit of 500. To create a placement, run
21
+ # This example gets all active placements. To create a placement, run
23
22
  # create_placements.rb.
24
23
  #
25
24
  # Tags: PlacementService.getPlacementsByStatement
26
25
 
27
26
  require 'dfp_api'
27
+ require 'dfp_api_statement'
28
28
 
29
- API_VERSION = :v201405
29
+ API_VERSION = :v201505
30
30
 
31
31
  def get_placements_by_statement()
32
32
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -40,23 +40,28 @@ def get_placements_by_statement()
40
40
  placement_service = dfp.service(:PlacementService, API_VERSION)
41
41
 
42
42
  # Create a statement to only select active placements.
43
- statement = {
44
- :query => 'WHERE status = :status LIMIT 500',
45
- :values => [
43
+ statement = DfpApiStatement::FilterStatement.new(
44
+ 'WHERE status = :status ORDER BY id ASC',
45
+ [
46
46
  {:key => 'status',
47
47
  :value => {:value => 'ACTIVE', :xsi_type => 'TextValue'}}
48
48
  ]
49
49
  }
50
50
 
51
- # Get placements by statement.
52
- page = placement_service.get_placements_by_statement(statement)
51
+ begin
52
+ # Get placements by statement.
53
+ page = placement_service.get_placements_by_statement(
54
+ statement.toStatement())
53
55
 
54
- if page and page[:results]
55
- page[:results].each_with_index do |placement, index|
56
- puts "%d) Placement ID: %d, name: %s, status: %s." % [index,
57
- placement[:id], placement[:name], placement[:status]]
56
+ if page and page[:results]
57
+ page[:results].each_with_index do |placement, index|
58
+ puts "%d) Placement ID: %d, name: %s, status: %s." % [
59
+ index + statement.offset,
60
+ placement[:id], placement[:name], placement[:status]]
61
+ end
58
62
  end
59
- end
63
+ statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
64
+ end while statement.offset < page[:total_result_set_size]
60
65
 
61
66
  # Print a footer.
62
67
  if page.include?(:total_result_set_size)
@@ -18,15 +18,16 @@
18
18
  # See the License for the specific language governing permissions and
19
19
  # limitations under the License.
20
20
  #
21
- # This example updates all placements to allow for AdSense targeting up to the
22
- # first 500. To determine which placements exist, run get_all_placements.rb.
21
+ # This example updates a single placement to allow for AdSense targeting.
22
+ # To determine which placements exist, run get_all_placements.rb.
23
23
  #
24
24
  # Tags: PlacementService.getPlacementsByStatement
25
25
  # Tags: PlacementService.updatePlacements
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 update_placements()
32
33
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -39,11 +40,20 @@ def update_placements()
39
40
  # Get the PlacementService.
40
41
  placement_service = dfp.service(:PlacementService, API_VERSION)
41
42
 
42
- # Create a statement to get first 500 placements.
43
- statement = {:query => 'LIMIT 500'}
43
+ placement_id = 'INSERT_PLACEMENT_ID_HERE'.to_i
44
+
45
+ # Create a statement to get a single placement by ID.
46
+ statement = DfpApiStatement::FilterStatement.new(
47
+ 'WHERE id = :id ORDER BY id ASC',
48
+ [
49
+ {:key => 'id',
50
+ :value => {:value => placement_id, :xsi_type => 'NumberValue'}}
51
+ ],
52
+ 1
53
+ )
44
54
 
45
55
  # Get placements by statement.
46
- page = placement_service.get_placements_by_statement(statement)
56
+ page = placement_service.get_placements_by_statement(statement.toStatement())
47
57
 
48
58
  if page[:results]
49
59
  placements = page[:results]
@@ -23,18 +23,18 @@
23
23
  #
24
24
  # A full list of available tables can be found at:
25
25
  #
26
- # https://developers.google.com/doubleclick-publishers/docs/reference/v201405/PublisherQueryLanguageService
26
+ # https://developers.google.com/doubleclick-publishers/docs/reference/v201505/PublisherQueryLanguageService
27
27
  #
28
28
  # Tags: PublisherQueryLanguageService.select
29
29
 
30
30
  require 'tempfile'
31
31
 
32
32
  require 'dfp_api'
33
+ require 'dfp_api_statement'
33
34
 
34
- API_VERSION = :v201405
35
+ API_VERSION = :v201505
35
36
  # A string to separate columns in output. Use "," to get CSV.
36
37
  COLUMN_SEPARATOR = ','
37
- PAGE_SIZE = 500
38
38
 
39
39
  def fetch_match_tables()
40
40
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -59,19 +59,16 @@ end
59
59
  # Fetches a match table from a PQL statement and writes it to a file.
60
60
  def fetch_match_table(table_name, pql_service)
61
61
  # Create a statement to select all items for the table.
62
- statement_text = ('SELECT Id, Name, Status FROM %s ' % table_name) +
63
- 'ORDER BY Id ASC LIMIT %d OFFSET %d'
62
+ statement = DfpApiStatement::FilterStatement.new(
63
+ 'SELECT Id, Name, Status FROM %s ' % table_name + 'ORDER BY Id ASC')
64
64
 
65
65
  # Set initial values.
66
- offset = 0
67
66
  file_path = '%s.csv' % table_name
68
67
 
69
68
  open(file_path, 'wb') do |file|
70
69
  file_path = file.path()
71
70
  begin
72
- # Create statement for a page.
73
- statement = {:query => statement_text % [PAGE_SIZE, offset]}
74
- result_set = pql_service.select(statement)
71
+ result_set = pql_service.select(statement.toStatement())
75
72
 
76
73
  if result_set
77
74
  # Only write column names if the first page.
@@ -86,8 +83,8 @@ def fetch_match_table(table_name, pql_service)
86
83
  end
87
84
  end
88
85
  # Update the counters.
89
- offset += PAGE_SIZE
90
- end while result_set[:rows].size == PAGE_SIZE
86
+ statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
87
+ end while result_set[:rows].size == DfpApiStatement::SUGGESTED_PAGE_LIMIT
91
88
  end
92
89
  return file_path
93
90
  end
@@ -26,11 +26,11 @@
26
26
  # Tags: PublisherQueryLanguageService.select
27
27
 
28
28
  require 'dfp_api'
29
+ require 'dfp_api_statement'
29
30
 
30
- API_VERSION = :v201405
31
+ API_VERSION = :v201505
31
32
  # A string to separate columns in output. Use "," to get CSV.
32
33
  COLUMN_SEPARATOR = "\t"
33
- PAGE_SIZE = 500
34
34
 
35
35
  def get_all_line_items()
36
36
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -44,16 +44,15 @@ def get_all_line_items()
44
44
  pql_service = dfp.service(:PublisherQueryLanguageService, API_VERSION)
45
45
 
46
46
  # Statement parts to help build a statement to select all line items.
47
- statement_text = 'SELECT Id, Name, Status FROM Line_Item LIMIT %d OFFSET %d'
47
+ statement = DfpApiStatement::FilterStatement.new(
48
+ 'SELECT Id, Name, Status FROM Line_Item ORDER BY Id ASC')
48
49
 
49
50
  # Set initial values for paging.
50
- offset, result_set, all_rows = 0, nil, 0
51
+ result_set, all_rows = nil, 0
51
52
 
52
53
  # Get all line items with paging.
53
54
  begin
54
- # Create statement for a page.
55
- statement = {:query => statement_text % [PAGE_SIZE, offset]}
56
- result_set = pql_service.select(statement)
55
+ result_set = pql_service.select(statement.toStatement())
57
56
 
58
57
  if result_set
59
58
  # Print out columns header.
@@ -68,9 +67,9 @@ def get_all_line_items()
68
67
  end
69
68
 
70
69
  # Update the counters.
71
- offset += PAGE_SIZE
70
+ statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
72
71
  all_rows += result_set[:rows].size
73
- end while result_set[:rows].size == PAGE_SIZE
72
+ end while result_set[:rows].size == DfpApiStatement::SUGGESTED_PAGE_LIMIT
74
73
 
75
74
  # Print a footer.
76
75
  if result_set[:rows]
@@ -18,7 +18,7 @@
18
18
  # See the License for the specific language governing permissions and
19
19
  # limitations under the License.
20
20
  #
21
- # This example gets first 500 cities available to target. A full list of
21
+ # This example gets all cities available to target. A full list of
22
22
  # available PQL tables can be found at:
23
23
  #
24
24
  # https://developers.google.com/doubleclick-publishers/docs/reference/latest/PublisherQueryLanguageService
@@ -26,11 +26,11 @@
26
26
  # Tags: PublisherQueryLanguageService.select
27
27
 
28
28
  require 'dfp_api'
29
+ require 'dfp_api_statement'
29
30
 
30
- API_VERSION = :v201405
31
+ API_VERSION = :v201505
31
32
  # A string to separate columns in output. Use "," to get CSV.
32
33
  COLUMN_SEPARATOR = "\t"
33
- PAGE_SIZE = 500
34
34
 
35
35
  def get_geo_targets()
36
36
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -46,16 +46,16 @@ def get_geo_targets()
46
46
  # Create a statement to select all targetable cities.
47
47
  statement_text = "SELECT Id, Name, CanonicalParentId, ParentIds, " +
48
48
  "CountryCode, Type, Targetable FROM Geo_Target WHERE Type = 'City' " +
49
- "AND Targetable = true LIMIT %d OFFSET %d"
49
+ "AND Targetable = true ORDER BY Id ASC"
50
+
51
+ statement = DfpApiStatement::FilterStatement.new(statement_text)
50
52
 
51
53
  # Set initial values for paging.
52
- offset, result_set, all_rows = 0, nil, 0
54
+ result_set, all_rows = nil, 0
53
55
 
54
56
  # Get all cities with paging.
55
57
  begin
56
- # Create statement for a page.
57
- statement = {:query => statement_text % [PAGE_SIZE, offset]}
58
- result_set = pql_service.select(statement)
58
+ result_set = pql_service.select(statement.toStatement())
59
59
 
60
60
  if result_set
61
61
  # Print out columns header.
@@ -70,9 +70,9 @@ def get_geo_targets()
70
70
  end
71
71
 
72
72
  # Update the counters.
73
- offset += PAGE_SIZE
73
+ statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
74
74
  all_rows += result_set[:rows].size
75
- end while result_set[:rows].size == PAGE_SIZE
75
+ end while result_set[:rows].size == DfpApiStatement::SUGGESTED_PAGE_LIMIT
76
76
 
77
77
  # Print a footer.
78
78
  if result_set[:rows]
@@ -24,11 +24,11 @@
24
24
  # Tags: PublisherQueryLanguageService.select
25
25
 
26
26
  require 'dfp_api'
27
+ require 'dfp_api_statement'
27
28
 
28
- API_VERSION = :v201405
29
+ API_VERSION = :v201505
29
30
  # A string to separate columns in output. Use "," to get CSV.
30
31
  COLUMN_SEPARATOR = "\t"
31
- PAGE_SIZE = 500
32
32
 
33
33
  def get_line_items_named_like()
34
34
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -44,16 +44,16 @@ def get_line_items_named_like()
44
44
  # Create a statement to select all line items matching subtext.
45
45
  statement_text =
46
46
  "SELECT Id, Name, Status FROM Line_Item WHERE Name LIKE 'line item%%' " +
47
- "ORDER BY Id ASC LIMIT %d OFFSET %d"
47
+ "ORDER BY Id ASC"
48
+
49
+ statement = DfpApiStatement::FilterStatement.new(statement_text)
48
50
 
49
51
  # Set initial values for paging.
50
- offset, result_set, all_rows = 0, nil, 0
52
+ result_set, all_rows = nil, 0
51
53
 
52
- # Get all cities starting with "Santa".
54
+ # Get all line items starting with "line item".
53
55
  begin
54
- # Create statement for a page.
55
- statement = {:query => statement_text % [PAGE_SIZE, offset]}
56
- result_set = pql_service.select(statement)
56
+ result_set = pql_service.select(statement.toStatement())
57
57
 
58
58
  if result_set
59
59
  # Print out columns header.
@@ -68,9 +68,9 @@ def get_line_items_named_like()
68
68
  end
69
69
 
70
70
  # Update the counters.
71
- offset += PAGE_SIZE
71
+ statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
72
72
  all_rows += result_set[:rows].size
73
- end while result_set[:rows].size == PAGE_SIZE
73
+ end while result_set[:rows].size == DfpApiStatement::SUGGESTED_PAGE_LIMIT
74
74
 
75
75
  # Print a footer.
76
76
  if result_set[:rows]
@@ -28,7 +28,7 @@ require 'dfp_api'
28
28
 
29
29
  require 'open-uri'
30
30
 
31
- API_VERSION = :v201405
31
+ API_VERSION = :v201505
32
32
 
33
33
  def display_report()
34
34
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -27,7 +27,7 @@ require 'dfp_api'
27
27
 
28
28
  require 'open-uri'
29
29
 
30
- API_VERSION = :v201405
30
+ API_VERSION = :v201505
31
31
 
32
32
  def download_report()
33
33
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -22,11 +22,11 @@
22
22
  # with additional attributes and can filter to include just one order.
23
23
  # To download the report see download_report.rb.
24
24
  #
25
- # Tags: ReportService.runReportJob, ReportService.getReportJob
25
+ # Tags: ReportService.runReportJob, ReportService.getReportJobStatus
26
26
 
27
27
  require 'dfp_api'
28
28
 
29
- API_VERSION = :v201405
29
+ API_VERSION = :v201505
30
30
  MAX_RETRIES = 10
31
31
  RETRY_INTERVAL = 30
32
32
 
@@ -70,15 +70,16 @@ def run_delivery_report()
70
70
 
71
71
  MAX_RETRIES.times do |retry_count|
72
72
  # Get the report job status.
73
- report_job = report_service.get_report_job(report_job[:id])
73
+ report_job_status = report_service.get_report_job_status(report_job[:id])
74
74
 
75
- break unless report_job[:report_job_status] == 'IN_PROGRESS'
75
+ break unless report_job_status == 'IN_PROGRESS'
76
76
  puts "Report with ID: %d is still running." % report_job[:id]
77
77
  sleep(RETRY_INTERVAL)
78
78
  end
79
79
 
80
80
  puts "Report job with ID: %d finished with status %s." %
81
- [report_job[:id], report_job[:report_job_status]]
81
+ [report_job[:id],
82
+ report_service.get_report_job_status(report_job[:id])]
82
83
  end
83
84
 
84
85
  if __FILE__ == $0
@@ -21,11 +21,11 @@
21
21
  # This example runs a report equal to the "Whole network report" on the DFP
22
22
  # website. To download the report see download_report.rb.
23
23
  #
24
- # Tags: ReportService.runReportJob, ReportService.getReportJob
24
+ # Tags: ReportService.runReportJob, ReportService.getReportJobStatus
25
25
 
26
26
  require 'dfp_api'
27
27
 
28
- API_VERSION = :v201405
28
+ API_VERSION = :v201505
29
29
  MAX_RETRIES = 10
30
30
  RETRY_INTERVAL = 30
31
31
 
@@ -79,15 +79,16 @@ def run_inventory_report()
79
79
 
80
80
  MAX_RETRIES.times do |retry_count|
81
81
  # Get the report job status.
82
- report_job = report_service.get_report_job(report_job[:id])
82
+ report_job_status = report_service.get_report_job_status(report_job[:id])
83
83
 
84
- break unless report_job[:report_job_status] == 'IN_PROGRESS'
84
+ break unless report_job_status == 'IN_PROGRESS'
85
85
  puts "Report with ID: %d is still running." % report_job[:id]
86
86
  sleep(RETRY_INTERVAL)
87
87
  end
88
88
 
89
89
  puts "Report job with ID: %d finished with status %s." %
90
- [report_job[:id], report_job[:report_job_status]]
90
+ [report_job[:id],
91
+ report_service.get_report_job_status(report_job[:id])]
91
92
  end
92
93
 
93
94
  if __FILE__ == $0
@@ -20,11 +20,11 @@
20
20
  # This example runs a reach report. To download the report see
21
21
  # download_report.rb.
22
22
  #
23
- # Tags: ReportService.runReportJob, ReportService.getReportJob
23
+ # Tags: ReportService.runReportJob, ReportService.getReportJobStatus
24
24
 
25
25
  require 'dfp_api'
26
26
 
27
- API_VERSION = :v201405
27
+ API_VERSION = :v201505
28
28
  MAX_RETRIES = 10
29
29
  RETRY_INTERVAL = 30
30
30
 
@@ -54,15 +54,16 @@ def run_reach_report()
54
54
 
55
55
  MAX_RETRIES.times do |retry_count|
56
56
  # Get the report job status.
57
- report_job = report_service.get_report_job(report_job[:id])
57
+ report_job_status = report_service.get_report_job_status(report_job[:id])
58
58
 
59
- break unless report_job[:report_job_status] == 'IN_PROGRESS'
59
+ break unless report_job_status == 'IN_PROGRESS'
60
60
  puts "Report with ID: %d is still running." % report_job[:id]
61
61
  sleep(RETRY_INTERVAL)
62
62
  end
63
63
 
64
64
  puts "Report job with ID: %d finished with status %s." %
65
- [report_job[:id], report_job[:report_job_status]]
65
+ [report_job[:id],
66
+ report_service.get_report_job_status(report_job[:id])]
66
67
  end
67
68
 
68
69
  if __FILE__ == $0