google-dfp-api 0.6.2 → 0.6.3
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 +3 -0
- data/README +15 -6
- data/dfp_api.yml +6 -5
- data/examples/v201302/activity_group_service/get_all_activity_groups.rb +0 -0
- data/examples/v201302/activity_service/get_all_activities.rb +0 -0
- data/examples/v201302/contact_service/get_uninvited_contacts.rb +0 -0
- data/examples/v201302/report_service/display_report.rb +0 -0
- data/examples/v201302/report_service/run_reach_report.rb +1 -1
- data/examples/v201306/activity_group_service/create_activity_groups.rb +94 -0
- data/examples/v201306/activity_group_service/get_active_activity_groups.rb +100 -0
- data/examples/v201306/activity_group_service/get_all_activity_groups.rb +95 -0
- data/examples/v201306/activity_group_service/update_activity_groups.rb +87 -0
- data/examples/v201306/activity_service/create_activities.rb +91 -0
- data/examples/v201306/activity_service/get_active_activities.rb +107 -0
- data/examples/v201306/activity_service/get_all_activities.rb +144 -0
- data/examples/v201306/activity_service/update_activities.rb +85 -0
- data/examples/v201306/audience_segment_service/get_all_audience_segments.rb +93 -0
- data/examples/v201306/common/error_handling.rb +76 -0
- data/examples/v201306/common/oauth2_handling.rb +128 -0
- data/examples/v201306/common/oauth2_jwt_handling.rb +107 -0
- data/examples/v201306/company_service/create_companies.rb +81 -0
- data/examples/v201306/company_service/get_all_companies.rb +92 -0
- data/examples/v201306/company_service/get_companies_by_statement.rb +88 -0
- data/examples/v201306/company_service/get_company.rb +72 -0
- data/examples/v201306/company_service/update_companies.rb +102 -0
- data/examples/v201306/contact_service/create_contacts.rb +95 -0
- data/examples/v201306/contact_service/get_all_contacts.rb +92 -0
- data/examples/v201306/contact_service/get_uninvited_contacts.rb +102 -0
- data/examples/v201306/contact_service/update_contacts.rb +84 -0
- data/examples/v201306/content_service/get_all_content.rb +94 -0
- data/examples/v201306/content_service/get_content_by_category.rb +143 -0
- data/examples/v201306/creative_service/copy_image_creatives.rb +115 -0
- data/examples/v201306/creative_service/create_creative_from_template.rb +139 -0
- data/examples/v201306/creative_service/create_creatives.rb +112 -0
- data/examples/v201306/creative_service/create_custom_creative.rb +104 -0
- data/examples/v201306/creative_service/get_all_creatives.rb +93 -0
- data/examples/v201306/creative_service/get_creative.rb +72 -0
- data/examples/v201306/creative_service/get_creatives_by_statement.rb +87 -0
- data/examples/v201306/creative_service/update_creatives.rb +96 -0
- data/examples/v201306/creative_set_service/associate_creative_set_to_line_item.rb +77 -0
- data/examples/v201306/creative_set_service/create_creative_set.rb +83 -0
- data/examples/v201306/creative_set_service/get_all_creative_sets.rb +94 -0
- data/examples/v201306/creative_set_service/get_creative_sets_by_statement.rb +90 -0
- data/examples/v201306/creative_set_service/update_creative_sets.rb +85 -0
- data/examples/v201306/creative_template_service/get_all_creative_templates.rb +94 -0
- data/examples/v201306/creative_template_service/get_creative_template.rb +74 -0
- data/examples/v201306/creative_template_service/get_creative_templates_by_statement.rb +80 -0
- data/examples/v201306/creative_wrapper_service/create_creative_wrappers.rb +89 -0
- data/examples/v201306/creative_wrapper_service/deactivate_creative_wrapper.rb +102 -0
- data/examples/v201306/creative_wrapper_service/get_all_creative_wrappers.rb +94 -0
- data/examples/v201306/creative_wrapper_service/get_creative_wrappers_by_statement.rb +88 -0
- data/examples/v201306/creative_wrapper_service/update_creative_wrappers.rb +86 -0
- data/examples/v201306/custom_field_service/create_custom_field_options.rb +87 -0
- data/examples/v201306/custom_field_service/create_custom_fields.rb +86 -0
- data/examples/v201306/custom_field_service/deactivate_all_line_item_custom_fields.rb +112 -0
- data/examples/v201306/custom_field_service/get_all_custom_fields.rb +102 -0
- data/examples/v201306/custom_field_service/get_all_line_item_custom_fields.rb +86 -0
- data/examples/v201306/custom_field_service/set_line_item_custom_field_value.rb +135 -0
- data/examples/v201306/custom_field_service/update_custom_fields.rb +84 -0
- data/examples/v201306/custom_targeting_service/create_custom_targeting_keys_and_values.rb +140 -0
- data/examples/v201306/custom_targeting_service/delete_custom_targeting_keys.rb +121 -0
- data/examples/v201306/custom_targeting_service/delete_custom_targeting_values.rb +125 -0
- data/examples/v201306/custom_targeting_service/get_all_custom_targeting_keys_and_values.rb +148 -0
- data/examples/v201306/custom_targeting_service/get_custom_targeting_keys_by_statement.rb +92 -0
- data/examples/v201306/custom_targeting_service/get_custom_targeting_values_by_statement.rb +98 -0
- data/examples/v201306/custom_targeting_service/update_custom_targeting_keys.rb +94 -0
- data/examples/v201306/custom_targeting_service/update_custom_targeting_values.rb +106 -0
- data/examples/v201306/forecast_service/get_forecast.rb +107 -0
- data/examples/v201306/forecast_service/get_forecast_by_id.rb +80 -0
- data/examples/v201306/inventory_service/create_ad_units.rb +101 -0
- data/examples/v201306/inventory_service/create_mobile_ad_unit.rb +101 -0
- data/examples/v201306/inventory_service/create_video_ad_unit.rb +108 -0
- data/examples/v201306/inventory_service/deactivate_ad_units.rb +119 -0
- data/examples/v201306/inventory_service/get_ad_unit.rb +72 -0
- data/examples/v201306/inventory_service/get_ad_unit_sizes.rb +85 -0
- data/examples/v201306/inventory_service/get_ad_units_by_statement.rb +96 -0
- data/examples/v201306/inventory_service/get_all_ad_units.rb +93 -0
- data/examples/v201306/inventory_service/update_ad_units.rb +96 -0
- data/examples/v201306/label_service/create_labels.rb +83 -0
- data/examples/v201306/label_service/deactivate_labels.rb +118 -0
- data/examples/v201306/label_service/get_all_labels.rb +95 -0
- data/examples/v201306/label_service/get_label.rb +76 -0
- data/examples/v201306/label_service/get_labels_by_statement.rb +81 -0
- data/examples/v201306/label_service/update_labels.rb +102 -0
- data/examples/v201306/line_item_creative_association_service/create_licas.rb +94 -0
- data/examples/v201306/line_item_creative_association_service/deactivate_licas.rb +127 -0
- data/examples/v201306/line_item_creative_association_service/get_all_licas.rb +98 -0
- data/examples/v201306/line_item_creative_association_service/get_lica.rb +77 -0
- data/examples/v201306/line_item_creative_association_service/get_licas_by_statement.rb +91 -0
- data/examples/v201306/line_item_creative_association_service/update_licas.rb +91 -0
- data/examples/v201306/line_item_service/activate_line_items.rb +131 -0
- data/examples/v201306/line_item_service/create_line_items.rb +177 -0
- data/examples/v201306/line_item_service/create_mobile_line_item.rb +135 -0
- data/examples/v201306/line_item_service/create_video_line_item.rb +158 -0
- data/examples/v201306/line_item_service/get_all_line_items.rb +94 -0
- data/examples/v201306/line_item_service/get_line_item.rb +74 -0
- data/examples/v201306/line_item_service/get_line_items_by_statement.rb +93 -0
- data/examples/v201306/line_item_service/get_recently_updated_line_items.rb +98 -0
- data/examples/v201306/line_item_service/target_custom_criteria.rb +129 -0
- data/examples/v201306/line_item_service/update_line_items.rb +109 -0
- data/examples/v201306/network_service/get_all_networks.rb +74 -0
- data/examples/v201306/network_service/get_current_network.rb +66 -0
- data/examples/v201306/network_service/make_test_network.rb +79 -0
- data/examples/v201306/order_service/approve_orders.rb +122 -0
- data/examples/v201306/order_service/create_orders.rb +92 -0
- data/examples/v201306/order_service/get_all_orders.rb +93 -0
- data/examples/v201306/order_service/get_order.rb +74 -0
- data/examples/v201306/order_service/get_orders_by_statement.rb +90 -0
- data/examples/v201306/order_service/update_orders.rb +97 -0
- data/examples/v201306/placement_service/create_placements.rb +131 -0
- data/examples/v201306/placement_service/deactivate_placements.rb +118 -0
- data/examples/v201306/placement_service/get_all_placements.rb +93 -0
- data/examples/v201306/placement_service/get_placement.rb +74 -0
- data/examples/v201306/placement_service/get_placements_by_statement.rb +86 -0
- data/examples/v201306/placement_service/update_placements.rb +97 -0
- data/examples/v201306/publisher_query_language_service/get_all_cities.rb +104 -0
- data/examples/v201306/report_service/display_report.rb +81 -0
- data/examples/v201306/report_service/download_report.rb +81 -0
- data/examples/v201306/report_service/run_delivery_report.rb +103 -0
- data/examples/v201306/report_service/run_inventory_report.rb +96 -0
- data/examples/v201306/report_service/run_merged_delivery_report.rb +94 -0
- data/examples/v201306/report_service/run_reach_report.rb +87 -0
- data/examples/v201306/report_service/run_report_with_custom_fields.rb +135 -0
- data/examples/v201306/report_service/run_sales_report.rb +92 -0
- data/examples/v201306/suggested_ad_unit_service/approve_all_suggested_ad_units.rb +109 -0
- data/examples/v201306/suggested_ad_unit_service/get_all_suggested_ad_units.rb +96 -0
- data/examples/v201306/suggested_ad_unit_service/get_suggested_ad_unit.rb +75 -0
- data/examples/v201306/suggested_ad_unit_service/get_suggested_ad_units_by_statement.rb +92 -0
- data/examples/v201306/team_service/create_teams.rb +83 -0
- data/examples/v201306/team_service/get_all_teams.rb +92 -0
- data/examples/v201306/team_service/get_team.rb +74 -0
- data/examples/v201306/team_service/get_teams_by_statement.rb +78 -0
- data/examples/v201306/team_service/update_teams.rb +97 -0
- data/examples/v201306/user_service/create_users.rb +89 -0
- data/examples/v201306/user_service/deactivate_users.rb +97 -0
- data/examples/v201306/user_service/get_all_roles.rb +73 -0
- data/examples/v201306/user_service/get_all_users.rb +93 -0
- data/examples/v201306/user_service/get_current_user.rb +66 -0
- data/examples/v201306/user_service/get_user.rb +73 -0
- data/examples/v201306/user_service/get_users_by_statement.rb +79 -0
- data/examples/v201306/user_service/update_users.rb +89 -0
- data/examples/v201306/user_team_association_service/create_user_team_associations.rb +86 -0
- data/examples/v201306/user_team_association_service/delete_user_team_associations.rb +111 -0
- data/examples/v201306/user_team_association_service/get_all_user_team_associations.rb +94 -0
- data/examples/v201306/user_team_association_service/get_user_team_association.rb +76 -0
- data/examples/v201306/user_team_association_service/get_user_team_associations_by_statement.rb +94 -0
- data/examples/v201306/user_team_association_service/update_user_team_associations.rb +102 -0
- data/lib/dfp_api.rb +3 -3
- data/lib/dfp_api/api_config.rb +24 -4
- data/lib/dfp_api/v201306/activity_group_service.rb +54 -0
- data/lib/dfp_api/v201306/activity_group_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/activity_service.rb +54 -0
- data/lib/dfp_api/v201306/activity_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/ad_rule_service.rb +58 -0
- data/lib/dfp_api/v201306/ad_rule_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/audience_segment_service.rb +34 -0
- data/lib/dfp_api/v201306/audience_segment_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/base_rate_service.rb +58 -0
- data/lib/dfp_api/v201306/base_rate_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/company_service.rb +54 -0
- data/lib/dfp_api/v201306/company_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/contact_service.rb +54 -0
- data/lib/dfp_api/v201306/contact_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/content_bundle_service.rb +58 -0
- data/lib/dfp_api/v201306/content_bundle_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/content_service.rb +38 -0
- data/lib/dfp_api/v201306/content_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/creative_service.rb +54 -0
- data/lib/dfp_api/v201306/creative_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/creative_set_service.rb +46 -0
- data/lib/dfp_api/v201306/creative_set_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/creative_template_service.rb +38 -0
- data/lib/dfp_api/v201306/creative_template_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/creative_wrapper_service.rb +58 -0
- data/lib/dfp_api/v201306/creative_wrapper_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/custom_field_service.rb +78 -0
- data/lib/dfp_api/v201306/custom_field_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/custom_targeting_service.rb +62 -0
- data/lib/dfp_api/v201306/custom_targeting_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/forecast_service.rb +38 -0
- data/lib/dfp_api/v201306/forecast_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/inventory_service.rb +62 -0
- data/lib/dfp_api/v201306/inventory_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/label_service.rb +58 -0
- data/lib/dfp_api/v201306/label_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/line_item_creative_association_service.rb +62 -0
- data/lib/dfp_api/v201306/line_item_creative_association_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/line_item_service.rb +58 -0
- data/lib/dfp_api/v201306/line_item_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/line_item_template_service.rb +34 -0
- data/lib/dfp_api/v201306/line_item_template_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/network_service.rb +46 -0
- data/lib/dfp_api/v201306/network_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/order_service.rb +58 -0
- data/lib/dfp_api/v201306/order_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/placement_service.rb +58 -0
- data/lib/dfp_api/v201306/placement_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/product_service.rb +50 -0
- data/lib/dfp_api/v201306/product_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/product_template_service.rb +58 -0
- data/lib/dfp_api/v201306/product_template_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/proposal_line_item_service.rb +58 -0
- data/lib/dfp_api/v201306/proposal_line_item_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/proposal_service.rb +58 -0
- data/lib/dfp_api/v201306/proposal_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/publisher_query_language_service.rb +34 -0
- data/lib/dfp_api/v201306/publisher_query_language_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/rate_card_customization_service.rb +58 -0
- data/lib/dfp_api/v201306/rate_card_customization_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/rate_card_service.rb +58 -0
- data/lib/dfp_api/v201306/rate_card_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/reconciliation_order_report_service.rb +42 -0
- data/lib/dfp_api/v201306/reconciliation_order_report_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/reconciliation_report_row_service.rb +38 -0
- data/lib/dfp_api/v201306/reconciliation_report_row_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/reconciliation_report_service.rb +46 -0
- data/lib/dfp_api/v201306/reconciliation_report_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/report_service.rb +46 -0
- data/lib/dfp_api/v201306/report_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/suggested_ad_unit_service.rb +42 -0
- data/lib/dfp_api/v201306/suggested_ad_unit_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/team_service.rb +54 -0
- data/lib/dfp_api/v201306/team_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/user_service.rb +66 -0
- data/lib/dfp_api/v201306/user_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/user_team_association_service.rb +58 -0
- data/lib/dfp_api/v201306/user_team_association_service_registry.rb +46 -0
- data/lib/dfp_api/v201306/workflow_action_service.rb +38 -0
- data/lib/dfp_api/v201306/workflow_action_service_registry.rb +46 -0
- data/lib/dfp_api/version.rb +1 -1
- data/test/bugs/test_issue_00000016.rb +3 -3
- data/test/dfp_api/test_dfp_api.rb +30 -6
- data/test/suite_unittests.rb +6 -6
- metadata +1218 -999
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# Encoding: utf-8
|
|
3
|
+
#
|
|
4
|
+
# Author:: api.davidtorres@gmail.com (David Torres)
|
|
5
|
+
#
|
|
6
|
+
# Copyright:: Copyright 2013, Google Inc. All Rights Reserved.
|
|
7
|
+
#
|
|
8
|
+
# License:: Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
# you may not use this file except in compliance with the License.
|
|
10
|
+
# You may obtain a copy of the License at
|
|
11
|
+
#
|
|
12
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
+
#
|
|
14
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
15
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
17
|
+
# implied.
|
|
18
|
+
# See the License for the specific language governing permissions and
|
|
19
|
+
# limitations under the License.
|
|
20
|
+
#
|
|
21
|
+
# This example creates new activities. To determine which activities exist, run
|
|
22
|
+
# get_all_activities.php.
|
|
23
|
+
#
|
|
24
|
+
# Tags: ActivityService.createActivities
|
|
25
|
+
|
|
26
|
+
require 'dfp_api'
|
|
27
|
+
|
|
28
|
+
API_VERSION = :v201306
|
|
29
|
+
|
|
30
|
+
def create_activities()
|
|
31
|
+
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
32
|
+
dfp = DfpApi::Api.new
|
|
33
|
+
|
|
34
|
+
# To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
|
|
35
|
+
# the configuration file or provide your own logger:
|
|
36
|
+
# dfp.logger = Logger.new('dfp_xml.log')
|
|
37
|
+
|
|
38
|
+
# Get the ActivityService.
|
|
39
|
+
activity_service = dfp.service(:ActivityService, API_VERSION)
|
|
40
|
+
|
|
41
|
+
# Set the ID of the activity group this activity is associated with.
|
|
42
|
+
activity_group_id = 'INSERT_ACTIVITY_GROUP_ID_HERE';
|
|
43
|
+
|
|
44
|
+
# Create a daily visits activity.
|
|
45
|
+
daily_visits_activity = {
|
|
46
|
+
:name => 'Activity',
|
|
47
|
+
:activity_group_id => activity_group_id,
|
|
48
|
+
:type => 'DAILY_VISITS'
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
# Create a custom activity.
|
|
52
|
+
custom_activity = {
|
|
53
|
+
:name => 'Activity',
|
|
54
|
+
:activity_group_id => activity_group_id,
|
|
55
|
+
:type => 'CUSTOM'
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
# Create the activities on the server.
|
|
59
|
+
return_activities = activity_service.create_activities([
|
|
60
|
+
daily_visits_activity, custom_activity])
|
|
61
|
+
|
|
62
|
+
if return_activities
|
|
63
|
+
return_activities.each do |activity|
|
|
64
|
+
puts "An activity with ID: %d, name: %s and type: %s was created." %
|
|
65
|
+
[activity[:id], activity[:name], activity[:type]]
|
|
66
|
+
end
|
|
67
|
+
else
|
|
68
|
+
raise 'No activities were created.'
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
if __FILE__ == $0
|
|
73
|
+
begin
|
|
74
|
+
create_activities()
|
|
75
|
+
|
|
76
|
+
# HTTP errors.
|
|
77
|
+
rescue AdsCommon::Errors::HttpError => e
|
|
78
|
+
puts "HTTP Error: %s" % e
|
|
79
|
+
|
|
80
|
+
# API errors.
|
|
81
|
+
rescue DfpApi::Errors::ApiException => e
|
|
82
|
+
puts "Message: %s" % e.message
|
|
83
|
+
puts 'Errors:'
|
|
84
|
+
e.errors.each_with_index do |error, index|
|
|
85
|
+
puts "\tError [%d]:" % (index + 1)
|
|
86
|
+
error.each do |field, value|
|
|
87
|
+
puts "\t\t%s: %s" % [field, value]
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# Encoding: utf-8
|
|
3
|
+
#
|
|
4
|
+
# Author:: api.davidtorres@gmail.com (David Torres)
|
|
5
|
+
#
|
|
6
|
+
# Copyright:: Copyright 2013, Google Inc. All Rights Reserved.
|
|
7
|
+
#
|
|
8
|
+
# License:: Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
# you may not use this file except in compliance with the License.
|
|
10
|
+
# You may obtain a copy of the License at
|
|
11
|
+
#
|
|
12
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
+
#
|
|
14
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
15
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
17
|
+
# implied.
|
|
18
|
+
# See the License for the specific language governing permissions and
|
|
19
|
+
# limitations under the License.
|
|
20
|
+
#
|
|
21
|
+
# This example gets all active activities. To create activities,
|
|
22
|
+
# run create_activities.rb.
|
|
23
|
+
#
|
|
24
|
+
# Tags: ActivityService.getActivitiesByStatement
|
|
25
|
+
|
|
26
|
+
require 'dfp_api'
|
|
27
|
+
|
|
28
|
+
API_VERSION = :v201306
|
|
29
|
+
PAGE_SIZE = 500
|
|
30
|
+
|
|
31
|
+
def get_active_activities()
|
|
32
|
+
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
33
|
+
dfp = DfpApi::Api.new
|
|
34
|
+
|
|
35
|
+
# To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
|
|
36
|
+
# the configuration file or provide your own logger:
|
|
37
|
+
# dfp.logger = Logger.new('dfp_xml.log')
|
|
38
|
+
|
|
39
|
+
# Get the ActivityService.
|
|
40
|
+
activity_service = dfp.service(:ActivityService, API_VERSION)
|
|
41
|
+
|
|
42
|
+
# Set the ID of the activity group these activities are associated with.
|
|
43
|
+
activity_group_id = 'INSERT_ACTIVITY_GROUP_ID_HERE'
|
|
44
|
+
|
|
45
|
+
# Define initial values.
|
|
46
|
+
offset = 0
|
|
47
|
+
page = {}
|
|
48
|
+
|
|
49
|
+
begin
|
|
50
|
+
# Create statement for one page with current offset.
|
|
51
|
+
statement = {
|
|
52
|
+
:query => ('WHERE activityGroupId = :activityGroupId AND ' +
|
|
53
|
+
'status = :status ORDER BY id LIMIT %d OFFSET %d') %
|
|
54
|
+
[PAGE_SIZE, offset],
|
|
55
|
+
:values => [
|
|
56
|
+
{:key => 'status',
|
|
57
|
+
:value => {:value => 'ACTIVE', :xsi_type => 'TextValue'}},
|
|
58
|
+
{:key => 'activityGroupId',
|
|
59
|
+
:value => {:value => activity_group_id, :xsi_type => 'NumberValue'}}
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
# Get activities by statement.
|
|
64
|
+
page = activity_service.get_activities_by_statement(statement)
|
|
65
|
+
|
|
66
|
+
if page[:results]
|
|
67
|
+
# Increase query offset by page size.
|
|
68
|
+
offset += PAGE_SIZE
|
|
69
|
+
|
|
70
|
+
# Get the start index for printout.
|
|
71
|
+
start_index = page[:start_index]
|
|
72
|
+
|
|
73
|
+
# Print details about each content object in results page.
|
|
74
|
+
page[:results].each_with_index do |activity, index|
|
|
75
|
+
puts "%d) Activity with ID: %d, name: %s, type: %s." %
|
|
76
|
+
[index + start_index, activity[:id], activity[:name],
|
|
77
|
+
activity[:type]]
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end while offset < page[:total_result_set_size]
|
|
81
|
+
|
|
82
|
+
# Print a footer
|
|
83
|
+
if page.include?(:total_result_set_size)
|
|
84
|
+
puts "Total number of results: %d" % page[:total_result_set_size]
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
if __FILE__ == $0
|
|
89
|
+
begin
|
|
90
|
+
get_active_activities()
|
|
91
|
+
|
|
92
|
+
# HTTP errors.
|
|
93
|
+
rescue AdsCommon::Errors::HttpError => e
|
|
94
|
+
puts "HTTP Error: %s" % e
|
|
95
|
+
|
|
96
|
+
# API errors.
|
|
97
|
+
rescue DfpApi::Errors::ApiException => e
|
|
98
|
+
puts "Message: %s" % e.message
|
|
99
|
+
puts 'Errors:'
|
|
100
|
+
e.errors.each_with_index do |error, index|
|
|
101
|
+
puts "\tError [%d]:" % (index + 1)
|
|
102
|
+
error.each do |field, value|
|
|
103
|
+
puts "\t\t%s: %s" % [field, value]
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
end
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# Encoding: utf-8
|
|
3
|
+
#
|
|
4
|
+
# Author:: api.davidtorres@gmail.com (David Torres)
|
|
5
|
+
#
|
|
6
|
+
# Copyright:: Copyright 2013, Google Inc. All Rights Reserved.
|
|
7
|
+
#
|
|
8
|
+
# License:: Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
# you may not use this file except in compliance with the License.
|
|
10
|
+
# You may obtain a copy of the License at
|
|
11
|
+
#
|
|
12
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
+
#
|
|
14
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
15
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
17
|
+
# implied.
|
|
18
|
+
# See the License for the specific language governing permissions and
|
|
19
|
+
# limitations under the License.
|
|
20
|
+
#
|
|
21
|
+
# This example gets all activities. To create activities,
|
|
22
|
+
# run create_activities.rb.
|
|
23
|
+
#
|
|
24
|
+
# Tags: ActivityService.getActivitiesByStatement
|
|
25
|
+
# Tags: ActivityGroupService.getActivityGroupsByStatement
|
|
26
|
+
|
|
27
|
+
require 'dfp_api'
|
|
28
|
+
|
|
29
|
+
API_VERSION = :v201306
|
|
30
|
+
PAGE_SIZE = 500
|
|
31
|
+
|
|
32
|
+
def get_all_activities()
|
|
33
|
+
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
34
|
+
dfp = DfpApi::Api.new
|
|
35
|
+
|
|
36
|
+
# To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
|
|
37
|
+
# the configuration file or provide your own logger:
|
|
38
|
+
# dfp.logger = Logger.new('dfp_xml.log')
|
|
39
|
+
|
|
40
|
+
# Get the ActivityService.
|
|
41
|
+
activity_service = dfp.service(:ActivityService, API_VERSION)
|
|
42
|
+
|
|
43
|
+
# Get the ActivityGroupService.
|
|
44
|
+
activity_group_service = dfp.service(:ActivityGroupService, API_VERSION)
|
|
45
|
+
|
|
46
|
+
activity_group_ids = get_all_activity_group_ids(activity_group_service)
|
|
47
|
+
total_results_counter = 0
|
|
48
|
+
|
|
49
|
+
activity_group_ids.each do |activity_group_id|
|
|
50
|
+
# Define initial values.
|
|
51
|
+
offset = 0
|
|
52
|
+
page = {}
|
|
53
|
+
query_base = 'WHERE activityGroupId = :activityGroupId AND ' +
|
|
54
|
+
'status = :status ORDER BY id LIMIT %d OFFSET %d'
|
|
55
|
+
|
|
56
|
+
# Create statement for one page with current offset.
|
|
57
|
+
statement = {
|
|
58
|
+
:values => [
|
|
59
|
+
{:key => 'status',
|
|
60
|
+
:value => {:value => 'ACTIVE', :xsi_type => 'TextValue'}},
|
|
61
|
+
{:key => 'activityGroupId',
|
|
62
|
+
:value => {:value => activity_group_id,
|
|
63
|
+
:xsi_type => 'NumberValue'}}
|
|
64
|
+
]
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
begin
|
|
68
|
+
# Update statement for one page with current offset.
|
|
69
|
+
statement[:query] = query_base % [PAGE_SIZE, offset]
|
|
70
|
+
|
|
71
|
+
# Get activities by statement.
|
|
72
|
+
page = activity_service.get_activities_by_statement(statement)
|
|
73
|
+
|
|
74
|
+
if page[:results]
|
|
75
|
+
# Increase query offset by page size.
|
|
76
|
+
offset += PAGE_SIZE
|
|
77
|
+
|
|
78
|
+
# Get the start index for printout.
|
|
79
|
+
start_index = page[:start_index]
|
|
80
|
+
|
|
81
|
+
# Print details about each content object in results page.
|
|
82
|
+
page[:results].each_with_index do |activity, index|
|
|
83
|
+
puts "%d) Activity with ID: %d, name: %s, type: %s." %
|
|
84
|
+
[index + start_index, activity[:id], activity[:name],
|
|
85
|
+
activity[:type]]
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end while offset < page[:total_result_set_size]
|
|
89
|
+
if page.include?(:total_result_set_size)
|
|
90
|
+
total_results_counter += page[:total_result_set_size]
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# Print a footer.
|
|
95
|
+
puts "Total number of results: %d" % total_results_counter
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
def get_all_activity_group_ids(activity_group_service)
|
|
99
|
+
# Define initial values.
|
|
100
|
+
offset = 0
|
|
101
|
+
page = {}
|
|
102
|
+
activity_group_ids = []
|
|
103
|
+
|
|
104
|
+
begin
|
|
105
|
+
# Create statement for one page with current offset.
|
|
106
|
+
statement = {
|
|
107
|
+
:query => 'ORDER BY id LIMIT %d OFFSET %d' % [PAGE_SIZE, offset],
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
# Get activity groups by statement.
|
|
111
|
+
page = activity_group_service.get_activity_groups_by_statement(statement)
|
|
112
|
+
|
|
113
|
+
if page[:results]
|
|
114
|
+
# Increase query offset by page size.
|
|
115
|
+
offset += PAGE_SIZE
|
|
116
|
+
|
|
117
|
+
activity_group_ids |=
|
|
118
|
+
page[:results].map {|activity_group| activity_group[:id]}
|
|
119
|
+
end
|
|
120
|
+
end while offset < page[:total_result_set_size]
|
|
121
|
+
|
|
122
|
+
return activity_group_ids
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
if __FILE__ == $0
|
|
126
|
+
begin
|
|
127
|
+
get_all_activities()
|
|
128
|
+
|
|
129
|
+
# HTTP errors.
|
|
130
|
+
rescue AdsCommon::Errors::HttpError => e
|
|
131
|
+
puts "HTTP Error: %s" % e
|
|
132
|
+
|
|
133
|
+
# API errors.
|
|
134
|
+
rescue DfpApi::Errors::ApiException => e
|
|
135
|
+
puts "Message: %s" % e.message
|
|
136
|
+
puts 'Errors:'
|
|
137
|
+
e.errors.each_with_index do |error, index|
|
|
138
|
+
puts "\tError [%d]:" % (index + 1)
|
|
139
|
+
error.each do |field, value|
|
|
140
|
+
puts "\t\t%s: %s" % [field, value]
|
|
141
|
+
end
|
|
142
|
+
end
|
|
143
|
+
end
|
|
144
|
+
end
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# Encoding: utf-8
|
|
3
|
+
#
|
|
4
|
+
# Author:: api.davidtorres@gmail.com (David Torres)
|
|
5
|
+
#
|
|
6
|
+
# Copyright:: Copyright 2013, Google Inc. All Rights Reserved.
|
|
7
|
+
#
|
|
8
|
+
# License:: Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
# you may not use this file except in compliance with the License.
|
|
10
|
+
# You may obtain a copy of the License at
|
|
11
|
+
#
|
|
12
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
+
#
|
|
14
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
15
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
17
|
+
# implied.
|
|
18
|
+
# See the License for the specific language governing permissions and
|
|
19
|
+
# limitations under the License.
|
|
20
|
+
#
|
|
21
|
+
# This example updates activity expected URLs. To determine which activities
|
|
22
|
+
# exist, run get_all_activities.rb.
|
|
23
|
+
#
|
|
24
|
+
# Tags: ActivityService.getActivity
|
|
25
|
+
# Tags: ActivityService.updateActivities
|
|
26
|
+
|
|
27
|
+
require 'dfp_api'
|
|
28
|
+
|
|
29
|
+
API_VERSION = :v201306
|
|
30
|
+
|
|
31
|
+
def update_activities()
|
|
32
|
+
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
33
|
+
dfp = DfpApi::Api.new
|
|
34
|
+
|
|
35
|
+
# To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
|
|
36
|
+
# the configuration file or provide your own logger:
|
|
37
|
+
# dfp.logger = Logger.new('dfp_xml.log')
|
|
38
|
+
|
|
39
|
+
# Get the ActivityService.
|
|
40
|
+
activity_service = dfp.service(:ActivityService, API_VERSION)
|
|
41
|
+
|
|
42
|
+
# Set the ID of the activity to update.
|
|
43
|
+
activity_id = 'INSERT_ACTIVITY_ID_HERE'
|
|
44
|
+
|
|
45
|
+
# Get the activity.
|
|
46
|
+
activity = activity_service.get_activity(activity_id)
|
|
47
|
+
|
|
48
|
+
# Update the expected URL.
|
|
49
|
+
activity[:expected_url] = 'https://www.google.com'
|
|
50
|
+
|
|
51
|
+
# Update the activity on the server.
|
|
52
|
+
return_activities = activity_service.update_activities([activity])
|
|
53
|
+
|
|
54
|
+
# Display results.
|
|
55
|
+
if return_activities
|
|
56
|
+
return_activities.each do |updated_activity|
|
|
57
|
+
puts "Activity with ID: %d and name: %s was updated." %
|
|
58
|
+
[updated_activity[:id], updated_activity[:name]]
|
|
59
|
+
end
|
|
60
|
+
else
|
|
61
|
+
raise 'No activities were updated.'
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
if __FILE__ == $0
|
|
67
|
+
begin
|
|
68
|
+
update_activities()
|
|
69
|
+
|
|
70
|
+
# HTTP errors.
|
|
71
|
+
rescue AdsCommon::Errors::HttpError => e
|
|
72
|
+
puts "HTTP Error: %s" % e
|
|
73
|
+
|
|
74
|
+
# API errors.
|
|
75
|
+
rescue DfpApi::Errors::ApiException => e
|
|
76
|
+
puts "Message: %s" % e.message
|
|
77
|
+
puts 'Errors:'
|
|
78
|
+
e.errors.each_with_index do |error, index|
|
|
79
|
+
puts "\tError [%d]:" % (index + 1)
|
|
80
|
+
error.each do |field, value|
|
|
81
|
+
puts "\t\t%s: %s" % [field, value]
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# Encoding: utf-8
|
|
3
|
+
#
|
|
4
|
+
# Author:: api.dklimkin@gmail.com (Danial Klimkin)
|
|
5
|
+
#
|
|
6
|
+
# Copyright:: Copyright 2012, Google Inc. All Rights Reserved.
|
|
7
|
+
#
|
|
8
|
+
# License:: Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
# you may not use this file except in compliance with the License.
|
|
10
|
+
# You may obtain a copy of the License at
|
|
11
|
+
#
|
|
12
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
+
#
|
|
14
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
15
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
17
|
+
# implied.
|
|
18
|
+
# See the License for the specific language governing permissions and
|
|
19
|
+
# limitations under the License.
|
|
20
|
+
#
|
|
21
|
+
# This code example gets all audience segments.
|
|
22
|
+
#
|
|
23
|
+
# Tags: AudienceSegmentService.getAudienceSegmentsByStatement
|
|
24
|
+
|
|
25
|
+
require 'dfp_api'
|
|
26
|
+
|
|
27
|
+
API_VERSION = :v201306
|
|
28
|
+
PAGE_SIZE = 500
|
|
29
|
+
|
|
30
|
+
def get_all_audience_segments()
|
|
31
|
+
# Get DfpApi instance and load configuration from ~/dfp_api.yml.
|
|
32
|
+
dfp = DfpApi::Api.new
|
|
33
|
+
|
|
34
|
+
# To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
|
|
35
|
+
# the configuration file or provide your own logger:
|
|
36
|
+
# dfp.logger = Logger.new('dfp_xml.log')
|
|
37
|
+
|
|
38
|
+
# Get the AudienceSegmentService.
|
|
39
|
+
audience_segment_service = dfp.service(:AudienceSegmentService, API_VERSION)
|
|
40
|
+
|
|
41
|
+
# Define initial values.
|
|
42
|
+
offset = 0
|
|
43
|
+
page = {}
|
|
44
|
+
|
|
45
|
+
begin
|
|
46
|
+
# Create statement for one page with current offset.
|
|
47
|
+
statement = {:query => "LIMIT %d OFFSET %d" % [PAGE_SIZE, offset]}
|
|
48
|
+
|
|
49
|
+
# Get audience segments by statement.
|
|
50
|
+
page =
|
|
51
|
+
audience_segment_service.get_audience_segments_by_statement(statement)
|
|
52
|
+
|
|
53
|
+
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
|
+
# Print details about each audience segment in results page.
|
|
61
|
+
page[:results].each_with_index do |segment, index|
|
|
62
|
+
puts "%d) Audience segment ID: %d, name: %s" %
|
|
63
|
+
[index + start_index, segment[:id], segment[:name]]
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end while offset < page[:total_result_set_size]
|
|
67
|
+
|
|
68
|
+
# Print a footer
|
|
69
|
+
if page.include?(:total_result_set_size)
|
|
70
|
+
puts "Total number of audience segments: %d" % page[:total_result_set_size]
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
if __FILE__ == $0
|
|
75
|
+
begin
|
|
76
|
+
get_all_audience_segments()
|
|
77
|
+
|
|
78
|
+
# HTTP errors.
|
|
79
|
+
rescue AdsCommon::Errors::HttpError => e
|
|
80
|
+
puts "HTTP Error: %s" % e
|
|
81
|
+
|
|
82
|
+
# API errors.
|
|
83
|
+
rescue DfpApi::Errors::ApiException => e
|
|
84
|
+
puts "Message: %s" % e.message
|
|
85
|
+
puts 'Errors:'
|
|
86
|
+
e.errors.each_with_index do |error, index|
|
|
87
|
+
puts "\tError [%d]:" % (index + 1)
|
|
88
|
+
error.each do |field, value|
|
|
89
|
+
puts "\t\t%s: %s" % [field, value]
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
end
|