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
|
@@ -24,8 +24,9 @@
|
|
|
24
24
|
# Tags: CustomFieldService.updateCustomFields
|
|
25
25
|
|
|
26
26
|
require 'dfp_api'
|
|
27
|
+
require 'dfp_api_statement'
|
|
27
28
|
|
|
28
|
-
API_VERSION = :
|
|
29
|
+
API_VERSION = :v201505
|
|
29
30
|
|
|
30
31
|
def update_custom_fields()
|
|
31
32
|
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
@@ -42,16 +43,18 @@ def update_custom_fields()
|
|
|
42
43
|
custom_field_id = 'INSERT_CUSTOM_FIELD_ID_HERE'.to_i
|
|
43
44
|
|
|
44
45
|
# Create a statement to only select a single custom field.
|
|
45
|
-
statement =
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
statement = DfpApiStatement::FilterStatement.new(
|
|
47
|
+
'WHERE id = :id',
|
|
48
|
+
[
|
|
48
49
|
{:key => 'id',
|
|
49
50
|
:value => {:value => custom_field_id, :xsi_type => 'NumberValue'}}
|
|
50
|
-
]
|
|
51
|
-
|
|
51
|
+
],
|
|
52
|
+
1
|
|
53
|
+
)
|
|
52
54
|
|
|
53
55
|
# Get custom fields by statement.
|
|
54
|
-
page = custom_field_service.get_custom_fields_by_statement(
|
|
56
|
+
page = custom_field_service.get_custom_fields_by_statement(
|
|
57
|
+
statement.toStatement())
|
|
55
58
|
|
|
56
59
|
if page[:results]
|
|
57
60
|
custom_fields = page[:results]
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
# Tags: CustomTargetingService.performCustomTargetingKeyAction
|
|
26
26
|
|
|
27
27
|
require 'dfp_api'
|
|
28
|
+
require 'dfp_api_statement'
|
|
28
29
|
|
|
29
|
-
API_VERSION = :
|
|
30
|
-
PAGE_SIZE = 500
|
|
30
|
+
API_VERSION = :v201505
|
|
31
31
|
|
|
32
32
|
def delete_custom_targeting_keys()
|
|
33
33
|
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
@@ -43,39 +43,33 @@ def delete_custom_targeting_keys()
|
|
|
43
43
|
# Set the name of the custom targeting key to delete.
|
|
44
44
|
custom_targeting_key_name = 'INSERT_CUSTOM_TARGETING_KEY_NAME_HERE'
|
|
45
45
|
|
|
46
|
-
# Create statement to only select custom targeting key by the given name.
|
|
47
|
-
statement_text = 'WHERE name = :name'
|
|
48
46
|
|
|
49
47
|
# Define initial values.
|
|
50
|
-
offset = 0
|
|
51
|
-
page = {}
|
|
52
48
|
custom_target_key_ids = []
|
|
53
|
-
|
|
54
|
-
|
|
49
|
+
|
|
50
|
+
# Create statement to only select custom targeting key by the given name.
|
|
51
|
+
statement = DfpApiStatement::FilterStatement.new(
|
|
52
|
+
'WHERE name = :name',
|
|
53
|
+
[
|
|
55
54
|
{:key => 'name',
|
|
56
55
|
:value => {:value => custom_targeting_key_name,
|
|
57
56
|
:xsi_type => 'TextValue'}
|
|
58
57
|
}
|
|
59
58
|
]
|
|
60
|
-
|
|
59
|
+
)
|
|
61
60
|
|
|
62
61
|
begin
|
|
63
|
-
# Create a statement to page through custom targeting keys.
|
|
64
|
-
statement[:query] = statement_text + " LIMIT %d OFFSET %d" %
|
|
65
|
-
[PAGE_SIZE, offset]
|
|
66
|
-
|
|
67
62
|
page = custom_targeting_service.get_custom_targeting_keys_by_statement(
|
|
68
|
-
statement)
|
|
63
|
+
statement.toStatement())
|
|
69
64
|
|
|
70
65
|
if page[:results]
|
|
71
|
-
# Increase query offset by page size.
|
|
72
|
-
offset += PAGE_SIZE
|
|
73
66
|
page[:results].each do |key|
|
|
74
67
|
# Add key ID to the list for deletion.
|
|
75
68
|
custom_target_key_ids << key[:id]
|
|
76
69
|
end
|
|
77
70
|
end
|
|
78
|
-
|
|
71
|
+
statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
|
|
72
|
+
end while statement.offset < page[:total_result_set_size]
|
|
79
73
|
|
|
80
74
|
# Print a footer.
|
|
81
75
|
puts "Number of custom targeting keys to be deleted: %d" %
|
|
@@ -83,12 +77,14 @@ def delete_custom_targeting_keys()
|
|
|
83
77
|
|
|
84
78
|
if !(custom_target_key_ids.empty?)
|
|
85
79
|
# Modify statement for action.
|
|
86
|
-
statement =
|
|
87
|
-
|
|
80
|
+
statement = DfpApiStatement::FilterStatement.new(
|
|
81
|
+
"WHERE id IN (%s)" %
|
|
82
|
+
[custom_target_key_ids.join(', ')]
|
|
83
|
+
)
|
|
88
84
|
|
|
89
85
|
# Perform action.
|
|
90
86
|
result = custom_targeting_service.perform_custom_targeting_key_action(
|
|
91
|
-
{:xsi_type => 'DeleteCustomTargetingKeys'}, statement)
|
|
87
|
+
{:xsi_type => 'DeleteCustomTargetingKeys'}, statement.toStatement())
|
|
92
88
|
|
|
93
89
|
# Display results.
|
|
94
90
|
if result and result[:num_changes] > 0
|
data/examples/{v201405 → v201505}/custom_targeting_service/delete_custom_targeting_values.rb
RENAMED
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
# Tags: CustomTargetingService.performCustomTargetingValueAction
|
|
27
27
|
|
|
28
28
|
require 'dfp_api'
|
|
29
|
+
require 'dfp_api_statement'
|
|
29
30
|
|
|
30
|
-
API_VERSION = :
|
|
31
|
-
PAGE_SIZE = 500
|
|
31
|
+
API_VERSION = :v201505
|
|
32
32
|
|
|
33
33
|
def delete_custom_targeting_values()
|
|
34
34
|
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
@@ -44,41 +44,35 @@ def delete_custom_targeting_values()
|
|
|
44
44
|
# Set ID of the custom targeting key to delete values from.
|
|
45
45
|
custom_targeting_key_id = 'INSERT_CUSTOM_TARGETING_KEY_ID_HERE'.to_i
|
|
46
46
|
|
|
47
|
-
# Create statement to only select custom values by the given custom targeting
|
|
48
|
-
# key ID.
|
|
49
|
-
statement_text = 'WHERE customTargetingKeyId = :key_id'
|
|
50
|
-
|
|
51
47
|
# Define initial values.
|
|
52
|
-
offset = 0
|
|
53
|
-
page = {}
|
|
54
48
|
custom_target_value_ids = []
|
|
55
|
-
|
|
56
|
-
|
|
49
|
+
|
|
50
|
+
# Create statement to only select custom values by the given custom targeting
|
|
51
|
+
# key ID.
|
|
52
|
+
statement = DfpApiStatement::FilterStatement.new(
|
|
53
|
+
'WHERE customTargetingKeyId = :key_id',
|
|
54
|
+
[
|
|
57
55
|
{:key => 'key_id',
|
|
58
56
|
:value => {:value => custom_targeting_key_id,
|
|
59
57
|
:xsi_type => 'NumberValue'}
|
|
60
58
|
}
|
|
61
59
|
]
|
|
62
|
-
|
|
60
|
+
)
|
|
63
61
|
|
|
64
62
|
begin
|
|
65
|
-
# Create a statement to page through custom targeting values.
|
|
66
|
-
statement[:query] = statement_text + " LIMIT %d OFFSET %d" %
|
|
67
|
-
[PAGE_SIZE, offset]
|
|
68
|
-
|
|
69
63
|
# Get custom targeting values by statement.
|
|
70
64
|
page = custom_targeting_service.get_custom_targeting_values_by_statement(
|
|
71
|
-
statement)
|
|
65
|
+
statement.toStatement())
|
|
72
66
|
|
|
73
67
|
if page[:results]
|
|
74
68
|
# Increase query offset by page size.
|
|
75
|
-
offset += PAGE_SIZE
|
|
76
69
|
page[:results].each do |value|
|
|
77
70
|
# Add value ID to the list for deletion.
|
|
78
71
|
custom_target_value_ids << value[:id]
|
|
79
72
|
end
|
|
80
73
|
end
|
|
81
|
-
|
|
74
|
+
statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
|
|
75
|
+
end while statement.offset < page[:total_result_set_size]
|
|
82
76
|
|
|
83
77
|
# Print a footer.
|
|
84
78
|
puts "Number of custom targeting value to be deleted: %d" %
|
|
@@ -86,12 +80,20 @@ def delete_custom_targeting_values()
|
|
|
86
80
|
|
|
87
81
|
if !(custom_target_value_ids.empty?)
|
|
88
82
|
# Modify statement for action, note, values are still present.
|
|
89
|
-
statement
|
|
90
|
-
|
|
83
|
+
statement = DfpApiStatement::FilterStatement.new(
|
|
84
|
+
"WHERE customTargetingKeyId = :key_id AND id IN (%s)" %
|
|
85
|
+
[custom_target_value_ids.join(', ')],
|
|
86
|
+
[
|
|
87
|
+
{:key => 'key_id',
|
|
88
|
+
:value => {:value => custom_targeting_key_id,
|
|
89
|
+
:xsi_type => 'NumberValue'}
|
|
90
|
+
}
|
|
91
|
+
]
|
|
92
|
+
)
|
|
91
93
|
|
|
92
94
|
# Perform action.
|
|
93
95
|
result = custom_targeting_service.perform_custom_targeting_value_action(
|
|
94
|
-
{:xsi_type => 'DeleteCustomTargetingValues'}, statement)
|
|
96
|
+
{:xsi_type => 'DeleteCustomTargetingValues'}, statement.toStatement())
|
|
95
97
|
|
|
96
98
|
# Display results.
|
|
97
99
|
if result and result[:num_changes] > 0
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
# Tags: CustomTargetingService.getCustomTargetingValuesByStatement
|
|
26
26
|
|
|
27
27
|
require 'dfp_api'
|
|
28
|
+
require 'dfp_api_statement'
|
|
28
29
|
|
|
29
|
-
API_VERSION = :
|
|
30
|
-
PAGE_SIZE = 500
|
|
30
|
+
API_VERSION = :v201505
|
|
31
31
|
|
|
32
32
|
def get_all_custom_targeting_keys_and_values()
|
|
33
33
|
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
@@ -40,29 +40,19 @@ def get_all_custom_targeting_keys_and_values()
|
|
|
40
40
|
# Get the CustomTargetingService.
|
|
41
41
|
custom_targeting_service = dfp.service(:CustomTargetingService, API_VERSION)
|
|
42
42
|
|
|
43
|
-
# Define initial values.
|
|
44
|
-
offset = 0
|
|
45
|
-
page = {}
|
|
46
|
-
|
|
47
43
|
begin
|
|
48
44
|
# Create a statement to get one page with current offset.
|
|
49
|
-
statement =
|
|
45
|
+
statement = DfpApiStatement::FilterStatement.new('ORDER BY id ASC')
|
|
50
46
|
|
|
51
47
|
# Get custom targeting keys by statement.
|
|
52
48
|
page = custom_targeting_service.get_custom_targeting_keys_by_statement(
|
|
53
|
-
statement)
|
|
49
|
+
statement.toStatement())
|
|
54
50
|
|
|
55
51
|
if page[:results]
|
|
56
|
-
# Increase query offset by page size.
|
|
57
|
-
offset += PAGE_SIZE
|
|
58
|
-
|
|
59
|
-
# Get the start index for printout.
|
|
60
|
-
start_index = page[:start_index]
|
|
61
|
-
|
|
62
52
|
# Print details about each key in results.
|
|
63
53
|
page[:results].each_with_index do |custom_targeting_key, index|
|
|
64
54
|
puts ("%d) Custom targeting key ID: %d, name: %s, displayName: %s, " +
|
|
65
|
-
"type: %s") % [index +
|
|
55
|
+
"type: %s") % [index + statement.offset,
|
|
66
56
|
custom_targeting_key[:id],
|
|
67
57
|
custom_targeting_key[:name],
|
|
68
58
|
custom_targeting_key[:display_name],
|
|
@@ -70,7 +60,8 @@ def get_all_custom_targeting_keys_and_values()
|
|
|
70
60
|
print_all_values_for_key(custom_targeting_service, custom_targeting_key)
|
|
71
61
|
end
|
|
72
62
|
end
|
|
73
|
-
|
|
63
|
+
statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
|
|
64
|
+
end while statement.offset < page[:total_result_set_size]
|
|
74
65
|
|
|
75
66
|
# Print a footer.
|
|
76
67
|
if page.include?(:total_result_set_size)
|
|
@@ -80,45 +71,33 @@ def get_all_custom_targeting_keys_and_values()
|
|
|
80
71
|
end
|
|
81
72
|
|
|
82
73
|
def print_all_values_for_key(custom_targeting_service, custom_targeting_key)
|
|
83
|
-
# Define initial values.
|
|
84
|
-
offset = 0
|
|
85
|
-
page = {}
|
|
86
|
-
|
|
87
74
|
# Create a statement to get values for given key.
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
75
|
+
statement = DfpApiStatement::FilterStatement.new(
|
|
76
|
+
'WHERE customTargetingKeyId = :key_id',
|
|
77
|
+
[
|
|
91
78
|
{:key => 'key_id',
|
|
92
79
|
:value => {:value => custom_targeting_key[:id],
|
|
93
80
|
:xsi_type => 'NumberValue'}}
|
|
94
81
|
]
|
|
95
|
-
|
|
82
|
+
)
|
|
96
83
|
|
|
97
84
|
begin
|
|
98
|
-
# Modify statement to get the next page.
|
|
99
|
-
statement[:query] = statement_text + " OFFSET %d" % offset
|
|
100
|
-
|
|
101
85
|
# Get custom targeting values by statement.
|
|
102
86
|
page = custom_targeting_service.get_custom_targeting_values_by_statement(
|
|
103
|
-
statement)
|
|
87
|
+
statement.toStatement())
|
|
104
88
|
|
|
105
89
|
if page[:results]
|
|
106
|
-
# Increase query offset by page size.
|
|
107
|
-
offset += PAGE_SIZE
|
|
108
|
-
|
|
109
|
-
# Get the start index for printout.
|
|
110
|
-
start_index = page[:start_index]
|
|
111
|
-
|
|
112
90
|
# Print details about each value in results.
|
|
113
91
|
page[:results].each_with_index do |custom_targeting_value, index|
|
|
114
92
|
puts ("\t%d) Custom targeting value ID: %d, name: %s, displayName: %s") %
|
|
115
|
-
[index +
|
|
93
|
+
[index + statement.offset,
|
|
116
94
|
custom_targeting_value[:id],
|
|
117
95
|
custom_targeting_value[:name],
|
|
118
96
|
custom_targeting_value[:display_name]]
|
|
119
97
|
end
|
|
120
98
|
end
|
|
121
|
-
|
|
99
|
+
statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
|
|
100
|
+
end while statement.offset < page[:total_result_set_size]
|
|
122
101
|
|
|
123
102
|
# Print a footer.
|
|
124
103
|
if page.include?(:total_result_set_size)
|
data/examples/{v201405 → v201505}/custom_targeting_service/get_custom_targeting_keys_by_statement.rb
RENAMED
|
@@ -25,8 +25,9 @@
|
|
|
25
25
|
# Tags: CustomTargetingService.getCustomTargetingKeysByStatement
|
|
26
26
|
|
|
27
27
|
require 'dfp_api'
|
|
28
|
+
require 'dfp_api_statement'
|
|
28
29
|
|
|
29
|
-
API_VERSION = :
|
|
30
|
+
API_VERSION = :v201505
|
|
30
31
|
|
|
31
32
|
def get_custom_targeting_keys_by_statement()
|
|
32
33
|
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
@@ -40,29 +41,32 @@ def get_custom_targeting_keys_by_statement()
|
|
|
40
41
|
custom_targeting_service = dfp.service(:CustomTargetingService, API_VERSION)
|
|
41
42
|
|
|
42
43
|
# Create a statement to only select predefined custom targeting keys.
|
|
43
|
-
statement =
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
statement = DfpApiStatement::FilterStatement.new(
|
|
45
|
+
'WHERE type = :type ORDER BY id ASC',
|
|
46
|
+
[
|
|
46
47
|
{:key => 'type',
|
|
47
48
|
:value => {:value => 'PREDEFINED', :xsi_type => 'TextValue'}}
|
|
48
49
|
]
|
|
49
|
-
|
|
50
|
+
)
|
|
50
51
|
|
|
51
52
|
# Get custom targeting keys by statement.
|
|
52
53
|
page = custom_targeting_service.get_custom_targeting_keys_by_statement(
|
|
53
|
-
statement)
|
|
54
|
+
statement.toStatement())
|
|
54
55
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
56
|
+
begin
|
|
57
|
+
if page[:results]
|
|
58
|
+
# Print details about each key in results.
|
|
59
|
+
page[:results].each_with_index do |custom_targeting_key, index|
|
|
60
|
+
puts ("%d) Custom targeting key with ID [%d], name: %s," +
|
|
61
|
+
" displayName: %s type: %s") % [index + statement.offset,
|
|
62
|
+
custom_targeting_key[:id],
|
|
63
|
+
custom_targeting_key[:name],
|
|
64
|
+
custom_targeting_key[:display_name],
|
|
65
|
+
custom_targeting_key[:type]]
|
|
66
|
+
end
|
|
64
67
|
end
|
|
65
|
-
|
|
68
|
+
statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
|
|
69
|
+
end while statement.offset < page[:total_result_set_size]
|
|
66
70
|
|
|
67
71
|
# Print a footer.
|
|
68
72
|
if page.include?(:total_result_set_size)
|
|
@@ -27,8 +27,9 @@
|
|
|
27
27
|
# Tags: CustomTargetingService.getCustomTargetingValuesByStatement
|
|
28
28
|
|
|
29
29
|
require 'dfp_api'
|
|
30
|
+
require 'dfp_api_statement'
|
|
30
31
|
|
|
31
|
-
API_VERSION = :
|
|
32
|
+
API_VERSION = :v201505
|
|
32
33
|
|
|
33
34
|
def get_custom_targeting_values_by_statement()
|
|
34
35
|
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
@@ -45,30 +46,33 @@ def get_custom_targeting_values_by_statement()
|
|
|
45
46
|
custom_targeting_key_id = 'INSERT_CUSTOM_TARGETING_KEY_ID_HERE'.to_i
|
|
46
47
|
|
|
47
48
|
# Create a statement to only select custom targeting values for a given key.
|
|
48
|
-
statement =
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
statement = DfpApiStatement::FilterStatement.new(
|
|
50
|
+
'WHERE customTargetingKeyId = :key_id ORDER BY id',
|
|
51
|
+
[
|
|
51
52
|
{:key => 'key_id',
|
|
52
53
|
:value => {:value => custom_targeting_key_id,
|
|
53
54
|
:xsi_type => 'NumberValue'}
|
|
54
55
|
}
|
|
55
56
|
]
|
|
56
|
-
|
|
57
|
+
)
|
|
57
58
|
|
|
58
59
|
# Get custom targeting values by statement.
|
|
59
60
|
page = custom_targeting_service.get_custom_targeting_values_by_statement(
|
|
60
|
-
statement)
|
|
61
|
+
statement.toStatement())
|
|
61
62
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
63
|
+
begin
|
|
64
|
+
if page[:results]
|
|
65
|
+
# Print details about each value in results.
|
|
66
|
+
page[:results].each_with_index do |custom_targeting_value, index|
|
|
67
|
+
puts ("%d) Custom targeting value with ID [%d], name: %s," +
|
|
68
|
+
" displayName: %s") % [index + statement.offset,
|
|
69
|
+
custom_targeting_value[:id],
|
|
70
|
+
custom_targeting_value[:name],
|
|
71
|
+
custom_targeting_value[:display_name]]
|
|
72
|
+
end
|
|
70
73
|
end
|
|
71
|
-
|
|
74
|
+
statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
|
|
75
|
+
end while statement.offset < page[:total_result_set_size]
|
|
72
76
|
|
|
73
77
|
# Print a footer.
|
|
74
78
|
if page.include?(:total_result_set_size)
|
|
@@ -26,8 +26,9 @@
|
|
|
26
26
|
# Tags: CustomTargetingService.updateCustomTargetingKeys
|
|
27
27
|
|
|
28
28
|
require 'dfp_api'
|
|
29
|
+
require 'dfp_api_statement'
|
|
29
30
|
|
|
30
|
-
API_VERSION = :
|
|
31
|
+
API_VERSION = :v201505
|
|
31
32
|
|
|
32
33
|
def update_custom_targeting_keys()
|
|
33
34
|
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
@@ -40,8 +41,8 @@ def update_custom_targeting_keys()
|
|
|
40
41
|
# Get the CustomTargetingService.
|
|
41
42
|
custom_targeting_service = dfp.service(:CustomTargetingService, API_VERSION)
|
|
42
43
|
|
|
43
|
-
# Create a statement to get
|
|
44
|
-
statement =
|
|
44
|
+
# Create a statement to get all custom targeting keys.
|
|
45
|
+
statement = DfpApiStatement::FilterStatement.new('ORDER BY id ASC')
|
|
45
46
|
|
|
46
47
|
# Get custom targeting keys by statement.
|
|
47
48
|
page = custom_targeting_service.get_custom_targeting_keys_by_statement(
|