google-dfp-api 0.9.4 → 0.9.5
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +4 -0
- data/README.md +1 -3
- data/dfp_api.yml +1 -9
- data/examples/v201408/report_service/run_sales_report.rb +3 -3
- data/examples/v201411/report_service/run_sales_report.rb +3 -3
- data/examples/v201502/report_service/run_sales_report.rb +3 -3
- data/examples/{v201405 → v201505}/activity_group_service/create_activity_groups.rb +1 -1
- data/examples/{v201405 → v201505}/activity_group_service/get_active_activity_groups.rb +18 -27
- data/examples/{v201405 → v201505}/activity_group_service/get_all_activity_groups.rb +13 -23
- data/examples/{v201405 → v201505}/activity_group_service/update_activity_groups.rb +11 -9
- data/examples/{v201405 → v201505}/activity_service/create_activities.rb +1 -1
- data/examples/{v201405 → v201505}/activity_service/get_active_activities.rb +15 -27
- data/examples/{v201405 → v201505}/activity_service/get_all_activities.rb +10 -21
- data/examples/{v201405 → v201505}/activity_service/update_activities.rb +9 -7
- data/examples/{v201405 → v201505}/audience_segment_service/create_audience_segments.rb +1 -1
- data/examples/{v201405 → v201505}/audience_segment_service/get_all_audience_segments.rb +10 -19
- data/examples/{v201405 → v201505}/audience_segment_service/get_first_party_audience_segments.rb +14 -21
- data/examples/{v201405 → v201505}/audience_segment_service/populate_first_party_audience_segments.rb +16 -14
- data/examples/{v201405 → v201505}/audience_segment_service/update_audience_segments.rb +12 -11
- data/examples/{v201405 → v201505}/common/error_handling.rb +1 -1
- data/examples/{v201405 → v201505}/common/oauth2_jwt_handling.rb +9 -17
- data/examples/{v201405 → v201505}/common/setup_oauth2.rb +1 -1
- data/examples/{v201405 → v201505}/company_service/create_companies.rb +1 -1
- data/examples/{v201405 → v201505}/company_service/get_all_companies.rb +10 -18
- data/examples/{v201405 → v201505}/company_service/get_companies_by_statement.rb +21 -16
- data/examples/{v201405 → v201505}/company_service/update_companies.rb +13 -10
- data/examples/{v201405 → v201505}/contact_service/create_contacts.rb +1 -1
- data/examples/{v201405 → v201505}/contact_service/get_all_contacts.rb +11 -19
- data/examples/{v201405 → v201505}/contact_service/get_uninvited_contacts.rb +18 -22
- data/examples/{v201405 → v201505}/contact_service/update_contacts.rb +9 -7
- data/examples/{v201405 → v201505}/content_metadata_key_hierarchy_service/create_content_metadata_key_hierarchies.rb +1 -1
- data/examples/{v201405 → v201505}/content_metadata_key_hierarchy_service/delete_content_metadata_key_hierarchies.rb +11 -8
- data/examples/{v201405 → v201505}/content_metadata_key_hierarchy_service/get_all_content_metadata_key_hierarchies.rb +8 -18
- data/examples/{v201405 → v201505}/content_metadata_key_hierarchy_service/update_content_metadata_key_hierarchies.rb +9 -7
- data/examples/{v201405 → v201505}/content_service/get_all_content.rb +9 -18
- data/examples/{v201405 → v201505}/content_service/get_content_by_category.rb +18 -28
- data/examples/{v201405 → v201505}/creative_service/copy_image_creatives.rb +7 -7
- data/examples/{v201405 → v201505}/creative_service/create_creative_from_template.rb +1 -1
- data/examples/{v201405 → v201505}/creative_service/create_creatives.rb +1 -1
- data/examples/{v201405 → v201505}/creative_service/create_custom_creative.rb +1 -1
- data/examples/{v201405 → v201505}/creative_service/get_all_creatives.rb +8 -17
- data/examples/{v201405 → v201505}/creative_service/get_creatives_by_statement.rb +18 -13
- data/examples/{v201405 → v201505}/creative_service/update_creatives.rb +16 -11
- data/examples/{v201405 → v201505}/creative_set_service/associate_creative_set_to_line_item.rb +1 -1
- data/examples/{v201405 → v201505}/creative_set_service/create_creative_set.rb +1 -1
- data/examples/{v201405 → v201505}/creative_set_service/get_all_creative_sets.rb +9 -17
- data/examples/{v201405 → v201505}/creative_set_service/get_creative_sets_by_statement.rb +20 -14
- data/examples/{v201405 → v201505}/creative_set_service/update_creative_sets.rb +10 -7
- data/examples/{v201405 → v201505}/creative_template_service/get_all_creative_templates.rb +9 -17
- data/examples/{v201405/creative_template_service/get_creative_templates_by_statement.rb → v201505/creative_template_service/get_system_defined_creative_templates.rb} +24 -13
- data/examples/{v201405 → v201505}/creative_wrapper_service/create_creative_wrappers.rb +1 -1
- data/examples/{v201405 → v201505}/creative_wrapper_service/deactivate_creative_wrapper.rb +9 -7
- data/examples/{v201405 → v201505}/creative_wrapper_service/get_all_creative_wrappers.rb +10 -18
- data/examples/{v201405 → v201505}/creative_wrapper_service/get_creative_wrappers_by_statement.rb +17 -12
- data/examples/{v201405 → v201505}/creative_wrapper_service/update_creative_wrappers.rb +10 -7
- data/examples/{v201405 → v201505}/custom_field_service/create_custom_field_options.rb +1 -1
- data/examples/{v201405 → v201505}/custom_field_service/create_custom_fields.rb +1 -1
- data/examples/{v201405 → v201505}/custom_field_service/deactivate_all_line_item_custom_fields.rb +13 -23
- data/examples/{v201405 → v201505}/custom_field_service/get_all_custom_fields.rb +11 -19
- data/examples/{v201405 → v201505}/custom_field_service/get_all_line_item_custom_fields.rb +19 -14
- data/examples/{v201405 → v201505}/custom_field_service/set_line_item_custom_field_value.rb +24 -19
- data/examples/{v201405 → v201505}/custom_field_service/update_custom_fields.rb +10 -7
- data/examples/{v201405 → v201505}/custom_targeting_service/create_custom_targeting_keys_and_values.rb +1 -1
- data/examples/{v201405 → v201505}/custom_targeting_service/delete_custom_targeting_keys.rb +16 -20
- data/examples/{v201405 → v201505}/custom_targeting_service/delete_custom_targeting_values.rb +23 -21
- data/examples/{v201405 → v201505}/custom_targeting_service/get_all_custom_targeting_keys_and_values.rb +15 -36
- data/examples/{v201405 → v201505}/custom_targeting_service/get_custom_targeting_keys_by_statement.rb +20 -16
- data/examples/{v201405 → v201505}/custom_targeting_service/get_custom_targeting_values_by_statement.rb +19 -15
- data/examples/{v201405 → v201505}/custom_targeting_service/update_custom_targeting_keys.rb +4 -3
- data/examples/{v201405 → v201505}/custom_targeting_service/update_custom_targeting_values.rb +34 -30
- data/examples/{v201405/forecast_service/get_forecast.rb → v201505/forecast_service/get_availability_forecast.rb} +38 -16
- data/examples/{v201405/forecast_service/get_forecast_by_id.rb → v201505/forecast_service/get_availability_forecast_for_line_item.rb} +18 -11
- data/examples/v201505/forecast_service/get_delivery_forecast_for_line_items.rb +81 -0
- data/examples/{v201405 → v201505}/inventory_service/create_ad_units.rb +1 -1
- data/examples/{v201405 → v201505}/inventory_service/create_mobile_ad_unit.rb +1 -1
- data/examples/{v201405 → v201505}/inventory_service/create_video_ad_unit.rb +1 -1
- data/examples/{v201405 → v201505}/inventory_service/deactivate_ad_units.rb +19 -23
- data/examples/{v201405 → v201505}/inventory_service/get_ad_unit_sizes.rb +7 -14
- data/examples/{v201405 → v201505}/inventory_service/get_ad_units_by_statement.rb +18 -13
- data/examples/{v201405 → v201505}/inventory_service/get_all_ad_units.rb +8 -17
- data/examples/{v201405 → v201505}/inventory_service/update_ad_units.rb +23 -11
- data/examples/{v201405 → v201505}/label_service/create_labels.rb +1 -1
- data/examples/{v201405 → v201505}/label_service/deactivate_labels.rb +15 -22
- data/examples/{v201405 → v201505}/label_service/get_all_labels.rb +9 -18
- data/examples/{v201405 → v201505}/label_service/get_labels_by_statement.rb +16 -11
- data/examples/{v201405 → v201505}/label_service/update_labels.rb +24 -26
- data/examples/{v201405 → v201505}/line_item_creative_association_service/create_licas.rb +1 -1
- data/examples/{v201405 → v201505}/line_item_creative_association_service/deactivate_licas.rb +15 -24
- data/examples/{v201405 → v201505}/line_item_creative_association_service/get_all_licas.rb +8 -17
- data/examples/{v201405 → v201505}/line_item_creative_association_service/get_licas_by_statement.rb +10 -8
- data/examples/{v201405 → v201505}/line_item_creative_association_service/update_licas.rb +16 -7
- data/examples/{v201405 → v201505}/line_item_service/activate_line_items.rb +13 -21
- data/examples/{v201405 → v201505}/line_item_service/create_line_items.rb +11 -4
- data/examples/{v201405 → v201505}/line_item_service/create_video_line_item.rb +13 -3
- data/examples/{v201405 → v201505}/line_item_service/get_all_line_items.rb +9 -17
- data/examples/{v201405 → v201505}/line_item_service/get_line_items_by_statement.rb +19 -17
- data/examples/{v201405 → v201505}/line_item_service/get_recently_updated_line_items.rb +19 -13
- data/examples/{v201405 → v201505}/line_item_service/target_custom_criteria.rb +9 -7
- data/examples/{v201405 → v201505}/line_item_service/update_line_items.rb +9 -9
- data/examples/{v201405 → v201505}/network_service/get_all_networks.rb +1 -1
- data/examples/{v201405 → v201505}/network_service/get_current_network.rb +1 -1
- data/examples/{v201405 → v201505}/network_service/make_test_network.rb +1 -1
- data/examples/{v201405 → v201505}/order_service/approve_orders.rb +16 -24
- data/examples/{v201405 → v201505}/order_service/create_orders.rb +1 -1
- data/examples/{v201405 → v201505}/order_service/get_all_orders.rb +8 -17
- data/examples/{v201405 → v201505}/order_service/get_orders_by_statement.rb +18 -14
- data/examples/{v201405 → v201505}/order_service/update_orders.rb +15 -7
- data/examples/{v201405 → v201505}/placement_service/create_placements.rb +4 -2
- data/examples/{v201405 → v201505}/placement_service/deactivate_placements.rb +14 -22
- data/examples/{v201405 → v201505}/placement_service/get_all_placements.rb +9 -17
- data/examples/{v201405 → v201505}/placement_service/get_placements_by_statement.rb +18 -13
- data/examples/{v201405 → v201505}/placement_service/update_placements.rb +16 -6
- data/examples/{v201405 → v201505}/publisher_query_language_service/fetch_match_tables.rb +8 -11
- data/examples/{v201405 → v201505}/publisher_query_language_service/get_all_line_items.rb +8 -9
- data/examples/{v201405 → v201505}/publisher_query_language_service/get_geo_targets.rb +10 -10
- data/examples/{v201405 → v201505}/publisher_query_language_service/get_line_items_named_like.rb +10 -10
- data/examples/{v201405 → v201505}/report_service/display_report.rb +1 -1
- data/examples/{v201405 → v201505}/report_service/download_report.rb +1 -1
- data/examples/{v201405 → v201505}/report_service/run_delivery_report.rb +6 -5
- data/examples/{v201405 → v201505}/report_service/run_inventory_report.rb +6 -5
- data/examples/{v201405 → v201505}/report_service/run_reach_report.rb +6 -5
- data/examples/{v201405/report_service/run_merged_delivery_report.rb → v201505/report_service/run_report_with_custom_fields.rb} +17 -18
- data/examples/{v201405 → v201505}/report_service/run_sales_report.rb +6 -5
- data/examples/{v201405 → v201505}/suggested_ad_unit_service/approve_all_suggested_ad_units.rb +25 -21
- data/examples/{v201405 → v201505}/suggested_ad_unit_service/get_all_suggested_ad_units.rb +9 -18
- data/examples/{v201405 → v201505}/suggested_ad_unit_service/get_suggested_ad_units_by_statement.rb +24 -21
- data/examples/{v201405 → v201505}/team_service/create_teams.rb +1 -1
- data/examples/{v201405 → v201505}/team_service/get_all_teams.rb +8 -17
- data/examples/{v201405 → v201505}/team_service/get_teams_by_statement.rb +15 -11
- data/examples/{v201405 → v201505}/team_service/update_teams.rb +4 -3
- data/examples/{v201405 → v201505}/user_service/create_users.rb +1 -1
- data/examples/{v201405 → v201505}/user_service/deactivate_users.rb +7 -7
- data/examples/{v201405 → v201505}/user_service/get_all_roles.rb +1 -1
- data/examples/{v201405 → v201505}/user_service/get_all_users.rb +8 -18
- data/examples/{v201405 → v201505}/user_service/get_current_user.rb +1 -1
- data/examples/{v201405 → v201505}/user_service/get_users_by_statement.rb +17 -12
- data/examples/{v201405 → v201505}/user_service/update_users.rb +15 -6
- data/examples/{v201405 → v201505}/user_team_association_service/create_user_team_associations.rb +1 -1
- data/examples/{v201405 → v201505}/user_team_association_service/delete_user_team_associations.rb +13 -21
- data/examples/{v201405 → v201505}/user_team_association_service/get_all_user_team_associations.rb +10 -17
- data/examples/{v201405 → v201505}/user_team_association_service/get_user_team_associations_by_statement.rb +20 -16
- data/examples/{v201405 → v201505}/user_team_association_service/update_user_team_associations.rb +8 -7
- data/lib/dfp_api/api_config.rb +27 -4
- data/lib/dfp_api/v201505/activity_group_service.rb +42 -0
- data/lib/dfp_api/v201505/activity_group_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/activity_service.rb +42 -0
- data/lib/dfp_api/v201505/activity_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/ad_exclusion_rule_service.rb +46 -0
- data/lib/dfp_api/v201505/ad_exclusion_rule_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/ad_rule_service.rb +46 -0
- data/lib/dfp_api/v201505/ad_rule_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/audience_segment_service.rb +46 -0
- data/lib/dfp_api/v201505/audience_segment_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/base_rate_service.rb +46 -0
- data/lib/dfp_api/v201505/base_rate_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/company_service.rb +42 -0
- data/lib/dfp_api/v201505/company_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/contact_service.rb +42 -0
- data/lib/dfp_api/v201505/contact_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/content_bundle_service.rb +46 -0
- data/lib/dfp_api/v201505/content_bundle_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/content_metadata_key_hierarchy_service.rb +46 -0
- data/lib/dfp_api/v201505/content_metadata_key_hierarchy_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/content_service.rb +38 -0
- data/lib/dfp_api/v201505/content_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/creative_service.rb +42 -0
- data/lib/dfp_api/v201505/creative_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/creative_set_service.rb +42 -0
- data/lib/dfp_api/v201505/creative_set_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/creative_template_service.rb +34 -0
- data/lib/dfp_api/v201505/creative_template_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/creative_wrapper_service.rb +46 -0
- data/lib/dfp_api/v201505/creative_wrapper_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/custom_field_service.rb +58 -0
- data/lib/dfp_api/v201505/custom_field_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/custom_targeting_service.rb +62 -0
- data/lib/dfp_api/v201505/custom_targeting_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/exchange_rate_service.rb +46 -0
- data/lib/dfp_api/v201505/exchange_rate_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/forecast_service.rb +46 -0
- data/lib/dfp_api/v201505/forecast_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/inventory_service.rb +50 -0
- data/lib/dfp_api/v201505/inventory_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/label_service.rb +46 -0
- data/lib/dfp_api/v201505/label_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/line_item_creative_association_service.rb +50 -0
- data/lib/dfp_api/v201505/line_item_creative_association_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/line_item_service.rb +46 -0
- data/lib/dfp_api/v201505/line_item_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/line_item_template_service.rb +34 -0
- data/lib/dfp_api/v201505/line_item_template_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/live_stream_event_service.rb +46 -0
- data/lib/dfp_api/v201505/live_stream_event_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/network_service.rb +46 -0
- data/lib/dfp_api/v201505/network_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/order_service.rb +46 -0
- data/lib/dfp_api/v201505/order_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/package_service.rb +46 -0
- data/lib/dfp_api/v201505/package_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/placement_service.rb +46 -0
- data/lib/dfp_api/v201505/placement_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/premium_rate_service.rb +42 -0
- data/lib/dfp_api/v201505/premium_rate_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/product_package_item_service.rb +46 -0
- data/lib/dfp_api/v201505/product_package_item_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/product_package_service.rb +46 -0
- data/lib/dfp_api/v201505/product_package_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/product_service.rb +42 -0
- data/lib/dfp_api/v201505/product_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/product_template_service.rb +46 -0
- data/lib/dfp_api/v201505/product_template_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/proposal_line_item_service.rb +46 -0
- data/lib/dfp_api/v201505/proposal_line_item_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/proposal_service.rb +46 -0
- data/lib/dfp_api/v201505/proposal_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/publisher_query_language_service.rb +34 -0
- data/lib/dfp_api/v201505/publisher_query_language_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/rate_card_service.rb +46 -0
- data/lib/dfp_api/v201505/rate_card_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/reconciliation_order_report_service.rb +38 -0
- data/lib/dfp_api/v201505/reconciliation_order_report_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/reconciliation_report_row_service.rb +38 -0
- data/lib/dfp_api/v201505/reconciliation_report_row_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/reconciliation_report_service.rb +38 -0
- data/lib/dfp_api/v201505/reconciliation_report_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/report_service.rb +46 -0
- data/lib/dfp_api/v201505/report_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/shared_ad_unit_service.rb +38 -0
- data/lib/dfp_api/v201505/shared_ad_unit_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/suggested_ad_unit_service.rb +38 -0
- data/lib/dfp_api/v201505/suggested_ad_unit_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/team_service.rb +42 -0
- data/lib/dfp_api/v201505/team_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/user_service.rb +54 -0
- data/lib/dfp_api/v201505/user_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/user_team_association_service.rb +46 -0
- data/lib/dfp_api/v201505/user_team_association_service_registry.rb +45 -0
- data/lib/dfp_api/v201505/workflow_request_service.rb +38 -0
- data/lib/dfp_api/v201505/workflow_request_service_registry.rb +45 -0
- data/lib/dfp_api/version.rb +1 -1
- data/test/bugs/test_issue_00000016.rb +1 -1
- data/test/dfp_api/test_config.yml +6 -5
- data/test/dfp_api/test_dfp_api.rb +32 -32
- metadata +234 -140
- data/examples/v201405/creative_template_service/get_creative_template.rb +0 -74
- data/examples/v201405/report_service/run_report_with_custom_fields.rb +0 -135
- 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 = :
|
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
|
-
#
|
42
|
-
|
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(
|
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
|
62
|
-
|
51
|
+
puts "%d) Contact ID: %d, name: '%s'" %
|
52
|
+
[index + statement.offset,
|
53
|
+
contact[:id], contact[:name]]
|
63
54
|
end
|
64
55
|
end
|
65
|
-
|
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 = :
|
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
|
-
|
56
|
-
|
57
|
-
|
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(
|
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
|
72
|
-
|
65
|
+
puts "%d) Contact ID: %d, name: '%s'" %
|
66
|
+
[index + statement.offset,
|
67
|
+
contact[:id], contact[:name]]
|
73
68
|
end
|
74
69
|
end
|
75
|
-
|
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 = :
|
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
|
-
|
46
|
-
|
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,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 = :
|
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
|
-
|
49
|
-
|
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'},
|
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 = :
|
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
|
-
#
|
44
|
-
|
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 +
|
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
|
-
|
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 = :
|
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
|
-
|
53
|
-
|
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
|
-
|
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 = :
|
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
|
-
#
|
44
|
-
|
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." % [
|
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
|
-
|
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 = :
|
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
|
-
|
57
|
-
|
58
|
-
|
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
|
-
|
80
|
-
|
81
|
-
|
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 +
|
97
|
+
[index + statement.offset, content[:id], content[:name],
|
109
98
|
content[:status]]
|
110
99
|
end
|
111
100
|
end
|
112
|
-
|
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 = :
|
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
|
-
|
53
|
+
statement = DfpApiStatement::FilterStatement.new(
|
54
|
+
"WHERE id IN (%s) AND creativeType = :creative_type" %
|
55
55
|
image_creative_ids.join(', '),
|
56
|
-
|
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]
|