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
|
@@ -18,13 +18,14 @@
|
|
|
18
18
|
# See the License for the specific language governing permissions and
|
|
19
19
|
# limitations under the License.
|
|
20
20
|
#
|
|
21
|
-
# This code example gets all
|
|
21
|
+
# This code example gets all ad unit sizes.
|
|
22
22
|
#
|
|
23
23
|
# Tags: InventoryService.getAdUnitSizesByStatement
|
|
24
24
|
|
|
25
25
|
require 'dfp_api'
|
|
26
|
+
require 'dfp_api_statement'
|
|
26
27
|
|
|
27
|
-
API_VERSION = :
|
|
28
|
+
API_VERSION = :v201505
|
|
28
29
|
|
|
29
30
|
def get_all_ad_unit_sizes()
|
|
30
31
|
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
@@ -37,20 +38,12 @@ def get_all_ad_unit_sizes()
|
|
|
37
38
|
# Get the InventoryService.
|
|
38
39
|
inventory_service = dfp.service(:InventoryService, API_VERSION)
|
|
39
40
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
# Create statement object to only select web ad unit sizes.
|
|
43
|
-
statement = {
|
|
44
|
-
:query => 'WHERE targetPlatform = :target_platform',
|
|
45
|
-
:values => [
|
|
46
|
-
{:key => 'target_platform',
|
|
47
|
-
:value => {:value => target_platform,
|
|
48
|
-
:xsi_type => 'TextValue'}}
|
|
49
|
-
]
|
|
50
|
-
}
|
|
41
|
+
# Create statement select all ad unit sizes.
|
|
42
|
+
statement = DfpApiStatement::FilterStatement.new('ORDER BY id ASC')
|
|
51
43
|
|
|
52
44
|
# Get ad unit sizes by statement.
|
|
53
|
-
ad_unit_sizes = inventory_service.get_ad_unit_sizes_by_statement(
|
|
45
|
+
ad_unit_sizes = inventory_service.get_ad_unit_sizes_by_statement(
|
|
46
|
+
statement.toStatement())
|
|
54
47
|
|
|
55
48
|
if ad_unit_sizes
|
|
56
49
|
# Print details about each ad unit in results.
|
|
@@ -24,8 +24,9 @@
|
|
|
24
24
|
# Tags: InventoryService.getAdUnitsByStatement, NetworkService.getCurrentNetwork
|
|
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 get_ad_units_by_statement()
|
|
31
32
|
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
@@ -48,25 +49,29 @@ def get_ad_units_by_statement()
|
|
|
48
49
|
puts "Using effective root ad unit: %d" % effective_root_ad_unit_id
|
|
49
50
|
|
|
50
51
|
# Create a statement to select the children of the effective root ad unit.
|
|
51
|
-
statement =
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
statement = DfpApiStatement::FilterStatement.new(
|
|
53
|
+
'WHERE parentId = :id ORDER BY id',
|
|
54
|
+
[
|
|
54
55
|
{:key => 'id',
|
|
55
56
|
:value => {:value => effective_root_ad_unit_id,
|
|
56
57
|
:xsi_type => 'NumberValue'}}
|
|
57
58
|
]
|
|
58
|
-
|
|
59
|
+
)
|
|
59
60
|
|
|
60
|
-
|
|
61
|
-
|
|
61
|
+
begin
|
|
62
|
+
# Get ad units by statement.
|
|
63
|
+
page = inventory_service.get_ad_units_by_statement(statement.toStatement())
|
|
62
64
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
if page[:results]
|
|
66
|
+
# Print details about each ad unit in results.
|
|
67
|
+
page[:results].each_with_index do |ad_unit, index|
|
|
68
|
+
puts "%d) Ad unit ID: %d, name: %s, status: %s." %
|
|
69
|
+
[index + statement.offset, ad_unit[:id],
|
|
70
|
+
ad_unit[:name], ad_unit[:status]]
|
|
71
|
+
end
|
|
68
72
|
end
|
|
69
|
-
|
|
73
|
+
statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
|
|
74
|
+
end while statement.offset < page[:total_result_set_size]
|
|
70
75
|
|
|
71
76
|
# Print a footer.
|
|
72
77
|
if page.include?(:total_result_set_size)
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
# Tags: InventoryService.getAdUnitsByStatement
|
|
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_ad_units()
|
|
31
31
|
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
@@ -38,32 +38,23 @@ def get_all_ad_units()
|
|
|
38
38
|
# Get the InventoryService.
|
|
39
39
|
inventory_service = dfp.service(:InventoryService, API_VERSION)
|
|
40
40
|
|
|
41
|
-
#
|
|
42
|
-
|
|
43
|
-
page = {}
|
|
41
|
+
# Create a statement to get all ad units
|
|
42
|
+
statement = DfpApiStatement::FilterStatement.new('ORDER BY id ASC')
|
|
44
43
|
|
|
45
44
|
begin
|
|
46
|
-
# Create a statement to get one page with current offset.
|
|
47
|
-
statement = {:query => "LIMIT %d OFFSET %d" % [PAGE_SIZE, offset]}
|
|
48
|
-
|
|
49
45
|
# Get ad units by statement.
|
|
50
|
-
page = inventory_service.get_ad_units_by_statement(statement)
|
|
46
|
+
page = inventory_service.get_ad_units_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 ad unit in results.
|
|
60
50
|
page[:results].each_with_index do |ad_unit, index|
|
|
61
51
|
puts "%d) Ad unit ID: %d, name: %s, status: %s." %
|
|
62
|
-
[index +
|
|
52
|
+
[index + statement.offset, ad_unit[:id],
|
|
63
53
|
ad_unit[:name], ad_unit[:status]]
|
|
64
54
|
end
|
|
65
55
|
end
|
|
66
|
-
|
|
56
|
+
statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
|
|
57
|
+
end while statement.offset < page[:total_result_set_size]
|
|
67
58
|
|
|
68
59
|
# Print a footer.
|
|
69
60
|
if page.include?(:total_result_set_size)
|
|
@@ -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
|
|
21
|
+
# This example adds a new 1x1 creative placeholder for a specific ad unit. To
|
|
22
22
|
# determine which ad units exist, run get_all_ad_units.rb or
|
|
23
23
|
# get_inventory_tree.rb.
|
|
24
24
|
#
|
|
@@ -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 update_ad_units()
|
|
32
32
|
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
@@ -39,19 +39,33 @@ def update_ad_units()
|
|
|
39
39
|
# Get the InventoryService.
|
|
40
40
|
inventory_service = dfp.service(:InventoryService, API_VERSION)
|
|
41
41
|
|
|
42
|
+
# Specify which ad unit to update.
|
|
43
|
+
ad_unit_id = 'INSERT_AD_UNIT_ID_HERE'.to_i
|
|
44
|
+
|
|
42
45
|
# Create a statement to get first 500 ad units.
|
|
43
|
-
statement =
|
|
46
|
+
statement = DfpApiStatement::FilterStatement.new(
|
|
47
|
+
'WHERE id = :id',
|
|
48
|
+
[
|
|
49
|
+
{:key => 'id',
|
|
50
|
+
:value => {:value => ad_unit_id, :xsi_type => 'NumberValue'}}
|
|
51
|
+
],
|
|
52
|
+
1
|
|
53
|
+
}
|
|
44
54
|
|
|
45
55
|
# Get ad units by statement.
|
|
46
|
-
page = inventory_service.get_ad_units_by_statement(statement)
|
|
56
|
+
page = inventory_service.get_ad_units_by_statement(statement.toStatement())
|
|
47
57
|
|
|
48
58
|
if page[:results]
|
|
49
59
|
ad_units = page[:results]
|
|
50
60
|
|
|
51
|
-
|
|
61
|
+
new_ad_unit_size = {
|
|
62
|
+
:size => {:width => 1, :height => 1, :is_aspect_ration => false},
|
|
63
|
+
:environment_type => 'BROWSER'
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
# Update local ad unit by adding a new size of 1x1.
|
|
52
67
|
ad_units.each do |ad_unit|
|
|
53
|
-
ad_unit[:
|
|
54
|
-
{:value => {:ad_sense_enabled => true}}
|
|
68
|
+
ad_unit[:ad_unit_sizes] = ad_unit[:ad_unit_sizes] << new_ad_unit_size
|
|
55
69
|
# Workaround for issue #94.
|
|
56
70
|
ad_unit[:description] = "" if ad_unit[:description].nil?
|
|
57
71
|
end
|
|
@@ -61,10 +75,8 @@ def update_ad_units()
|
|
|
61
75
|
|
|
62
76
|
if return_ad_units
|
|
63
77
|
return_ad_units.each do |ad_unit|
|
|
64
|
-
puts ("Ad unit with ID: %d, name: %s and status: %s was updated
|
|
65
|
-
|
|
66
|
-
[ad_unit[:id], ad_unit[:name], ad_unit[:status],
|
|
67
|
-
ad_unit[:inherited_ad_sense_settings][:value][:ad_sense_enabled]]
|
|
78
|
+
puts ("Ad unit with ID: %d, name: %s and status: %s was updated") %
|
|
79
|
+
[ad_unit[:id], ad_unit[:name], ad_unit[:status]]
|
|
68
80
|
end
|
|
69
81
|
else
|
|
70
82
|
raise 'No ad units were updated.'
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
# Tags: LabelService.getLabelsByStatement, LabelService.performLabelAction
|
|
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 deactivate_labels()
|
|
34
34
|
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
@@ -41,49 +41,42 @@ def deactivate_labels()
|
|
|
41
41
|
# Get the LabelService.
|
|
42
42
|
label_service = dfp.service(:LabelService, API_VERSION)
|
|
43
43
|
|
|
44
|
-
# Create statement
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
# Create statement to select active labels.
|
|
45
|
+
statement = DfpApiStatement::FilterStatement.new(
|
|
46
|
+
'WHERE isActive = :is_active',
|
|
47
|
+
[
|
|
48
48
|
{:key => 'is_active',
|
|
49
49
|
:value => {:value => true, :xsi_type => 'BooleanValue'}}
|
|
50
50
|
]
|
|
51
|
-
|
|
51
|
+
)
|
|
52
52
|
|
|
53
53
|
# Define initial values.
|
|
54
|
-
offset = 0
|
|
55
|
-
page = {}
|
|
56
54
|
label_ids = []
|
|
57
55
|
|
|
58
56
|
begin
|
|
59
|
-
# Modify the statement to get one page with current offset.
|
|
60
|
-
statement[:query] = statement_text +
|
|
61
|
-
" LIMIT %d OFFSET %d" % [PAGE_SIZE, offset]
|
|
62
|
-
|
|
63
57
|
# Get labels by statement.
|
|
64
|
-
page = label_service.get_labels_by_statement(statement)
|
|
58
|
+
page = label_service.get_labels_by_statement(statement.toStatement())
|
|
65
59
|
|
|
66
60
|
if page[:results]
|
|
67
|
-
|
|
68
|
-
offset += PAGE_SIZE
|
|
69
|
-
|
|
70
|
-
page[:results].each do |label|
|
|
61
|
+
page[:results].each_with_index do |label, index|
|
|
71
62
|
puts ("%d) Label ID: %d, name: %s will be deactivated.") %
|
|
72
|
-
[
|
|
63
|
+
[index + statement.offset, label[:id], label[:name]]
|
|
73
64
|
label_ids << label[:id]
|
|
74
65
|
end
|
|
75
66
|
end
|
|
76
|
-
|
|
67
|
+
statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
|
|
68
|
+
end while statement.offset < page[:total_result_set_size]
|
|
77
69
|
|
|
78
70
|
puts "Number of labels to be deactivated: %d" % label_ids.size
|
|
79
71
|
|
|
80
72
|
if !label_ids.empty?
|
|
81
73
|
# Create a statement for action.
|
|
82
|
-
statement =
|
|
74
|
+
statement = DfpApiStatement::FilterStatement.new(
|
|
75
|
+
"WHERE id IN (%s)" % label_ids.join(', '))
|
|
83
76
|
|
|
84
77
|
# Perform action.
|
|
85
78
|
result = label_service.perform_label_action(
|
|
86
|
-
{:xsi_type => 'DeactivateLabels'}, statement)
|
|
79
|
+
{:xsi_type => 'DeactivateLabels'}, statement.toStatement())
|
|
87
80
|
|
|
88
81
|
# Display results.
|
|
89
82
|
if result and result[:num_changes] > 0
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
# Tags: LabelService.getLabelsByStatement
|
|
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_labels()
|
|
33
33
|
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
@@ -40,32 +40,23 @@ def get_all_labels()
|
|
|
40
40
|
# Get the LabelService.
|
|
41
41
|
label_service = dfp.service(:LabelService, API_VERSION)
|
|
42
42
|
|
|
43
|
-
#
|
|
44
|
-
|
|
45
|
-
page = {}
|
|
43
|
+
# Create statement for all labels.
|
|
44
|
+
statement = DfpApiStatement::FilterStatement.new('ORDER BY id ASC')
|
|
46
45
|
|
|
47
46
|
begin
|
|
48
|
-
# Create statement for one page with current offset.
|
|
49
|
-
statement = {:query => "LIMIT %d OFFSET %d" % [PAGE_SIZE, offset]}
|
|
50
|
-
|
|
51
47
|
# Get labels by statement.
|
|
52
|
-
page = label_service.get_labels_by_statement(statement)
|
|
48
|
+
page = label_service.get_labels_by_statement(statement.toStatement())
|
|
53
49
|
|
|
54
50
|
if page[:results]
|
|
55
|
-
# Increase query offset by page size.
|
|
56
|
-
offset += PAGE_SIZE
|
|
57
|
-
|
|
58
|
-
# Get the start index for printout.
|
|
59
|
-
start_index = page[:start_index]
|
|
60
|
-
|
|
61
51
|
# Print details about each label in results page.
|
|
62
52
|
page[:results].each_with_index do |label, index|
|
|
63
53
|
puts "%d) Label ID: %d, name: '%s', types: '%s'." %
|
|
64
|
-
[index +
|
|
65
|
-
label[:types]
|
|
54
|
+
[index + statement.offset, label[:id], label[:name],
|
|
55
|
+
label[:types]]
|
|
66
56
|
end
|
|
67
57
|
end
|
|
68
|
-
|
|
58
|
+
statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
|
|
59
|
+
end while statement.offset < page[:total_result_set_size]
|
|
69
60
|
|
|
70
61
|
# Print a footer
|
|
71
62
|
if page.include?(:total_result_set_size)
|
|
@@ -18,16 +18,17 @@
|
|
|
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 labels ordered by name.
|
|
22
|
-
#
|
|
21
|
+
# This example gets all labels ordered by name. To create labels,
|
|
22
|
+
# run create_labels.rb.
|
|
23
23
|
#
|
|
24
24
|
# This feature is only available to DFP premium solution networks.
|
|
25
25
|
#
|
|
26
26
|
# Tags: LabelService.getLabelsByStatement
|
|
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 get_labels_by_statement()
|
|
33
34
|
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
@@ -41,17 +42,21 @@ def get_labels_by_statement()
|
|
|
41
42
|
label_service = dfp.service(:LabelService, API_VERSION)
|
|
42
43
|
|
|
43
44
|
# Create a statement to select labels ordered by name.
|
|
44
|
-
statement =
|
|
45
|
+
statement = DfpApiStatement::FilterStatement.new('ORDER BY id ASC')
|
|
45
46
|
|
|
46
|
-
|
|
47
|
-
|
|
47
|
+
begin
|
|
48
|
+
# Get labels by statement.
|
|
49
|
+
page = label_service.get_labels_by_statement(statement.toStatement())
|
|
48
50
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
if page and page[:results]
|
|
52
|
+
page[:results].each_with_index do |label, index|
|
|
53
|
+
puts "%d) Label ID: %d, name: '%s'." % [
|
|
54
|
+
index + statement.offset,
|
|
55
|
+
label[:id], label[:name]]
|
|
56
|
+
end
|
|
53
57
|
end
|
|
54
|
-
|
|
58
|
+
statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
|
|
59
|
+
end while statement.offset < page[:total_result_set_size]
|
|
55
60
|
|
|
56
61
|
# Print a footer.
|
|
57
62
|
if page.include?(:total_result_set_size)
|
|
@@ -19,16 +19,16 @@
|
|
|
19
19
|
# limitations under the License.
|
|
20
20
|
#
|
|
21
21
|
# This example updates the descriptions of all active labels by updating its
|
|
22
|
-
# description
|
|
23
|
-
# get_all_labels.rb.
|
|
22
|
+
# description. To determine which labels exist, run get_all_labels.rb.
|
|
24
23
|
#
|
|
25
24
|
# This feature is only available to DFP premium solution networks.
|
|
26
25
|
#
|
|
27
26
|
# Tags: LabelService.getLabelsByStatement, LabelService.updateLabels
|
|
28
27
|
|
|
29
28
|
require 'dfp_api'
|
|
29
|
+
require 'dfp_api_statement'
|
|
30
30
|
|
|
31
|
-
API_VERSION = :
|
|
31
|
+
API_VERSION = :v201505
|
|
32
32
|
|
|
33
33
|
def update_labels()
|
|
34
34
|
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
@@ -42,41 +42,39 @@ def update_labels()
|
|
|
42
42
|
label_service = dfp.service(:LabelService, API_VERSION)
|
|
43
43
|
|
|
44
44
|
# Create a statement to only select active labels.
|
|
45
|
-
statement =
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
statement = DfpApiStatement::FilterStatement.new(
|
|
46
|
+
'WHERE isActive = :is_active',
|
|
47
|
+
[
|
|
48
48
|
{:key => 'is_active',
|
|
49
49
|
:value => {
|
|
50
50
|
:value => 'true',
|
|
51
51
|
:xsi_type => 'BooleanValue'}
|
|
52
52
|
}
|
|
53
53
|
]
|
|
54
|
-
|
|
54
|
+
)
|
|
55
55
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
if page[:results]
|
|
60
|
-
labels = page[:results]
|
|
56
|
+
begin
|
|
57
|
+
# Get labels by statement.
|
|
58
|
+
page = label_service.get_labels_by_statement(statement.toStatement())
|
|
61
59
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
60
|
+
if page[:results]
|
|
61
|
+
# Update each local label object by changing its description.
|
|
62
|
+
page[:results].each do |label|
|
|
63
|
+
label[:description] = 'This label was updated'
|
|
64
|
+
end
|
|
66
65
|
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
# Update the labels on the server.
|
|
67
|
+
return_labels = label_service.update_labels(labels)
|
|
69
68
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
69
|
+
if return_labels
|
|
70
|
+
return_labels.each do |label|
|
|
71
|
+
puts("Label ID: %d, name: %s was updated with description: %s.") %
|
|
72
|
+
[label[:id], label[:name], label[:description]]
|
|
73
|
+
end
|
|
74
|
+
else
|
|
75
|
+
raise 'No labels were updated.'
|
|
74
76
|
end
|
|
75
|
-
else
|
|
76
|
-
raise 'No labels were updated.'
|
|
77
77
|
end
|
|
78
|
-
else
|
|
79
|
-
puts 'No labels found to update.'
|
|
80
78
|
end
|
|
81
79
|
end
|
|
82
80
|
|