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.
- 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]
|