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
data/ChangeLog
CHANGED
data/README
CHANGED
|
@@ -68,14 +68,18 @@ file. Alternatively, you can pass a configuration hash directly to the
|
|
|
68
68
|
constructor:
|
|
69
69
|
dfp = DfpApi::Api.new({
|
|
70
70
|
:authentication => {
|
|
71
|
-
:method => '
|
|
71
|
+
:method => 'OAuth2',
|
|
72
|
+
:oauth2_client_id: 'INSERT_OAUTH2_CLIENT_ID_HERE',
|
|
73
|
+
:oauth2_client_secret: 'INSERT_OAUTH2_CLIENT_SECRET_HERE',
|
|
72
74
|
:application_name => 'Ruby DFP Sample',
|
|
73
|
-
:email => 'user@domain.com',
|
|
74
|
-
:password => 'PASSWORD',
|
|
75
75
|
:network_code => 123456
|
|
76
76
|
}
|
|
77
77
|
})
|
|
78
78
|
|
|
79
|
+
To obtain OAuth2 client credentials, follow instructions on the wiki:
|
|
80
|
+
|
|
81
|
+
http://code.google.com/p/google-api-ads-ruby/wiki/OAuth2
|
|
82
|
+
|
|
79
83
|
An example of configuration file is available as part of this library.
|
|
80
84
|
|
|
81
85
|
*Note*: if you are using Ruby 1.8 you may need to include RubyGems to be able
|
|
@@ -112,7 +116,7 @@ Once the library object is created you can request services with a 'service'
|
|
|
112
116
|
method:
|
|
113
117
|
user_service = dfp.service(:UserService, <API_VERSION>)
|
|
114
118
|
|
|
115
|
-
where <API_VERSION> is required version of DFP API as symbol, e.g. :
|
|
119
|
+
where <API_VERSION> is required version of DFP API as symbol, e.g. :v201306.
|
|
116
120
|
|
|
117
121
|
Then you should be able to execute service methods:
|
|
118
122
|
|
|
@@ -146,7 +150,7 @@ Examples can be run by executing by running:
|
|
|
146
150
|
|
|
147
151
|
from the "examples/<version>/<service_name>" directory i.e.
|
|
148
152
|
|
|
149
|
-
$ cd examples/
|
|
153
|
+
$ cd examples/v201306/user_service
|
|
150
154
|
$ ruby get_all_users.rb
|
|
151
155
|
|
|
152
156
|
Some examples require modification to be functional, like create_order example
|
|
@@ -222,12 +226,17 @@ Questions can be asked on forum
|
|
|
222
226
|
|
|
223
227
|
http://groups.google.com/group/google-doubleclick-for-publishers-api/
|
|
224
228
|
|
|
229
|
+
Make sure to subscribe to our Google Plus page for API change announcements and
|
|
230
|
+
other news:
|
|
231
|
+
|
|
232
|
+
https://plus.google.com/+GoogleAdsDevelopers
|
|
233
|
+
|
|
225
234
|
|
|
226
235
|
= Copyright/License Info
|
|
227
236
|
|
|
228
237
|
== License
|
|
229
238
|
|
|
230
|
-
Copyright 2011-
|
|
239
|
+
Copyright 2011-2013, Google Inc. All Rights Reserved.
|
|
231
240
|
|
|
232
241
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
233
242
|
this file except in compliance with the License.
|
data/dfp_api.yml
CHANGED
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
:authentication:
|
|
7
7
|
# Authentication method, methods currently supported: OAUTH2, OAUTH2_JWT,
|
|
8
8
|
# ClientLogin.
|
|
9
|
-
:method:
|
|
9
|
+
:method: OAuth2
|
|
10
10
|
|
|
11
11
|
# Auth parameters for OAUTH2 method.
|
|
12
12
|
# Set the OAuth2 client id and secret. Register your application here to
|
|
13
13
|
# obtain these values:
|
|
14
14
|
# https://code.google.com/apis/console#access
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
:oauth2_client_id: INSERT_OAUTH2_CLIENT_ID_HERE
|
|
16
|
+
:oauth2_client_secret: INSERT_OAUTH2_CLIENT_SECRET_HERE
|
|
17
17
|
# Optional, see: https://developers.google.com/accounts/docs/OAuth2WebServer
|
|
18
18
|
#:oauth2_callback: INSERT_OAUTH2_CALLBACK_URL_HERE
|
|
19
19
|
#:oauth2_state: INSERT_OAUTH2_STATE_HERE
|
|
@@ -31,8 +31,9 @@
|
|
|
31
31
|
#:oauth2_prn: INSERT_OAUTH2_PRN_HERE
|
|
32
32
|
|
|
33
33
|
# Auth parameters for ClientLogin method.
|
|
34
|
-
:
|
|
35
|
-
:
|
|
34
|
+
# NOTE: ClientLogin method is deprecated, use OAuth2.0 instead.
|
|
35
|
+
#:password: INSERT_PASSWORD_HERE
|
|
36
|
+
#:email: INSERT_EMAIL_HERE
|
|
36
37
|
# To manage your auth tokens manually, use the 'auth_token' property.
|
|
37
38
|
#:auth_token: INSERT_AUTH_TOKEN_HERE
|
|
38
39
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,94 @@
|
|
|
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 activity groups. To determine which activity groups
|
|
22
|
+
# exist, run get_all_activity_groups.rb.
|
|
23
|
+
#
|
|
24
|
+
# Tags: ActivityGroupService.createActivityGroups
|
|
25
|
+
|
|
26
|
+
require 'dfp_api'
|
|
27
|
+
|
|
28
|
+
API_VERSION = :v201306
|
|
29
|
+
|
|
30
|
+
def create_activity_groups()
|
|
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 ActivityGroupService.
|
|
39
|
+
activity_group_service = dfp.service(:ActivityGroupService, API_VERSION)
|
|
40
|
+
|
|
41
|
+
# Set the ID of the advertiser company this activity group is associated
|
|
42
|
+
# with.
|
|
43
|
+
advertiser_company_id = 'INSERT_ADVERTISER_COMPANY_ID_HERE';
|
|
44
|
+
|
|
45
|
+
# Create a short-term activity group.
|
|
46
|
+
short_term_activity_group = {
|
|
47
|
+
:name => 'Short-term activity group',
|
|
48
|
+
:company_ids => [advertiser_company_id],
|
|
49
|
+
:clicks_lookback => 1,
|
|
50
|
+
:impressions_lookback => 1
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
# Create a long-term activity group.
|
|
54
|
+
long_term_activity_group = {
|
|
55
|
+
:name => 'Long-term activity group',
|
|
56
|
+
:company_ids => [advertiser_company_id],
|
|
57
|
+
:clicks_lookback => 30,
|
|
58
|
+
:impressions_lookback => 30
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
# Create the activity groups on the server.
|
|
62
|
+
return_activity_groups = activity_group_service.create_activity_groups([
|
|
63
|
+
short_term_activity_group, long_term_activity_group])
|
|
64
|
+
|
|
65
|
+
if return_activity_groups
|
|
66
|
+
return_activity_groups.each do |activity_group|
|
|
67
|
+
puts "An activity group with ID: %d and name: %s was created." %
|
|
68
|
+
[activity_group[:id], activity_group[:name]]
|
|
69
|
+
end
|
|
70
|
+
else
|
|
71
|
+
raise 'No activity groups were created.'
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
if __FILE__ == $0
|
|
76
|
+
begin
|
|
77
|
+
create_activity_groups()
|
|
78
|
+
|
|
79
|
+
# HTTP errors.
|
|
80
|
+
rescue AdsCommon::Errors::HttpError => e
|
|
81
|
+
puts "HTTP Error: %s" % e
|
|
82
|
+
|
|
83
|
+
# API errors.
|
|
84
|
+
rescue DfpApi::Errors::ApiException => e
|
|
85
|
+
puts "Message: %s" % e.message
|
|
86
|
+
puts 'Errors:'
|
|
87
|
+
e.errors.each_with_index do |error, index|
|
|
88
|
+
puts "\tError [%d]:" % (index + 1)
|
|
89
|
+
error.each do |field, value|
|
|
90
|
+
puts "\t\t%s: %s" % [field, value]
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
@@ -0,0 +1,100 @@
|
|
|
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 activity groups. To create activity groups,
|
|
22
|
+
# run create_activity_groups.rb.
|
|
23
|
+
#
|
|
24
|
+
# Tags: ActivityGroupService.getActivityGroupsByStatement
|
|
25
|
+
|
|
26
|
+
require 'dfp_api'
|
|
27
|
+
|
|
28
|
+
API_VERSION = :v201306
|
|
29
|
+
PAGE_SIZE = 500
|
|
30
|
+
|
|
31
|
+
def get_active_activity_groups()
|
|
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 ActivityGroupService.
|
|
40
|
+
activity_group_service = dfp.service(:ActivityGroupService, API_VERSION)
|
|
41
|
+
|
|
42
|
+
# Define initial values.
|
|
43
|
+
offset = 0
|
|
44
|
+
page = {}
|
|
45
|
+
|
|
46
|
+
begin
|
|
47
|
+
# Create statement for one page with current offset.
|
|
48
|
+
statement = {
|
|
49
|
+
:query => 'WHERE status = :status ORDER BY id LIMIT %d OFFSET %d' %
|
|
50
|
+
[PAGE_SIZE, offset],
|
|
51
|
+
:values => [
|
|
52
|
+
{:key => 'status',
|
|
53
|
+
:value => {:value => 'ACTIVE', :xsi_type => 'TextValue'}}
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
# Get activity groups by statement.
|
|
58
|
+
page = activity_group_service.get_activity_groups_by_statement(statement)
|
|
59
|
+
|
|
60
|
+
if page[:results]
|
|
61
|
+
# Increase query offset by page size.
|
|
62
|
+
offset += PAGE_SIZE
|
|
63
|
+
|
|
64
|
+
# Get the start index for printout.
|
|
65
|
+
start_index = page[:start_index]
|
|
66
|
+
|
|
67
|
+
# Print details about each content object in results page.
|
|
68
|
+
page[:results].each_with_index do |activity_group, index|
|
|
69
|
+
puts "%d) Activity group with ID: %d, name: %s." % [index + start_index,
|
|
70
|
+
activity_group[:id], activity_group[:name]]
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end while offset < page[:total_result_set_size]
|
|
74
|
+
|
|
75
|
+
# Print a footer
|
|
76
|
+
if page.include?(:total_result_set_size)
|
|
77
|
+
puts "Total number of results: %d" % page[:total_result_set_size]
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
if __FILE__ == $0
|
|
82
|
+
begin
|
|
83
|
+
get_active_activity_groups()
|
|
84
|
+
|
|
85
|
+
# HTTP errors.
|
|
86
|
+
rescue AdsCommon::Errors::HttpError => e
|
|
87
|
+
puts "HTTP Error: %s" % e
|
|
88
|
+
|
|
89
|
+
# API errors.
|
|
90
|
+
rescue DfpApi::Errors::ApiException => e
|
|
91
|
+
puts "Message: %s" % e.message
|
|
92
|
+
puts 'Errors:'
|
|
93
|
+
e.errors.each_with_index do |error, index|
|
|
94
|
+
puts "\tError [%d]:" % (index + 1)
|
|
95
|
+
error.each do |field, value|
|
|
96
|
+
puts "\t\t%s: %s" % [field, value]
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
@@ -0,0 +1,95 @@
|
|
|
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 activity groups. To create activity groups,
|
|
22
|
+
# run create_activity_groups.rb.
|
|
23
|
+
#
|
|
24
|
+
# Tags: ActivityGroupService.getActivityGroupsByStatement
|
|
25
|
+
|
|
26
|
+
require 'dfp_api'
|
|
27
|
+
|
|
28
|
+
API_VERSION = :v201306
|
|
29
|
+
PAGE_SIZE = 500
|
|
30
|
+
|
|
31
|
+
def get_all_activity_groups()
|
|
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 ActivityGroupService.
|
|
40
|
+
activity_group_service = dfp.service(:ActivityGroupService, API_VERSION)
|
|
41
|
+
|
|
42
|
+
# Define initial values.
|
|
43
|
+
offset = 0
|
|
44
|
+
page = {}
|
|
45
|
+
|
|
46
|
+
begin
|
|
47
|
+
# Create statement for one page with current offset.
|
|
48
|
+
statement = {
|
|
49
|
+
:query => 'ORDER BY id LIMIT %d OFFSET %d' % [PAGE_SIZE, offset],
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
# Get activity groups by statement.
|
|
53
|
+
page = activity_group_service.get_activity_groups_by_statement(statement)
|
|
54
|
+
|
|
55
|
+
if page[:results]
|
|
56
|
+
# Increase query offset by page size.
|
|
57
|
+
offset += PAGE_SIZE
|
|
58
|
+
|
|
59
|
+
# Get the start index for printout.
|
|
60
|
+
start_index = page[:start_index]
|
|
61
|
+
|
|
62
|
+
# Print details about each content object in results page.
|
|
63
|
+
page[:results].each_with_index do |activity_group, index|
|
|
64
|
+
puts "%d) Activity group with ID: %d, name: %s." % [index + start_index,
|
|
65
|
+
activity_group[:id], activity_group[:name]]
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end while offset < page[:total_result_set_size]
|
|
69
|
+
|
|
70
|
+
# Print a footer
|
|
71
|
+
if page.include?(:total_result_set_size)
|
|
72
|
+
puts "Total number of results: %d" % page[:total_result_set_size]
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
if __FILE__ == $0
|
|
77
|
+
begin
|
|
78
|
+
get_all_activity_groups()
|
|
79
|
+
|
|
80
|
+
# HTTP errors.
|
|
81
|
+
rescue AdsCommon::Errors::HttpError => e
|
|
82
|
+
puts "HTTP Error: %s" % e
|
|
83
|
+
|
|
84
|
+
# API errors.
|
|
85
|
+
rescue DfpApi::Errors::ApiException => e
|
|
86
|
+
puts "Message: %s" % e.message
|
|
87
|
+
puts 'Errors:'
|
|
88
|
+
e.errors.each_with_index do |error, index|
|
|
89
|
+
puts "\tError [%d]:" % (index + 1)
|
|
90
|
+
error.each do |field, value|
|
|
91
|
+
puts "\t\t%s: %s" % [field, value]
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|
|
@@ -0,0 +1,87 @@
|
|
|
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 groups by adding a company. To determine which
|
|
22
|
+
# activity groups exist, run get_all_activity_groups.rb.
|
|
23
|
+
#
|
|
24
|
+
# Tags: ActivityGroupService.getActivityGroup
|
|
25
|
+
# Tags: ActivityGroupService.updateActivityGroups
|
|
26
|
+
|
|
27
|
+
require 'dfp_api'
|
|
28
|
+
|
|
29
|
+
API_VERSION = :v201306
|
|
30
|
+
|
|
31
|
+
def update_activity_groups()
|
|
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 ActivityGroupService.
|
|
40
|
+
activity_group_service = dfp.service(:ActivityGroupService, API_VERSION)
|
|
41
|
+
|
|
42
|
+
# Set the ID of the activity group and the company to update it with.
|
|
43
|
+
activity_group_id = 'INSERT_ACTIVITY_GROUP_ID_HERE'
|
|
44
|
+
advertiser_company_id = 'INSERT_ADVERTISER_COMPANY_ID_HERE'
|
|
45
|
+
|
|
46
|
+
# Get the activity group.
|
|
47
|
+
activity_group = activity_group_service.get_activity_group(activity_group_id)
|
|
48
|
+
|
|
49
|
+
# Update the companies.
|
|
50
|
+
activity_group[:company_ids] << advertiser_company_id
|
|
51
|
+
|
|
52
|
+
# Update the activity groups on the server.
|
|
53
|
+
return_activity_groups = activity_group_service.update_activity_groups([
|
|
54
|
+
activity_group])
|
|
55
|
+
|
|
56
|
+
# Display results.
|
|
57
|
+
if return_activity_groups
|
|
58
|
+
return_activity_groups.each do |updates_activity_group|
|
|
59
|
+
puts "Activity group with ID: %d and name: %s was updated." %
|
|
60
|
+
[updates_activity_group[:id], updates_activity_group[:name]]
|
|
61
|
+
end
|
|
62
|
+
else
|
|
63
|
+
raise 'No activity groups were updated.'
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
if __FILE__ == $0
|
|
69
|
+
begin
|
|
70
|
+
update_activity_groups()
|
|
71
|
+
|
|
72
|
+
# HTTP errors.
|
|
73
|
+
rescue AdsCommon::Errors::HttpError => e
|
|
74
|
+
puts "HTTP Error: %s" % e
|
|
75
|
+
|
|
76
|
+
# API errors.
|
|
77
|
+
rescue DfpApi::Errors::ApiException => e
|
|
78
|
+
puts "Message: %s" % e.message
|
|
79
|
+
puts 'Errors:'
|
|
80
|
+
e.errors.each_with_index do |error, index|
|
|
81
|
+
puts "\tError [%d]:" % (index + 1)
|
|
82
|
+
error.each do |field, value|
|
|
83
|
+
puts "\t\t%s: %s" % [field, value]
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|