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