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
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# Author:: api.dklimkin@gmail.com (Danial Klimkin)
|
|
5
5
|
#
|
|
6
|
-
# Copyright:: Copyright
|
|
6
|
+
# Copyright:: Copyright 2012, Google Inc. All Rights Reserved.
|
|
7
7
|
#
|
|
8
8
|
# License:: Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
9
|
# you may not use this file except in compliance with the License.
|
|
@@ -18,18 +18,18 @@
|
|
|
18
18
|
# See the License for the specific language governing permissions and
|
|
19
19
|
# limitations under the License.
|
|
20
20
|
#
|
|
21
|
-
# This example runs a report
|
|
22
|
-
#
|
|
21
|
+
# This example runs a report filtered on a single custom field. To download the
|
|
22
|
+
# 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
|
|
|
32
|
-
def
|
|
32
|
+
def run_report_with_custom_fields()
|
|
33
33
|
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
34
34
|
dfp = DfpApi::Api.new
|
|
35
35
|
|
|
@@ -40,17 +40,15 @@ def run_merged_delivery_report()
|
|
|
40
40
|
# Get the ReportService.
|
|
41
41
|
report_service = dfp.service(:ReportService, API_VERSION)
|
|
42
42
|
|
|
43
|
+
# Set the ID of the custom field to filter on.
|
|
44
|
+
custom_field_id = 'INSERT_CUSTOM_FIELD_ID_HERE'.to_i
|
|
45
|
+
|
|
43
46
|
# Create report query.
|
|
44
47
|
report_query = {
|
|
45
48
|
:date_range_type => 'LAST_MONTH',
|
|
46
|
-
:dimensions => ['
|
|
47
|
-
:
|
|
48
|
-
|
|
49
|
-
'MERGED_AD_SERVER_CLICKS',
|
|
50
|
-
'MERGED_AD_SERVER_CTR',
|
|
51
|
-
'MERGED_AD_SERVER_CPM_AND_CPC_REVENUE',
|
|
52
|
-
'MERGED_AD_SERVER_WITHOUT_CPD_AVERAGE_ECPM'
|
|
53
|
-
]
|
|
49
|
+
:dimensions => ['LINE_ITEM_ID', 'LINE_ITEM_NAME'],
|
|
50
|
+
:custom_field_ids => [custom_field_id],
|
|
51
|
+
:columns => ['AD_SERVER_IMPRESSIONS'],
|
|
54
52
|
}
|
|
55
53
|
|
|
56
54
|
# Create report job.
|
|
@@ -61,20 +59,21 @@ def run_merged_delivery_report()
|
|
|
61
59
|
|
|
62
60
|
MAX_RETRIES.times do |retry_count|
|
|
63
61
|
# Get the report job status.
|
|
64
|
-
|
|
62
|
+
report_job_status = report_service.get_report_job_status(report_job[:id])
|
|
65
63
|
|
|
66
|
-
break unless
|
|
64
|
+
break unless report_job_status == 'IN_PROGRESS'
|
|
67
65
|
puts "Report with ID: %d is still running." % report_job[:id]
|
|
68
66
|
sleep(RETRY_INTERVAL)
|
|
69
67
|
end
|
|
70
68
|
|
|
71
69
|
puts "Report job with ID: %d finished with status %s." %
|
|
72
|
-
[report_job[:id],
|
|
70
|
+
[report_job[:id],
|
|
71
|
+
report_service.get_report_job_status(report_job[:id])]
|
|
73
72
|
end
|
|
74
73
|
|
|
75
74
|
if __FILE__ == $0
|
|
76
75
|
begin
|
|
77
|
-
|
|
76
|
+
run_report_with_custom_fields()
|
|
78
77
|
|
|
79
78
|
# HTTP errors.
|
|
80
79
|
rescue AdsCommon::Errors::HttpError => e
|
|
@@ -21,11 +21,11 @@
|
|
|
21
21
|
# This example runs a report equal to the "Sales by salespersons report" on the
|
|
22
22
|
# DFP 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
|
|
|
@@ -59,15 +59,16 @@ def run_sales_report()
|
|
|
59
59
|
|
|
60
60
|
MAX_RETRIES.times do |retry_count|
|
|
61
61
|
# Get the report job status.
|
|
62
|
-
|
|
62
|
+
report_job_status = report_service.get_report_job_status(report_job[:id])
|
|
63
63
|
|
|
64
|
-
break unless
|
|
64
|
+
break unless report_job_status == 'IN_PROGRESS'
|
|
65
65
|
puts "Report with ID: %d is still running." % report_job[:id]
|
|
66
66
|
sleep(RETRY_INTERVAL)
|
|
67
67
|
end
|
|
68
68
|
|
|
69
69
|
puts "Report job with ID: %d finished with status %s." %
|
|
70
|
-
[report_job[:id],
|
|
70
|
+
[report_job[:id],
|
|
71
|
+
report_service.get_report_job_status(report_job[:id])]
|
|
71
72
|
end
|
|
72
73
|
|
|
73
74
|
if __FILE__ == $0
|
data/examples/{v201405 → v201505}/suggested_ad_unit_service/approve_all_suggested_ad_units.rb
RENAMED
|
@@ -26,8 +26,9 @@
|
|
|
26
26
|
# Tags: SuggestedAdUnitService.performSuggestedAdUnitAction
|
|
27
27
|
|
|
28
28
|
require 'dfp_api'
|
|
29
|
+
require 'dfp_api_statement'
|
|
29
30
|
|
|
30
|
-
API_VERSION = :
|
|
31
|
+
API_VERSION = :v201505
|
|
31
32
|
NUMBER_OF_REQUESTS = 50
|
|
32
33
|
|
|
33
34
|
def approve_suggested_ad_units()
|
|
@@ -42,31 +43,34 @@ def approve_suggested_ad_units()
|
|
|
42
43
|
suggested_ad_unit_service = dfp.service(:SuggestedAdUnitService, API_VERSION)
|
|
43
44
|
|
|
44
45
|
# Create a statement to only select suggested ad units with 50 or more
|
|
45
|
-
# requests
|
|
46
|
-
statement =
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
46
|
+
# requests.
|
|
47
|
+
statement = DfpApiStatement::FilterStatement.new(
|
|
48
|
+
'WHERE numRequests >= :num_requests',
|
|
49
|
+
[
|
|
50
|
+
{:key => 'num_requests',
|
|
51
|
+
:value => {:value => NUMBER_OF_REQUESTS,
|
|
52
|
+
:xsi_type => 'NumberValue'}}
|
|
53
|
+
]
|
|
54
|
+
)
|
|
54
55
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
begin
|
|
57
|
+
# Get suggested ad units by statement.
|
|
58
|
+
page = suggested_ad_unit_service.get_suggested_ad_units_by_statement(
|
|
59
|
+
statement.toStatement())
|
|
58
60
|
|
|
59
|
-
|
|
61
|
+
unit_count_to_approve = 0
|
|
60
62
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
63
|
+
if page[:results]
|
|
64
|
+
page[:results].each_with_index do |ad_unit, index|
|
|
65
|
+
if ad_unit[:num_requests] >= NUMBER_OF_REQUESTS
|
|
66
|
+
puts(("%d) Suggested ad unit with ID '%s' and %d requests will be " +
|
|
67
|
+
"approved.") % [index + statement.offset, ad_unit[:id],
|
|
68
|
+
ad_unit[:num_requests]])
|
|
69
|
+
unit_count_to_approve += 1
|
|
70
|
+
end
|
|
68
71
|
end
|
|
69
72
|
end
|
|
73
|
+
statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
|
|
70
74
|
end
|
|
71
75
|
|
|
72
76
|
puts "Number of suggested ad units to be approved: %d" % unit_count_to_approve
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
# Tags: SuggestedAdUnitService.getSuggestedAdUnitsByStatement
|
|
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 get_all_suggested_ad_units()
|
|
34
34
|
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
@@ -41,32 +41,23 @@ def get_all_suggested_ad_units()
|
|
|
41
41
|
# Get the SuggestedAdUnitService.
|
|
42
42
|
suggested_ad_unit_service = dfp.service(:SuggestedAdUnitService, API_VERSION)
|
|
43
43
|
|
|
44
|
-
#
|
|
45
|
-
|
|
46
|
-
page = {}
|
|
44
|
+
# Create a statement to get all suggested ad units.
|
|
45
|
+
statement = DfpApiStatement::FilterStatement.new('ORDER BY id ASC')
|
|
47
46
|
|
|
48
47
|
begin
|
|
49
|
-
# Create a statement to get one page with current offset.
|
|
50
|
-
statement = {:query => "LIMIT %d OFFSET %d" % [PAGE_SIZE, offset]}
|
|
51
|
-
|
|
52
48
|
# Get suggested ad units by statement.
|
|
53
|
-
page =
|
|
54
|
-
|
|
49
|
+
page = suggested_ad_unit_service.get_suggested_ad_units_by_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
53
|
# Print details about each suggested ad unit in results.
|
|
64
54
|
page[:results].each_with_index do |ad_unit, index|
|
|
65
55
|
puts "%d) Suggested ad unit ID: '%s' with number of requests: %d" %
|
|
66
|
-
[index +
|
|
56
|
+
[index + statement.offset, ad_unit[:id], ad_unit[:num_requests]]
|
|
67
57
|
end
|
|
68
58
|
end
|
|
69
|
-
|
|
59
|
+
statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
|
|
60
|
+
end while statement.offset < page[:total_result_set_size]
|
|
70
61
|
|
|
71
62
|
# Print a footer.
|
|
72
63
|
if page.include?(:total_result_set_size)
|
data/examples/{v201405 → v201505}/suggested_ad_unit_service/get_suggested_ad_units_by_statement.rb
RENAMED
|
@@ -18,16 +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 gets suggested ad units that have more than 50 requests.
|
|
22
|
-
# statement retrieves up to the maximum page size limit of 500.
|
|
21
|
+
# This example gets suggested ad units that have more than 50 requests.
|
|
23
22
|
#
|
|
24
23
|
# This feature is only available to DFP premium solution networks.
|
|
25
24
|
#
|
|
26
25
|
# Tags: SuggestedAdUnitService.getSuggestedAdUnitsByStatement
|
|
27
26
|
|
|
28
27
|
require 'dfp_api'
|
|
28
|
+
require 'dfp_api_statement'
|
|
29
29
|
|
|
30
|
-
API_VERSION = :
|
|
30
|
+
API_VERSION = :v201505
|
|
31
31
|
NUMBER_OF_REQUESTS = 50
|
|
32
32
|
|
|
33
33
|
def get_suggested_ad_units_by_statement()
|
|
@@ -42,27 +42,30 @@ def get_suggested_ad_units_by_statement()
|
|
|
42
42
|
suggested_ad_unit_service = dfp.service(:SuggestedAdUnitService, API_VERSION)
|
|
43
43
|
|
|
44
44
|
# Create a statement to only select suggested ad units with more than 50
|
|
45
|
-
# requests
|
|
46
|
-
statement =
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
45
|
+
# requests.
|
|
46
|
+
statement = DfpApiStatement::FilterStatement.new(
|
|
47
|
+
'WHERE numRequests > :num_requests ORDER BY id ASC',
|
|
48
|
+
[
|
|
49
|
+
{:key => 'num_requests',
|
|
50
|
+
:value => {:value => NUMBER_OF_REQUESTS,
|
|
51
|
+
:xsi_type => 'NumberValue'}}
|
|
52
|
+
]
|
|
53
|
+
)
|
|
54
54
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
begin
|
|
56
|
+
# Get ad units by statement.
|
|
57
|
+
page = suggested_ad_unit_service.get_suggested_ad_units_by_statement(
|
|
58
|
+
statement.toStatement())
|
|
58
59
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
if page[:results]
|
|
61
|
+
# Print details about each suggested ad unit in results.
|
|
62
|
+
page[:results].each_with_index do |ad_unit, index|
|
|
63
|
+
puts "%d) Suggested ad unit ID: '%s', number of requests: %d" %
|
|
64
|
+
[index + statement.offset, ad_unit[:id], ad_unit[:num_requests]]
|
|
65
|
+
end
|
|
64
66
|
end
|
|
65
|
-
|
|
67
|
+
statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
|
|
68
|
+
end statement.offset < page[:total_result_set_size]
|
|
66
69
|
|
|
67
70
|
# Print a footer.
|
|
68
71
|
if page.include?(:total_result_set_size)
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
# Tags: TeamService.getTeamsByStatement
|
|
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_teams()
|
|
31
31
|
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
@@ -38,31 +38,22 @@ def get_all_teams()
|
|
|
38
38
|
# Get the TeamService.
|
|
39
39
|
team_service = dfp.service(:TeamService, API_VERSION)
|
|
40
40
|
|
|
41
|
-
#
|
|
42
|
-
|
|
43
|
-
page = {}
|
|
41
|
+
# Create statement for all teams.
|
|
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 teams by statement.
|
|
50
|
-
page = team_service.get_teams_by_statement(statement)
|
|
46
|
+
page = team_service.get_teams_by_statement(statement.toStatement())
|
|
51
47
|
|
|
52
48
|
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
49
|
# Print details about each team in results page.
|
|
60
50
|
page[:results].each_with_index do |team, index|
|
|
61
51
|
puts "%d) Team ID: %d, name: %s" %
|
|
62
|
-
[index +
|
|
52
|
+
[index + statement.offset, team[:id], team[:name]]
|
|
63
53
|
end
|
|
64
54
|
end
|
|
65
|
-
|
|
55
|
+
statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
|
|
56
|
+
end while statement.offset < page[:total_result_set_size]
|
|
66
57
|
|
|
67
58
|
# Print a footer
|
|
68
59
|
if page.include?(:total_result_set_size)
|
|
@@ -18,14 +18,14 @@
|
|
|
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 teams ordered by name.
|
|
22
|
-
# maximum page size limit of 500. To create teams, run create_teams.rb.
|
|
21
|
+
# This example gets all teams ordered by name.
|
|
23
22
|
#
|
|
24
23
|
# Tags: TeamService.getTeamsByStatement
|
|
25
24
|
|
|
26
25
|
require 'dfp_api'
|
|
26
|
+
require 'dfp_api_statement'
|
|
27
27
|
|
|
28
|
-
API_VERSION = :
|
|
28
|
+
API_VERSION = :v201505
|
|
29
29
|
|
|
30
30
|
def get_teams_by_statement()
|
|
31
31
|
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
@@ -38,17 +38,21 @@ def get_teams_by_statement()
|
|
|
38
38
|
# Get the TeamService.
|
|
39
39
|
team_service = dfp.service(:TeamService, API_VERSION)
|
|
40
40
|
|
|
41
|
-
# Create a statement to order teams by
|
|
42
|
-
statement =
|
|
41
|
+
# Create a statement to order teams by id.
|
|
42
|
+
statement = DfpApiStatement::FilterStatement.new('ORDER BY name ASC')
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
begin
|
|
45
|
+
# Get teams by statement.
|
|
46
|
+
page = team_service.get_teams_by_statement(statement.toStatement())
|
|
46
47
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
if page and page[:results]
|
|
49
|
+
page[:results].each_with_index do |team, index|
|
|
50
|
+
puts "%d) Team ID: %d, name: %s." % [index + statement.offset,
|
|
51
|
+
team[:id], team[:name]]
|
|
52
|
+
end
|
|
50
53
|
end
|
|
51
|
-
|
|
54
|
+
statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
|
|
55
|
+
end while statement.offset < page[:total_result_set_size]
|
|
52
56
|
|
|
53
57
|
# Print a footer.
|
|
54
58
|
if page.include?(:total_result_set_size)
|
|
@@ -25,8 +25,9 @@
|
|
|
25
25
|
# Tags: TeamService.getTeamsByStatement, TeamService.updateTeams
|
|
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_teams()
|
|
32
33
|
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
@@ -43,10 +44,10 @@ def update_teams()
|
|
|
43
44
|
team_service = dfp.service(:TeamService, API_VERSION)
|
|
44
45
|
|
|
45
46
|
# Create a statement to select first 5 teams that aren't built-in.
|
|
46
|
-
statement =
|
|
47
|
+
statement = DfpApiStatement::FilterStatement.new('WHERE id > 0', [], 5)
|
|
47
48
|
|
|
48
49
|
# Get teams by statement.
|
|
49
|
-
page = team_service.get_teams_by_statement(statement)
|
|
50
|
+
page = team_service.get_teams_by_statement(statement.toStatement())
|
|
50
51
|
|
|
51
52
|
if page[:results]
|
|
52
53
|
teams = page[:results]
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
require 'dfp_api'
|
|
28
28
|
|
|
29
|
-
API_VERSION = :
|
|
29
|
+
API_VERSION = :v201505
|
|
30
30
|
|
|
31
31
|
def deactivate_users()
|
|
32
32
|
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
@@ -43,16 +43,16 @@ def deactivate_users()
|
|
|
43
43
|
user_id = 'INSERT_USER_ID_HERE'
|
|
44
44
|
|
|
45
45
|
# Create filter text to select user by id.
|
|
46
|
-
statement =
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
statement = DfpApiStatement::FilterStatement.new(
|
|
47
|
+
'WHERE id = :user_id',
|
|
48
|
+
[
|
|
49
49
|
{:key => 'user_id',
|
|
50
50
|
:value => {:value => user_id, :xsi_type => 'NumberValue'}}
|
|
51
51
|
]
|
|
52
|
-
|
|
52
|
+
)
|
|
53
53
|
|
|
54
54
|
# Get users by statement.
|
|
55
|
-
page = user_service.get_users_by_statement(statement)
|
|
55
|
+
page = user_service.get_users_by_statement(statement.toStatement())
|
|
56
56
|
|
|
57
57
|
if page[:results]
|
|
58
58
|
page[:results].each do |user|
|
|
@@ -62,7 +62,7 @@ def deactivate_users()
|
|
|
62
62
|
|
|
63
63
|
# Perform action.
|
|
64
64
|
result = user_service.perform_user_action(
|
|
65
|
-
{:xsi_type => 'DeactivateUsers'}, statement)
|
|
65
|
+
{:xsi_type => 'DeactivateUsers'}, statement.toStatement())
|
|
66
66
|
|
|
67
67
|
# Display results.
|
|
68
68
|
if result and result[:num_changes] > 0
|