<?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"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" 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" gd:etag="W/&quot;CU8FSHwyfCp7ImA9WhRaEU0.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332</id><updated>2012-02-12T19:30:19.294-08:00</updated><category term="mobile" /><category term="adwhirl_v3.1.1" /><category term="suggested_ad_units" /><category term="deprecation" /><category term="dfp_appengine" /><category term="mobile_targeting" /><category term="dfp_v201111" /><category term="analytics" /><category term="geotargeting" /><category term="best_practices" /><category term="dfa_api" /><category term="adsense_management_api_v1.1" /><category term="animation" /><category term="common_questions" /><category term="adwords_CreateAccountService" /><category term="adsense_host_api_v3" /><category term="admob_v4.3.1" /><category term="android_layout" /><category term="oauth" /><category term="iOS" /><category term="adsense_management_api" /><category term="dfa_ad_service" /><category term="dfa_v1.16" /><category term="reporting" /><category term="adwords_v201109" /><category term="xml" /><category term="i18n" /><category term="adsense_api" /><category term="certificates" /><category term="docs" /><category term="reports" /><category term="admob_v5.0.5" /><category term="php" /><category term="client_libraries" /><category term="app_engine" /><category term="impression_share" /><category term="creatives" /><category term="dfp_api" /><category term="adwhirl" /><category term="dfa_v1.17" /><category term="google_apps_script" /><category term="hangout" /><category term="admob_sdk" /><category term="interview" /><category term="android" /><category term="chart_tools" /><category term="adsense_management_api_v1" /><category term="ssl" /><category term="dfp_v201201" /><category term="adwords_api" /><category term="dfa_v1.18" /><title>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="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://googleadsdeveloper.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://googleadsdeveloper.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Rachel Durfee</name><uri>http://www.blogger.com/profile/16428609225474396121</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>55</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/GoogleAdsDeveloperBlog" /><feedburner:info uri="googleadsdeveloperblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>GoogleAdsDeveloperBlog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;DEMDR3Yzeip7ImA9WhRbGU0.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-200783030784804679</id><published>2012-02-10T12:30:00.000-08:00</published><updated>2012-02-10T12:41:16.882-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-10T12:41:16.882-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api" /><category scheme="http://www.blogger.com/atom/ns#" term="deprecation" /><title>Retiring support for v201103, v201104, and v201107 of the DFP API</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Today, we are announcing the deprecation of versions &lt;b&gt;v201103&lt;/b&gt;, &lt;b&gt;v201104&lt;/b&gt;, and &lt;b&gt;v201107&lt;/b&gt; of the DFP API. In 3 months, on &lt;b&gt;May 11th&lt;/b&gt;, these versions will be turned off. We are turning off older versions to make sure that everyone can benefit from the improvements in more recent releases and so that we can focus on releasing new features.&lt;br /&gt;
&lt;br /&gt;
As mentioned in previous deprecation announcements, we will always give at least 3 months notice before turning off a version. Our &lt;a href="http://code.google.com/apis/dfp/docs/rel_notes.html"&gt;release notes page&lt;/a&gt; also contains changelogs for each version, which will help you migrate to a newer version.  If you aren’t using one of our &lt;a href="http://code.google.com/apis/dfp/docs/clients.html"&gt;client libraries&lt;/a&gt;, now would be a great time to start as well.  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 href="http://code.google.com/apis/dfp/forum/discussions.html"&gt; forum&lt;/a&gt; or join us in &lt;a href="https://www.google.com/calendar/b/0/render?eid=dWNkNXF0OTFqbm5mMTlsa2U4NGYwNmNsanMgN2JycWc2MmkwbWJpbnUyMjZpYmxwY25tb29AZw&amp;amp;pli=1&amp;amp;sf=true&amp;amp;output=xml"&gt;a future hangout&lt;/a&gt;&amp;nbsp;on Feb 28th.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href="https://plus.google.com/100742954389084668497" style="text-align: left;"&gt;&lt;img alt="" border="0" height="20" id="BLOGGER_PHOTO_ID_5677875414712016498" src="https://lh4.googleusercontent.com/-tcqfAdWqCFc/AAAAAAAAAAI/AAAAAAABT3Y/JU6vWx64NbU/photo.jpg?sz=20" style="border-bottom-style: none; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&lt;span style="text-align: left;"&gt;&amp;nbsp;-&amp;nbsp;&lt;/span&gt;&lt;a href="https://plus.google.com/100742954389084668497" rel="author" style="text-align: left;"&gt;Adam Rogal&lt;/a&gt;&lt;span style="text-align: left;"&gt;, DFP API Team&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-200783030784804679?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/rRWXKJDxfAk" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/200783030784804679?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/200783030784804679?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/rRWXKJDxfAk/retiring-support-for-v201103-v201104.html" title="Retiring support for v201103, v201104, and v201107 of the DFP API" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh4.googleusercontent.com/-tcqfAdWqCFc/AAAAAAAAAAI/AAAAAAABT3Y/JU6vWx64NbU/s72-c/photo.jpg?sz=20" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/02/retiring-support-for-v201103-v201104.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cAR3k-fyp7ImA9WhRbFk4.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-5173830637488605564</id><published>2012-02-07T10:00:00.000-08:00</published><updated>2012-02-07T10:24:06.757-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-07T10:24:06.757-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api" /><title>isocket and Shiny Ads deliver new innovations using the DFP API</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;i&gt;Editor’s note: We’d like to share with you this &lt;a href="http://doubleclickpublishers.blogspot.com/2012/02/isocket-and-shiny-ads-deliver-new.html"&gt;post&lt;/a&gt; from John Park about the growing DFP API  ecosystem and a few success stories from our&amp;nbsp;&lt;a href="http://support.google.com/dfp_premium/bin/topic.py?hl=en&amp;amp;topic=2456651"&gt;partner directory&lt;/a&gt;. -- Adam Rogal, Ads Developer Relations Team&lt;/i&gt;&lt;br /&gt;
&lt;div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: small; line-height: 20px;"&gt;
&lt;span style="font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: small; line-height: 20px;"&gt;
&lt;span id="internal-source-marker_0.36028193356469274"&gt;&lt;span style="font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;With thousands of publishers using the DFP and DFP Small Business ad serving platforms, we know first-hand that no two publishers are identical. Publishers may use in-house billing systems, have unique approval workflows, or use third-party tools to handle their ad operations.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;To give publishers the flexibility to easily integrate their unique processes and systems with their ad server, DFP offers publishers an open &lt;/span&gt;&lt;a href="http://code.google.com/apis/dfp/" style="font-weight: bold;"&gt;&lt;span style="color: #1155cc; font-family: Arial; font-size: 13px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;API&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt; to easily &lt;/span&gt;&lt;span style="background-color: white; font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;create tools that complement their ad operations. &lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br class="kix-line-break" /&gt;We’ve seen hundreds of developers build new ad serving innovations using the API, including applications to manage inventory, create orders, pull reports, and more. The API has created a new ecosystem of partner innovations, giving publishers access to new ad serving tools and applications. Two such applications come from &lt;/span&gt;&lt;a href="https://www.isocket.com/" style="font-weight: bold;"&gt;&lt;span style="background-color: white; color: #1155cc; font-family: Arial; font-size: 13px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;isocket&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt; and &lt;/span&gt;&lt;a href="http://shinyads.com/" style="font-weight: bold;"&gt;&lt;span style="background-color: white; color: #1155cc; font-family: Arial; font-size: 13px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Shiny Ads&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt; who have used the DFP API to build applications that help publishers manage and sell their ad space.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: 13px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;isocket uses the API to create tools that streamlines sales&lt;/span&gt;&lt;span style="font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;Seeing the need to streamline the manual steps involved with buying and selling inventory, isocket engineered a direct and self-service ad sales tool to simplify sales workflows. By leveraging the DFP API, isocket was able to build an application to automate sales processes and save money. “We were interested in using the API because it allowed us to eliminate the hassle of manually coordinating campaigns, while still keeping the important parts like publisher control and approval. Integrating with the DFP API has allowed us to make things a lot simpler for publishers,” said Ben Trenda, VP of Sales at isocket.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.google.com/doubleclick/pdfs/DFP-API-iSocket.pdf" style="font-weight: bold;"&gt;&lt;span style="color: #1155cc; font-family: Arial; font-size: 13px; font-style: italic; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Read more&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Arial; font-size: 13px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;"&gt; about how isocket integrated with the DFP API. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: 13px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: 13px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;Shiny Ads builds application to help publishers save time&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;To help facilitate publishers’ direct ad campaign management, Shiny Ads began using&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;the DFP API to integrate its self-serve advertising platform with DFP in order to help publishers streamline their sales processes. This integration has helped save publishers time since they no longer need to manually book sales orders. “Our solution needs to support DFP - our customers demand it” &amp;nbsp;said CEO and founder Roy Pereira. “The API made integrating with DFP easy for us, and most importantly, easy for our clients. Without the DFP API, Shiny Ads would not have the fully functional solution we have today.” &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.google.com/doubleclick/pdfs/DFP-API-ShinyAds.pdf" style="font-weight: bold;"&gt;&lt;span style="color: #1155cc; font-family: Arial; font-size: 13px; font-style: italic; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Read more&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Arial; font-size: 13px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;"&gt; about how Shiny Ads integrated with the DFP API. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: 13px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Arial; font-size: 13px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;b id="internal-source-marker_0.36028193356469274" style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: small; line-height: 20px;"&gt;&lt;span style="font-family: Arial; font-size: 13px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Over the coming months, we’ll share more stories on how our partners are using the DFP API to deliver exciting ad serving innovations. For a complete list of partners who have built applications using the DFP API, please visit our &lt;/span&gt;&lt;a href="http://support.google.com/dfp_premium/bin/topic.py?hl=en&amp;amp;topic=2456651"&gt;&lt;span style="color: #1155cc; font-family: Arial; font-size: 13px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;partner directory&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Arial; font-size: 13px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="post-author" style="background-color: white; color: #666666; display: block; font-family: Arial, sans-serif; font-size: x-small; line-height: 20px; margin-bottom: 0.7em; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="post-author" style="background-color: white; color: #666666; display: block; font-family: Arial, sans-serif; font-size: x-small; line-height: 20px; margin-bottom: 0.7em; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Posted by John Park, Partner Programs Manager, and Adam Rogal, Developer Relations&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-5173830637488605564?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/9VYYtRZMXrQ" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/5173830637488605564?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/5173830637488605564?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/9VYYtRZMXrQ/editors-note-wed-like-to-share-with-you.html" title="isocket and Shiny Ads deliver new innovations using the DFP API" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/02/editors-note-wed-like-to-share-with-you.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQNRngzfSp7ImA9WhRbFUo.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-1126164877319273523</id><published>2012-02-06T15:00:00.000-08:00</published><updated>2012-02-06T15:19:57.685-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-06T15:19:57.685-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="dfp_v201201" /><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api" /><title>Announcing v201201 of the DFP API</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
The newest version of the API, v201201, brings some frequently requested features including using date time strings in PQL statements, filtering objects based on last modified date and times, including a PQL statement to limit a report (such as just running a report for one order), and more. A full list of features can be found on our &lt;a href="http://code.google.com/apis/dfp/docs/rel_notes.html"&gt;release notes page&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Filtering&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In v201201, we’ve focused on improving filtering with PQL statements across the entire API. We’ve introduced a better way to do &lt;a href="http://code.google.com/apis/dfp/docs/pqlreference.html#syntax"&gt;date time filtering&lt;/a&gt;, a new &lt;a href="http://code.google.com/apis/dfp/docs/reference/v201201/LineItemService.LineItem.html#lastModifiedDateTime"&gt;lastModifiedDateTime&lt;/a&gt;&amp;nbsp;field to search on, and the ability to &lt;a href="http://code.google.com/apis/dfp/docs/reference/latest/ReportService.ReportQuery.html#statement"&gt;filter&lt;/a&gt; from within a report.&lt;br /&gt;
&lt;br /&gt;
With the ability to filter by date and time fields directly in the PQL statement, you’ll now be able to limit the objects on the server, rather than fetch all line items and checking their &lt;a href="http://code.google.com/apis/dfp/docs/reference/v201201/LineItemService.LineItem.html#startDateTime"&gt;startDateTime&lt;/a&gt; property one at a time. For example, if you want to retrieve all line items that started so far in January, include
&lt;pre style="border: none; display: inline; margin: 0px; padding: 0px;"&gt;startDateTime&lt;/pre&gt;
as a predicate of your filter with a date and time string, e.g. &lt;br /&gt;
&lt;pre style="border: none; display: inline; margin: 0px; padding: 0px;"&gt;WHERE startDateTime &amp;gt;= ‘2012-01-01T00:00:00’&lt;/pre&gt;
. Note here that the date and time are in ISO 8061 format, i.e. &lt;pre style="border: none; display: inline; margin: 0px; padding: 0px;"&gt;YYYY-MM-DDThh:mm:ss&lt;/pre&gt;
, and the time zone is assumed to be that of the network’s. You can also bind a DateTime object instead of using a string, i.e. &lt;br /&gt;
&lt;pre style="border: none; display: inline; margin: 0px; padding: 0px;"&gt;WHERE startDateTime &amp;gt; :dateTime&lt;/pre&gt;
, where &lt;pre style="border: none; display: inline; margin: 0px; padding: 0px;"&gt;:dateTime&lt;/pre&gt;
is bound to a &lt;a href="http://code.google.com/apis/dfp/docs/reference/latest/LineItemService.DateTimeValue.html"&gt;DateTimeValue&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
We’ve also added the new &lt;a href="http://code.google.com/apis/dfp/docs/reference/latest/LineItemService.LineItem.html#lastModifiedDateTime"&gt;lastModifiedDateTime&lt;/a&gt; field to companies, creatives, ad units, line item creative associations, line items, orders, and placements. Using this field, you can now query for objects that have changed recently. Combined with the new date and time filtering feature mentioned above, you will be able to pull all objects changed so far this year, e.g. &lt;br /&gt;
&lt;pre style="border: none; display: inline; margin: 0px; padding: 0px;"&gt;WHERE lastModifiedDateTime &amp;gt;= ‘2012-01-01T00:00:00’&lt;/pre&gt;
. If you are a developing an application that has to keep in sync with changes made through the UI, only pulling down objects that have changed since your last fetch time will speed up your calls and decrease processing time.&lt;br /&gt;
&lt;br /&gt;
Finally, one of the largest requests from our developers was to limit what data is returned from within a report. We’ve add the ability to define a &lt;a href="http://code.google.com/apis/dfp/docs/reference/latest/ReportService.ReportQuery.html#statement"&gt;PQL statement&lt;/a&gt;&amp;nbsp;in a report definition to do just that. Now when you create a report, you’ll be able to supply statements to limit it to just one order, e.g.&lt;br&gt;&lt;pre style="border: none; display: inline; margin: 0px; padding: 0px;"&gt;WHERE orderId = :orderId&lt;/pre&gt;, or with only one salesperson as well, e.g. &lt;br&gt;&lt;pre style="border: none; display: inline; margin: 0px; padding: 0px;"&gt;WHERE orderId = :orderId AND salespersonId = :salespersonId&lt;/pre&gt;.&lt;br&gt;
&lt;br /&gt;
&lt;b&gt;Creatives&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In v201102, we’ve added three new creative types that are only available to small business networks:&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;a href="http://code.google.com/apis/dfp/docs/reference/latest/CreativeService.FlashExpandableCreative.html"&gt;FlashExpandableCreative&lt;/a&gt; - an expandable creative where the collapsed size is a Flash SWF file and the expanded size is another Flash SWF file.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/apis/dfp/docs/reference/latest/CreativeService.FlashPushdownCreative.html"&gt;FlashPushdownCreative&lt;/a&gt; - a creative that pushes page content down when the creative expands.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/apis/dfp/docs/reference/latest/CreativeService.TextAdCreative.html"&gt;TextAdCreative&lt;/a&gt; - a text-based creative.&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;Teams&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
We’ve introduced a new service with this version, &lt;a href="http://code.google.com/apis/dfp/docs/reference/latest/TeamService.html"&gt;TeamService&lt;/a&gt;, which lets you group users into teams. Although currently not editable via the API, teams will be used to limit access to entities such as companies, inventory, and orders.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Coming soon&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Over the next few weeks, you’ll learn about all of the features a bit more in the &lt;i&gt;Discover v201201&lt;/i&gt; series starting first with a discussion of filtering and syncing best practices. Let us know if you want to see anything else on our &lt;a href="https://groups.google.com/forum/?fromgroups#!forum/google-doubleclick-for-publishers-api"&gt;forum&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://plus.google.com/100742954389084668497"&gt;&lt;img alt="" border="0" height="20" id="BLOGGER_PHOTO_ID_5677875414712016498" src="https://lh4.googleusercontent.com/-tcqfAdWqCFc/AAAAAAAAAAI/AAAAAAABT3Y/JU6vWx64NbU/photo.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt; - &lt;a href="https://plus.google.com/100742954389084668497" rel="author"&gt;Adam Rogal&lt;/a&gt;, DFP API Team
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-1126164877319273523?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/HLpWIoqh5So" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/1126164877319273523?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/1126164877319273523?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/HLpWIoqh5So/announcing-v201201-of-dfp-api.html" title="Announcing v201201 of the DFP API" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh4.googleusercontent.com/-tcqfAdWqCFc/AAAAAAAAAAI/AAAAAAABT3Y/JU6vWx64NbU/s72-c/photo.jpg?sz=20" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/02/announcing-v201201-of-dfp-api.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAEQXY4fip7ImA9WhRbEU0.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-5385912837403857911</id><published>2012-02-01T06:31:00.000-08:00</published><updated>2012-02-01T06:31:40.836-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T06:31:40.836-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="common_questions" /><category scheme="http://www.blogger.com/atom/ns#" term="best_practices" /><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api" /><title>AdWords API: Retrieving large result sets</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;p&gt;When you need to retrieve a large set of objects, such as a list of criteria for an account, it’s tempting to use one simple query with a paging parameter to pull the data from the server page-by-page.&lt;/p&gt;
&lt;p&gt;While this approach is acceptable for most queries, it has some limitations:
&lt;ul&gt;&lt;li&gt;The AdWords API does not allow you to retrieve data whose start index is past 50000&lt;li&gt;Unit cost for the request will depend on the number of pages and will be relatively expensive&lt;li&gt;A parallel update request may interfere with the process&lt;li&gt;Error handling and retry logic could be complex&lt;/ul&gt;&lt;/p&gt;
&lt;p&gt;We recommend using one of the following approaches instead:
&lt;ol&gt;&lt;li&gt;Use AdHoc reporting to obtain data. With reports, you can still retrieve &lt;a href="http://code.google.com/apis/adwords/docs/appendix/reports.html"&gt;most fields&lt;/a&gt; available through SOAP requests, with the added bonus of AdHoc reporting being faster and free of unit costs.&lt;li&gt;Try to narrow the query as much as possible with predicates. Group queries by Campaign and AdGroup to retrieve only required data and to fit all results into one response.&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;Also, you can save bandwidth and retrieve large results faster by enabling transparent gzip compression. Check out our &lt;a href="http://code.google.com/apis/adwords/docs/guides/bestpractices.html"&gt;best practices page&lt;/a&gt; for more details on this feature and other recommendations.&lt;/p&gt;
&lt;p&gt;As always, please feel free to ask any questions regarding the AdWords API on our &lt;a href="http://code.google.com/apis/adwords/community/"&gt;forum&lt;/a&gt; or during scheduled &lt;a href="http://code.google.com/apis/adwords/community/officehours.html"&gt;office hours&lt;/a&gt;.&lt;/p&gt;
&lt;br /&gt;
&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/116761214452114671837?rel=author" rel="author"&gt;&lt;img width="20" height="20" src="https://lh5.googleusercontent.com/-Hq6rboNwMwM/AAAAAAAAAAI/AAAAAAAAAB8/h6qaLWk4PzE/photo.jpg?sz=20" style="vertical-align:middle; border:none;"&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/116761214452114671837?rel=author" rel="author"&gt;Danial Klimkin&lt;/a&gt;, AdWords API Team&lt;/span&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-5385912837403857911?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/0So4CcSt8VM" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/5385912837403857911?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/5385912837403857911?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/0So4CcSt8VM/adwords-api-retrieving-large-result.html" title="AdWords API: Retrieving large result sets" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-Hq6rboNwMwM/AAAAAAAAAAI/AAAAAAAAAB8/h6qaLWk4PzE/s72-c/photo.jpg?sz=20" height="72" width="72" /><georss:featurename>St Petersburg, Russia</georss:featurename><georss:point>60.0762383 30.1213829</georss:point><georss:box>59.5693143 28.8579554 60.5831623 31.3848104</georss:box><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/02/adwords-api-retrieving-large-result.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QMRnw5eyp7ImA9WhRUGUk.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-3444996606669881315</id><published>2012-01-30T09:43:00.000-08:00</published><updated>2012-01-30T09:43:07.223-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-30T09:43:07.223-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api" /><category scheme="http://www.blogger.com/atom/ns#" term="adwords_v201109" /><title>30 days left to migrate to AdWords API v201109</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="background-color: transparent;"&gt;
&lt;b id="internal-source-marker_0.088384501170367" style="font-weight: normal;"&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;On February 29, 2012, we will be sunsetting the following versions and services:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;AdWords API versions v13, v200909, v201003, v201008, v201101&lt;/span&gt;&lt;/li&gt;
&lt;li style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;AdWords API version v13 AccountService will only be available on a whitelist basis.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Calls made using these versions will return errors after February 29th. It is therefore critical that you migrate to AdWords API v201109 if you would like your applications to run without interruption.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;We encourage you to use the following resources for a successful migration:&lt;/span&gt;&lt;ul&gt;
&lt;li style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Review the resources in the &lt;/span&gt;&lt;a href="http://code.google.com/apis/adwords/docs/clientlibraries.html"&gt;&lt;span style="background-color: white; color: #000099; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;AdWords API client libraries&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Review the “&lt;/span&gt;&lt;a href="http://googleadsdeveloper.blogspot.com/search/label/adwords_v201109"&gt;&lt;span style="background-color: white; color: #1155cc; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Discover v201109&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;” blog series.&lt;/span&gt;&lt;/li&gt;
&lt;li style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Subscribe to the &lt;/span&gt;&lt;a href="https://twitter.com/#%21/adwordsapi"&gt;&lt;span style="background-color: white; color: #1155cc; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;AdWords API Twitter account&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;, which will share daily migration tips for the next month&lt;/span&gt;&lt;/li&gt;
&lt;li style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Make sure you’ve completed everything on this &lt;/span&gt;&lt;a href="http://googleadsdeveloper.blogspot.com/2012/01/prepare-for-sunset-with-adwords-api.html"&gt;&lt;span style="background-color: white; color: #1155cc; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;migration checklist&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;. &lt;/span&gt;&lt;/li&gt;
&lt;li style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="background-color: transparent; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Give yourself ample time to migrate &lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;from v13 to AdHoc reporting. Resources to help with this migration are available&lt;/span&gt;&lt;a href="http://code.google.com/apis/adwords/docs/guides/uireports.html"&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: #1155cc; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;. &lt;/span&gt;&lt;/li&gt;
&lt;li style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="background-color: transparent; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Attend &lt;/span&gt;&lt;a href="https://groups.google.com/forum/#%21forum/adwords-api"&gt;&lt;span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;office hours&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: transparent; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="background-color: transparent; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Make sure your &lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;contact information is up to date in your &lt;/span&gt;&lt;a href="http://www.google.com/intl/en/adwords/myclientcenter/"&gt;&lt;span style="background-color: white; color: #000099; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;My Client Center account&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="background-color: transparent; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Post questions on &lt;/span&gt;&lt;a href="https://groups.google.com/forum/#%21forum/adwords-api"&gt;&lt;span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;the forum&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/b&gt;&lt;b id="internal-source-marker_0.088384501170367" style="font-weight: normal;"&gt;
&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Posted by Katie Miller, AdWords API Team&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-3444996606669881315?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/iZfAknDHprg" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/3444996606669881315?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/3444996606669881315?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/iZfAknDHprg/30-days-left-to-migrate-to-adwords-api.html" title="30 days left to migrate to AdWords API v201109" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/01/30-days-left-to-migrate-to-adwords-api.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cERXg5eCp7ImA9WhRUF0w.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-2479021491273786424</id><published>2012-01-27T16:36:00.000-08:00</published><updated>2012-01-27T16:36:44.620-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-27T16:36:44.620-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="admob_sdk" /><category scheme="http://www.blogger.com/atom/ns#" term="iOS" /><title>Announcing AdCatalog v1 for iOS</title><content type="html">&lt;p&gt;We’re very pleased to announce the release of &lt;a href="http://code.google.com/p/google-mobile-dev/"&gt;AdCatalog&lt;/a&gt; v1 for the iOS platform.  AdCatalog is a sample project that demonstrates how to incorporate banner and interstitial ad units into your application.  In particular, AdCatalog showcases implementations for two standard banner ad sizes&amp;mdash;320x50 and 300x250&amp;mdash;and several use cases for interstitial ad units: basic, app launch splash screen, in-between game levels, and before playing a stored video.&lt;/p&gt;

&lt;p&gt;AdCatalog can be downloaded as a zip from our &lt;a href="http://code.google.com/p/google-mobile-dev/downloads/list"&gt;google-mobile-dev&lt;/a&gt; project.  Additionally, feel free to clone the repository or examine the source from the &lt;a href="http://code.google.com/p/google-mobile-dev/source/checkout?repo=adcatalog-ios"&gt;checkout page&lt;/a&gt;.  In version 2, we’ll be looking to add even more advanced layout options to our banner scenario, so be sure to stay tuned.  As usual, if you have any questions, comments, concerns, or feature requests, we appreciate hearing the feedback on our &lt;a href="http://groups.google.com/group/google-admob-ads-sdk"&gt;developer forum&lt;/a&gt;.&lt;/p&gt;
&lt;br&gt;
&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/100951976559465900344" rel="author"&gt;&lt;img width="20" height="20" src="https://lh4.googleusercontent.com/-JJsLfLVCckY/AAAAAAAAAAI/AAAAAAABVog/oL3K4YTTcJA/photo.jpg?sz=20" style="vertical-align:middle; border:none;"&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/u/0/100951976559465900344" rel="author"&gt;Wes Goodman&lt;/a&gt;, AdMob Team&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-2479021491273786424?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/jRwS3ZhuE0Y" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/2479021491273786424?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/2479021491273786424?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/jRwS3ZhuE0Y/announcing-adcatalog-v1-for-ios.html" title="Announcing AdCatalog v1 for iOS" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh4.googleusercontent.com/-JJsLfLVCckY/AAAAAAAAAAI/AAAAAAABVog/oL3K4YTTcJA/s72-c/photo.jpg?sz=20" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/01/announcing-adcatalog-v1-for-ios.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEBSHk9cSp7ImA9WhRUFkU.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-5001515692051637725</id><published>2012-01-27T09:49:00.000-08:00</published><updated>2012-01-27T10:07:39.769-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-27T10:07:39.769-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api" /><category scheme="http://www.blogger.com/atom/ns#" term="adwords_v201109" /><title>Prepare for the sunset with the AdWords API v201109 migration checklist</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
As announced in October, we will sunsetting all versions of the AdWords API prior to v201109 on February 29, 2012. To help you prepare to migrate to v201109, we've created a checklist that covers all of the required changes:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Required Changes:&lt;/b&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Migrate all API calls to use v201109 services&lt;/li&gt;
&lt;li&gt;Migrate all API calls to use clientCustomerId (instead of clientEmail) to identify an account as the target of an operation (&lt;a href="http://adwordsapi.blogspot.com/2011/11/discover-v201109-changes-to-accounts.html"&gt;Blog post&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Migrate campaign geo target creation and identification to use the new location criterion object (available through the &lt;a href="http://code.google.com/apis/adwords/docs/reference/latest/CampaignCriterionService.html"&gt;CampaignCriterionService&lt;/a&gt; and the &lt;a href="http://code.google.com/apis/adwords/docs/reference/latest/LocationCriterionService.html"&gt;LocationCriterionService&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Migrate all other campaign targets (except ad scheduling) from the CampaignTargetService to &lt;a href="http://code.google.com/apis/adwords/docs/reference/latest/CampaignCriterionService.html"&gt;CampaignCriterionService&lt;/a&gt; using the appropriate criterion objects defined within that service*&lt;/li&gt;
&lt;li&gt;Migrate cross client reporting to v201109 AdHoc (single account) reports (&lt;a href="http://adwordsapi.blogspot.com/2011/11/discover-v201109-adhoc-reports.html"&gt;Blog post&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Provide developerToken as HTTP header in AdHoc report requests &lt;/li&gt;
&lt;li&gt;The last few API releases have seen various services migrate to generic selectors, as you update to v201109 you’ll need to migrate from service specific selectors to generic selectors as required. See the &lt;a href="http://code.google.com/apis/adwords/docs/selectorguide.html"&gt;Selector Migration Reference&lt;/a&gt; for details&lt;/li&gt;
&lt;li&gt;Update to the very latest version of the &lt;a href="http://code.google.com/apis/adwords/docs/clientlibraries.html"&gt;AdWords API client library&lt;/a&gt; specific to the programming language(s) that you use for API tool/platform development**&lt;/li&gt;
&lt;li&gt;If you generate your own client side stubs from the API Service WSDLs, make sure that your requests strictly adhere to the WSDL definition as we have implemented stricter validation for the SOAP header and envelope (&lt;a href="http://googleadsdeveloper.blogspot.com/2012/01/adwords-soap-header-validation-is-being.html"&gt;Blog post&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;Optional Changes:&lt;/b&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;You can now use the v201109 &lt;a href="http://code.google.com/apis/adwords/docs/reference/latest/CreateAccountService.html"&gt;CreateAccountService&lt;/a&gt; to create AdWords optional-login accounts
&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;Note: &lt;/b&gt;If you do not make the required changes, calls made using versions of the AdWords API prior to v201109 will return errors after February 29th 2012&lt;br /&gt;
&lt;br /&gt;
Additional Notes:&lt;br /&gt;
*In v201109, most targets become criteria, with each having it’s own ‘type’ of criterion object (see this &lt;a href="http://adwordsapi.blogspot.com/2011/11/discovering-v201109-how-to-target.html"&gt;Blog post&lt;/a&gt; for more details)&lt;br /&gt;
**This is an important requirement, so do make sure to check the version of the library or libraries that you are using against those available &lt;a href="http://code.google.com/apis/adwords/docs/clientlibraries.html"&gt;here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/105936431317651182231/posts"&gt;&lt;img height="20" src="https://lh4.googleusercontent.com/-fdgv1YNMZlU/AAAAAAAAAAI/AAAAAAAAAQI/UdMK6R1o2ZY/s200-c-k/photo.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt; - &lt;a href="https://plus.google.com/u/0/105936431317651182231/posts" rel="author"&gt;Mandy Waite&lt;/a&gt;, AdWords API Team&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-5001515692051637725?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/3xGml61qWA0" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/5001515692051637725?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/5001515692051637725?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/3xGml61qWA0/prepare-for-sunset-with-adwords-api.html" title="Prepare for the sunset with the AdWords API v201109 migration checklist" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/01/prepare-for-sunset-with-adwords-api.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMHQXgyeip7ImA9WhRUFk0.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-643332180493763528</id><published>2012-01-26T11:00:00.000-08:00</published><updated>2012-01-26T11:33:50.692-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-26T11:33:50.692-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>Getting Started With the PHP Client Library</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Recently, we released our first &lt;a href="http://code.google.com/apis/dfp/docs/videos.html"&gt;client library walkthrough video&lt;/a&gt; for the DoubleClick for Publishers API. This five-minute video guide shows you how to get up and running with the &lt;a href="http://code.google.com/p/google-api-dfp-php/"&gt;PHP client library&lt;/a&gt; from downloading the code to running one of the examples. All you need to get started is a &lt;a href="http://code.google.com/apis/dfp/docs/prod_signup.html"&gt;DFP account&lt;/a&gt; (production or sandbox) and a machine with PHP 5.2.x and the &lt;a href="http://us3.php.net/manual/en/book.soap.php"&gt;SoapClient&lt;/a&gt;, &lt;a href="http://php.net/manual/en/book.openssl.php"&gt;OpenSSL&lt;/a&gt;, and &lt;a href="http://php.net/manual/en/book.curl.php"&gt;cURL&lt;/a&gt; extensions. For new users to the API, it’s a great way to get acquainted with the documentation pages, project site, and client library features.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/eNwxMyHVmwY" width="480"&gt;&lt;/iframe&gt;
&lt;br /&gt;
&lt;br /&gt;
The video takes you through an explanation of how the &lt;a href="http://code.google.com/p/google-api-dfp-php/source/browse/trunk/examples/v201111/CreativeService/GetCreativesByStatementExample.php"&gt;getCreativesByStatement&lt;/a&gt; example makes an API call and highlights common usage patterns and best practices for the client library.  We also show you what happens when a call returns an error and how you can configure logging to get more information and troubleshoot an issue. &lt;br /&gt;
&lt;br /&gt;
Please let us know about any topics you would like us to cover in a video guide or blog by leaving a comment on our &lt;a href="http://code.google.com/apis/dfp/forum/discussions.html"&gt;forum&lt;/a&gt;.  You can also chat with us live at one of our &lt;a href="http://googleadsdeveloper.blogspot.com/search/label/dfp_api"&gt;DFP API Office Hours Hangouts&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="c2"&gt;
&lt;/div&gt;
&lt;div class="c2"&gt;
&lt;/div&gt;
&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/115474229489284556707"&gt;&lt;img height="20" src="https://lh3.googleusercontent.com/-pDdv2kTjyNw/AAAAAAAAAAI/AAAAAAAAAnE/q_kK4BYy-mM/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/115474229489284556707" rel="author"&gt;Jeffrey Sham&lt;/a&gt;, DFP API Team&lt;/span&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-643332180493763528?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/EFkAdAg6xK4" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/643332180493763528?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/643332180493763528?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/EFkAdAg6xK4/getting-started-with-php-client-library.html" title="Getting Started With the PHP Client Library" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/eNwxMyHVmwY/default.jpg" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/01/getting-started-with-php-client-library.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A08HRX48eSp7ImA9WhRUFUw.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-3827324289758060642</id><published>2012-01-25T11:30:00.000-08:00</published><updated>2012-01-25T11:30:34.071-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-25T11:30:34.071-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api" /><title>AdWords SOAP Header validation is being enabled</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Starting with v201109, we &lt;a href="http://googleadsdeveloper.blogspot.com/2011/12/discover-adwords-api-v201109-xml.html"&gt;enabled stricter validation&lt;/a&gt; of the SOAP Body, meaning that XML that did not closely follow the XML Schema defined in the WSDL would be rejected with a SOAP fault.  This stricter validation enables developers to detect flaws in their applications, such as sending an unsupported field, at development time rather than later discovering that field was ignored.&lt;br /&gt;
&lt;br /&gt;
In the coming weeks, we will also be enabling stricter validation of the SOAP Headers.  Currently, SOAP Headers that don’t validate against the XML Schema are ignored.  This includes headers such as clientEmail/applicationToken (both of which do not apply to v201109) or partialFailure, which is case sensitive (will not accept “TRUE” or “True”, only “true”).  When clientEmail is ignored, the request will target the authenticating account (often an MCC), which will, for example, return an error message if you attempt to add a Campaign or no results if you make a GET request.&lt;br /&gt;
&lt;br /&gt;
The stricter validation will trigger a SOAP fault for any SOAP Headers that do not match the XML Schema defined in the WSDL.  This may cause your application to see more errors such as those referenced in our &lt;a href="http://googleadsdeveloper.blogspot.com/2011/12/discover-adwords-api-v201109-xml.html"&gt;previous blog post&lt;/a&gt;.  This validation will enable developers to better detect bugs in their application that were previously silently ignored.&lt;br /&gt;
&lt;br /&gt;
If you have any questions, please post on&amp;nbsp;&lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;the forum&lt;/a&gt; or attend one of the&amp;nbsp;&lt;a href="https://www.google.com/calendar/b/0/embed?src=7brqg62i0mbinu226iblpcnmoo@group.calendar.google.com&amp;amp;ctz=America/New_York"&gt;AdWords API Office Hours&lt;/a&gt; Hangouts.&lt;/div&gt;
&lt;br /&gt;
&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/110892224480992063622/posts"&gt;&lt;img height="20" src="https://lh6.googleusercontent.com/-Bm_0uFwE20M/AAAAAAAAAAI/AAAAAAAAALY/hflk83UJtt4/s200-c-k/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/110892224480992063622/posts" rel="author"&gt;Kevin Winter&lt;/a&gt;, AdWords API Team&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-3827324289758060642?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/Df6sUY7eyLA" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/3827324289758060642?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/3827324289758060642?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/Df6sUY7eyLA/adwords-soap-header-validation-is-being.html" title="AdWords SOAP Header validation is being enabled" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/01/adwords-soap-header-validation-is-being.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMCR349fyp7ImA9WhRUFE0.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-1010548136944707198</id><published>2012-01-24T02:19:00.000-08:00</published><updated>2012-01-24T02:21:06.067-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-24T02:21:06.067-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="impression_share" /><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api" /><category scheme="http://www.blogger.com/atom/ns#" term="reporting" /><title>Upcoming changes to AdWords Impression Share metrics</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;p&gt;We recently &lt;a href='http://adwords.blogspot.com/2012/01/coming-soon-ad-group-impression-share.html'&gt;announced&lt;/a&gt; upcoming changes to AdWords &lt;a href='http://support.google.com/adwords/bin/answer.py?hl=en&amp;answer=52760'&gt;Impression Share&lt;/a&gt; metrics. If you are using the &lt;a href='http://code.google.com/apis/adwords/'&gt;AdWords API&lt;/a&gt; to download &lt;code&gt;BudgetLostImpressionShare&lt;/code&gt;, &lt;code&gt;ImpressionShare&lt;/code&gt;, &lt;code&gt;QualityLostImpressionShare&lt;/code&gt; and &lt;code&gt;ExactMatchImpressionShare&lt;/code&gt; metrics in &lt;a href='http://code.google.com/apis/adwords/docs/appendix/reports.html#account'&gt;account&lt;/a&gt; and &lt;a href='http://code.google.com/apis/adwords/docs/appendix/reports.html#campaign'&gt;campaign&lt;/a&gt; performance reports, then the upcoming change will affect you in the following ways:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;We will revise campaign-level Impression Share metrics from May 1, 2011 to present. You may notice some adjustments in past campaign-level Impression Share data once this change goes live.&lt;/li&gt;
  &lt;li&gt;We will remove campaign-level Impression Share metrics prior to May 1, 2011. If you depend on historic impression share data prior to May 1, 2011, then you need to download them before January 30th.&lt;/li&gt;
  &lt;li&gt;All Impression Share metrics will only be updated once every day, by afternoon PST. In addition, the data will no longer be available for segmentation by hour. If you have a saved report definition that requests hourly aggregation of IS data, then those definitions will stop working once the new changes go live.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you wish to backup old Impression Share data or make changes to the way you use Impression Share to control your AdWords campaigns, please do so before January 30th. If you have any questions about the AdWords API, check out our &lt;a href='http://code.google.com/apis/adwords/community/'&gt;developer forum&lt;/a&gt;.&lt;/p&gt;
&lt;br /&gt;
&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/103205605030324928671/posts"&gt;&lt;img height="40" src="https://lh3.googleusercontent.com/-ZweA5XhpT2A/AAAAAAAAAAI/AAAAAAAAABw/FhsD7vgWw_o/s40-c-k/photo.jpg" style="border: none; vertical-align: middle;" width="40" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/103205605030324928671/posts" rel="author"&gt;Anash P. Oommen&lt;/a&gt;, AdWords API Team.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-1010548136944707198?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/QoIcZyXi1BY" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/1010548136944707198?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/1010548136944707198?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/QoIcZyXi1BY/upcoming-changes-to-adwords-impression.html" title="Upcoming changes to AdWords Impression Share metrics" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/01/upcoming-changes-to-adwords-impression.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8FRXoyeip7ImA9WhRbEE4.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-2231729852876896451</id><published>2012-01-20T13:27:00.000-08:00</published><updated>2012-01-31T11:40:14.492-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-31T11:40:14.492-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api" /><category scheme="http://www.blogger.com/atom/ns#" term="reporting" /><title>UPDATED: DeveloperToken in reports rollback</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;b&gt;&lt;span style="color: red;"&gt;Update&lt;/span&gt;&lt;/b&gt;: developer token will be required in report downloads starting &lt;b&gt;February 7th, 2012&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Based on recent AdWords API forum posts, many of you are unaware that on January 17th we began requiring a developer token in all post v13 report downloads.  As a result, we are temporarily rolling back this change to give you additional time to update your applications and upgrade to the latest version of the client libraries.  If you have already made this change, no action is required on your part.  We will enforce this requirement starting &lt;b&gt;February 7th, 2012&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Minimum client library versions with support for providing the developerToken header in reports are as follows:&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;DotNet - &lt;a href="http://code.google.com/p/google-api-adwords-dotnet/downloads/list"&gt;13.1.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Java - &lt;a href="http://code.google.com/p/google-api-adwords-java/downloads/list"&gt;8.4.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Perl - &lt;a href="http://code.google.com/p/google-api-adwords-perl/downloads/list"&gt;2.5.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;PHP - &lt;a href="http://code.google.com/p/google-api-adwords-php/downloads/list"&gt;2.7.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Python - &lt;a href="http://code.google.com/p/google-api-ads-python/downloads/list"&gt;15.0.4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ruby - &lt;a href="http://code.google.com/p/google-api-ads-ruby/downloads/list"&gt;0.5.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
As always, we encourage you to &lt;a href="http://feeds.feedburner.com/blogspot/lQlzL"&gt;subscribe&lt;/a&gt; to the AdWords API blog posts and &lt;a href="http://twitter.com/adwordsapi"&gt;Twitter account&lt;/a&gt; and to follow us on &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;the forum&lt;/a&gt; to ensure that you are aware of all critical updates and requirements.&lt;br /&gt;
&lt;br /&gt;
If you have any questions, please post on&amp;nbsp;&lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;the forum&lt;/a&gt; or attend one of the&amp;nbsp;&lt;a href="https://www.google.com/calendar/b/0/embed?src=7brqg62i0mbinu226iblpcnmoo@group.calendar.google.com&amp;amp;ctz=America/New_York"&gt;AdWords API Office Hours&lt;/a&gt; Hangouts.&lt;/div&gt;
&lt;br /&gt;
&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/110892224480992063622/posts"&gt;&lt;img height="20" src="https://lh6.googleusercontent.com/-Bm_0uFwE20M/AAAAAAAAAAI/AAAAAAAAALY/hflk83UJtt4/s200-c-k/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/110892224480992063622/posts" rel="author"&gt;Kevin Winter&lt;/a&gt;, AdWords API Team&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-2231729852876896451?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/eKirSPNbVFY" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/2231729852876896451?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/2231729852876896451?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/eKirSPNbVFY/developertoken-in-reports-rollback.html" title="UPDATED: DeveloperToken in reports rollback" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/01/developertoken-in-reports-rollback.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EFR3gyfyp7ImA9WhRUEE0.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-6193463830903150007</id><published>2012-01-19T11:33:00.000-08:00</published><updated>2012-01-19T11:33:36.697-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-19T11:33:36.697-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api" /><category scheme="http://www.blogger.com/atom/ns#" term="reporting" /><title>ReportDefinition XML Schema Definition is now available</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Unlike reports in previous AdWords API versions, v201109 &lt;a href="http://code.google.com/apis/adwords/docs/guides/reporting.html#adhoc"&gt;AdHoc reports&lt;/a&gt; are downloaded by POSTing XML to a URL rather than defining them using a SOAP service; therefore they have no WSDL document to describe the XML payload.  To ensure that your ReportDefinition XML is valid when sending it to the API,  we are now publishing an XML Schema Definition (XSD).&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
This XSD is tied to the versioned Report Download endpoint, allowing us to make incremental changes to reporting as needed.  Here’s an example URL used to obtain the XSD for v201109 ReportDefinitions:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://adwords.google.com/api/adwords/reportdownload/v201109/reportDefinition.xsd"&gt;https://adwords.google.com/api/adwords/reportdownload/v201109/reportDefinition.xsd&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;

How to use this XSD&lt;/h2&gt;
&lt;/div&gt;
&lt;div&gt;
There are &lt;a href="http://stackoverflow.com/questions/15732/whats-the-best-way-to-validate-an-xml-file-against-an-xsd-file"&gt;many tools&lt;/a&gt; to use to validate XML against an XSD.  Here we will show how to use the common command-line tool &lt;a href="http://xmlsoft.org/xmllint.html"&gt;xmllint&lt;/a&gt; to validate against the XSD.  First, download the &lt;a href="https://adwords.google.com/api/adwords/reportdownload/v201109/reportDefinition.xsd"&gt;reportDefinition.xsd&lt;/a&gt; to a working directory.  Next, save some ReportDefinition XML to a file, such as reportDefinition.xml:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="prettyprint"&gt;&amp;lt;reportDefinition xmlns="https://adwords.google.com/api/adwords/cm/v201109"&amp;gt;
 &amp;lt;selector&amp;gt;
   &amp;lt;fields&amp;gt;CampaignId&amp;lt;/fields&amp;gt;
   &amp;lt;fields&amp;gt;Id&amp;lt;/fields&amp;gt;
   &amp;lt;fields&amp;gt;Impressions&amp;lt;/fields&amp;gt;
   &amp;lt;fields&amp;gt;Clicks&amp;lt;/fields&amp;gt;
   &amp;lt;fields&amp;gt;Cost&amp;lt;/fields&amp;gt;
   &amp;lt;predicates&amp;gt;
     &amp;lt;field&amp;gt;Status&amp;lt;/field&amp;gt;
     &amp;lt;operator&amp;gt;IN&amp;lt;/operator&amp;gt;
     &amp;lt;values&amp;gt;ENABLED&amp;lt;/values&amp;gt;
     &amp;lt;values&amp;gt;PAUSED&amp;lt;/values&amp;gt;
   &amp;lt;/predicates&amp;gt;
 &amp;lt;/selector&amp;gt;
 &amp;lt;reportName&amp;gt;Custom Adgroup Performance Report&amp;lt;/reportName&amp;gt;
 &amp;lt;reportType&amp;gt;ADGROUP_PERFORMANCE_REPORT&amp;lt;/reportType&amp;gt;
 &amp;lt;dateRangeType&amp;gt;LAST_7_DAYS&amp;lt;/dateRangeType&amp;gt;
 &amp;lt;downloadFormat&amp;gt;CSV&amp;lt;/downloadFormat&amp;gt;
&amp;lt;/reportDefinition&amp;gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Now run the following command from the directory you placed these two files in:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="prettyprint"&gt;$ xmllint --schema reportDefinition.xsd reportDefinition.xml
[xml omitted]
reportDefinition.xml validates
&lt;/pre&gt;
&lt;br /&gt;
This step verifies that your ReportDefinition XML is well-formed for use with the AdWords API report downloads.&lt;br /&gt;
&lt;br /&gt;
If you have any questions, please post on&amp;nbsp;&lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;the forum&lt;/a&gt; or attend one of the&amp;nbsp;&lt;a href="https://www.google.com/calendar/b/0/embed?src=7brqg62i0mbinu226iblpcnmoo@group.calendar.google.com&amp;amp;ctz=America/New_York"&gt;AdWords API Office Hours&lt;/a&gt; Hangouts.&lt;br /&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/110892224480992063622/posts"&gt;&lt;img height="20" src="https://lh6.googleusercontent.com/-Bm_0uFwE20M/AAAAAAAAAAI/AAAAAAAAALY/hflk83UJtt4/s200-c-k/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/110892224480992063622/posts" rel="author"&gt;Kevin Winter&lt;/a&gt;, AdWords API Team&lt;/span&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-6193463830903150007?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/jy1otqlIL4M" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/6193463830903150007?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/6193463830903150007?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/jy1otqlIL4M/reportdefinition-xml-schema-definition.html" title="ReportDefinition XML Schema Definition is now available" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/01/reportdefinition-xml-schema-definition.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0AGRHs-eSp7ImA9WhRVGU0.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-9202514686994262847</id><published>2012-01-18T07:48:00.000-08:00</published><updated>2012-01-18T07:48:45.551-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-18T07:48:45.551-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="dfa_v1.18" /><category scheme="http://www.blogger.com/atom/ns#" term="dfa_api" /><category scheme="http://www.blogger.com/atom/ns#" term="dfa_v1.17" /><title>Upcoming Changes to the DFA API</title><content type="html">&lt;p&gt;As we continue to improve the DFA API, two upcoming security enhancements are particularly noteworthy. We want you to be aware of adjustments to HTTP support and token lifespan and to take them into consideration when planning the development and upkeep of your applications.&lt;/p&gt;

&lt;h2&gt;Moving Towards Secure Connections&lt;/h2&gt;

&lt;p&gt;Last year Google began an effort to &lt;a href="http://googlecode.blogspot.com/2011/03/improving-security-of-google-apis-with.html"&gt;improve the security of our APIs&lt;/a&gt; with SSL encryption. Most of Google’s Ads APIs already require requests to be made over HTTPS connections. The DFA API will be following suit this year. We’ll consider the use of HTTP connections deprecated with the release of v1.17 in mid-February, 2012. Support for making requests over HTTP will be completely retired in v1.18, expected to launch in May, 2012. Our &lt;a href="http://code.google.com/apis/dfa/docs/clients.html"&gt;client libraries&lt;/a&gt; will transition to using HTTPS connections during the launch of v1.17.&lt;/p&gt;

&lt;h2&gt;On the Horizon: Expiring Tokens&lt;/h2&gt;

&lt;p&gt;Currently, tokens generated from the &lt;a href="http://code.google.com/apis/dfa/docs/reference/current/login/service.html#authenticate"&gt;login service’s authenticate operation&lt;/a&gt; do not expire unless the user profile’s password is changed. In the not-too-distant future, API tokens will have a timed lifespan. We will be adding a new error code to represent a failure due to an expired token so that your applications will be able to catch and handle this situation.&lt;/p&gt;

&lt;p&gt;We do not have a concrete release date for token expirations yet. It will not be part of the v1.17 release. Please keep an eye on our blog for further updates about this topic. Questions and comments are always welcome on our &lt;a href="https://groups.google.com/group/google-doubleclick-for-advertisers-api"&gt;forum&lt;/a&gt;.&lt;/p&gt;

&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/113204894998269100367/"&gt;&lt;img height="20" src="https://lh5.googleusercontent.com/-jfMpzPefhpA/AAAAAAAAAAI/AAAAAAAAAC4/RiK3R7FaK-8/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/113204894998269100367/" rel="author"&gt;Joseph DiLallo&lt;/a&gt;, DFA API Team&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-9202514686994262847?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/YrGxVIHrDVw" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/9202514686994262847?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/9202514686994262847?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/YrGxVIHrDVw/upcoming-changes-to-dfa-api.html" title="Upcoming Changes to the DFA API" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-jfMpzPefhpA/AAAAAAAAAAI/AAAAAAAAAC4/RiK3R7FaK-8/s72-c/photo.jpg?sz=20" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/01/upcoming-changes-to-dfa-api.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYESHo5fSp7ImA9WhRVFE0.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-3729825364658373779</id><published>2012-01-12T12:28:00.000-08:00</published><updated>2012-01-12T12:28:29.425-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-12T12:28:29.425-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="i18n" /><category scheme="http://www.blogger.com/atom/ns#" term="docs" /><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api" /><title>Latest AdWords API developer docs available in 9 languages</title><content type="html">We are happy to announce availability of the AdWords API documentation for &lt;a href="http://code.google.com/apis/adwords/docs/reference/"&gt;v201109&lt;/a&gt; release in 9 languages in addition to English. In time for your upcoming migration with &lt;a href="http://googleadsdeveloper.blogspot.com/2012/01/55-days-until-adwords-api-deprecation.html"&gt;deadline on February 29, 2012&lt;/a&gt;, we have released the latest documentation in Chinese, French, Japanese, German, Korean, Portuguese, Russian, and Spanish. The drop-down menu at the top right corner of the documentation can be used to change the language.&lt;br /&gt;&lt;br /&gt;

If you have any questions, suggestions or requests for improving docs please post on the &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;

&lt;span class='post-author'&gt;&lt;a href="https://plus.google.com/u/0/103334611312899628087"&gt;&lt;img height="20" width="20" src="https://lh6.googleusercontent.com/-d0Rf14Uia3c/AAAAAAAAAAI/AAAAAAAABiw/TV_B-hVQOj8/photo.jpg?sz=20" style="vertical-align: middle; border:none;"/&gt;&lt;/a&gt; - &lt;a rel="author" href="https://plus.google.com/u/0/103334611312899628087/"&gt;Stan Grinberg&lt;/a&gt;, AdWords API Team&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-3729825364658373779?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/m39ky1nAuCw" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/3729825364658373779?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/3729825364658373779?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/m39ky1nAuCw/latest-adwords-api-developer-docs.html" title="Latest AdWords API developer docs available in 9 languages" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh6.googleusercontent.com/-d0Rf14Uia3c/AAAAAAAAAAI/AAAAAAAABiw/TV_B-hVQOj8/s72-c/photo.jpg?sz=20" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/01/latest-adwords-api-developer-docs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUAFSHo9eip7ImA9WhRVE0Q.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-3599141476902750789</id><published>2012-01-12T10:41:00.000-08:00</published><updated>2012-01-12T10:41:59.462-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-12T10:41:59.462-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="client_libraries" /><category scheme="http://www.blogger.com/atom/ns#" term="dfa_api" /><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api" /><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api" /><title>AdWords, DFA and DFP Client Library Updates</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
We’re constantly making improvements to our AdWords, DoubleClick for Advertisers (DFA) and DoubleClick for Publishers (DFP) client libraries across all supported languages.  Recently, we added the following features.  Read the ChangeLogs and READMEs for details on these changes:&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;GZIP compression used when sending and receiving API calls and reports. (Perl and Java do not have this for AdWords API Report Downloads).&lt;/li&gt;
&lt;li&gt;SSL certificate verification.&lt;/li&gt;
&lt;li&gt;AdWords only - Examples and support for the new &lt;a href="http://code.google.com/apis/adwords/docs/reference/latest/CreateAccountService.html"&gt;CreateAccountService&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
Please see below for a summary of other changes for each library.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;DotNet&lt;/b&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;No other updates.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;Java&lt;/b&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;A &lt;a href="http://code.google.com/p/google-api-ads-java/"&gt;preview version&lt;/a&gt; of the rewritten Java client library is now available for AdWords, DFA and DFP APIs.  Please consider this alpha-quality code; please file any bugs or feature requests on the &lt;a href="http://code.google.com/p/google-api-ads-java/issues/list"&gt;issue tracker&lt;/a&gt;.  The new library currently supports Maven2, SLF4J, OAuth and we have plans to support other environments and platforms.&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;b&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b&gt;
Ruby&lt;/b&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;Improved parameters validation and error reporting on missing / mistyped fields.&lt;/li&gt;
&lt;li&gt;HTTP headers are now logged on DEBUG level.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;Perl&lt;/b&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;Fixes to OAuth logic to better handle misconfigurations.&lt;/li&gt;
&lt;li&gt;Several bug fixes.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;PHP&lt;/b&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;AdWords only - Added example to get the clientCustomerId for a clientEmail.&lt;/li&gt;
&lt;li&gt;AdWords only - Fixed issue with GetAccountHeirarchy example when used in the sandbox.&lt;/li&gt;
&lt;li&gt;Fixed issue with lingering "id" attribute after reference replacement. Added tests for SoapXmlFixer.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;Python&lt;/b&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;Validation and error handling has been improved to make it easier to use OAuth and Google AppEngine.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
You can download updated versions of our client libraries from their respective sites, or see a list of all client libraries: &lt;a href="http://code.google.com/apis/adwords/docs/clientlibraries.html"&gt;AdWords&lt;/a&gt;, &lt;a href="http://code.google.com/apis/dfa/docs/clients.html"&gt;DFA&lt;/a&gt; and &lt;a href="http://code.google.com/apis/dfp/docs/clients.html"&gt;DFP&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
If you have any questions or would like to discuss these changes, please post on our forums: &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;AdWords&lt;/a&gt;, &lt;a href="https://groups.google.com/forum/#!forum/google-doubleclick-for-advertisers-api"&gt;DFA&lt;/a&gt;, &lt;a href="https://groups.google.com/forum/#!forum/google-doubleclick-for-publishers-api"&gt;DFP&lt;/a&gt;.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/110892224480992063622/posts"&gt;&lt;img height="20" src="https://lh6.googleusercontent.com/-Bm_0uFwE20M/AAAAAAAAAAI/AAAAAAAAALY/hflk83UJtt4/s200-c-k/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/110892224480992063622/posts" rel="author"&gt;Kevin Winter&lt;/a&gt;, AdWords API Team&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-3599141476902750789?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/IhJcJ9cvY3c" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/3599141476902750789?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/3599141476902750789?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/IhJcJ9cvY3c/adwords-dfa-and-dfp-client-library.html" title="AdWords, DFA and DFP Client Library Updates" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/01/adwords-dfa-and-dfp-client-library.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIMQ345fSp7ImA9WhRVE0s.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-7054615471246453937</id><published>2012-01-12T03:26:00.000-08:00</published><updated>2012-01-12T03:26:22.025-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-12T03:26:22.025-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api" /><category scheme="http://www.blogger.com/atom/ns#" term="chart_tools" /><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api" /><title>AdSense Management API and Chart Tools week: Thursday</title><content type="html">&lt;p&gt;Thanks for joining us for &lt;a href="http://googleadsdeveloper.blogspot.com/2012/01/adsense-management-api-and-chart-tools_11.html"&gt;Chart Tools week&lt;/a&gt; on the blog, where we're sharing ways to use &lt;a href="http://code.google.com/apis/chart/index.html"&gt;Google Chart Tools&lt;/a&gt;. In the fourth and last part of this series, we’ll examine how to organize and manage multiple charts that share the same underlying data using dashboards and controls.&lt;/p&gt;
&lt;h2&gt;Interaction with data&lt;/h2&gt;

&lt;p&gt;The last request of the CEO is to be able to interact with the data: he wants to filter the line chart and the column chart by expressing a range of page views.&lt;/p&gt;

&lt;p&gt;What we need to do now is compose the 2 charts into a &lt;a href="http://code.google.com/apis/chart/interactive/docs/gallery/controls.html#dashboardobject"&gt;Dashboard&lt;/a&gt; object, following these steps:
&lt;ul&gt;
&lt;li&gt;combine the data retrieved from the AdSense Management API into one single table&lt;/li&gt;
&lt;li&gt;create the charts&lt;/li&gt;
&lt;li&gt;add 1 &lt;a href="http://code.google.com/apis/chart/interactive/docs/gallery/controls.html#controlwrapperobject"&gt;control&lt;/a&gt;, a &lt;a href="http://code.google.com/apis/chart/interactive/docs/gallery/controls.html#numberrangefilter"&gt;Number Range Filter&lt;/a&gt; for ad requests&lt;/li&gt;
&lt;li&gt;create a view on top of the data table&lt;/li&gt;
&lt;li&gt;create a &lt;code&gt;Dashboard&lt;/code&gt; object and feed it with the view&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;
&lt;h2&gt;Create the DataTable&lt;/h2&gt;

&lt;p&gt;To create a &lt;code&gt;Dashboard&lt;/code&gt;, we need the charts to share the same underlying data. For this reason, we will combine the requests for the line and the column chart into a single request:
&lt;table&gt;
&lt;tr&gt;&lt;td&gt;start date:&lt;/td&gt;&lt;td&gt;2011-01-01&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;end date:&lt;/td&gt;&lt;td&gt;2011-12-31&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;dimensions:&lt;/td&gt;&lt;td&gt;MONTH&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;metrics:&lt;/td&gt;&lt;td&gt;PAGE_VIEWS, AD_REQUESTS, MATCHED_AD_REQUESTS, INDIVIDUAL_AD_IMPRESSIONS&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;filters:&lt;/td&gt;&lt;td&gt;(none)&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/p&gt;

&lt;p&gt;The result will be similar to:
&lt;pre class="prettyprint"&gt;
result = {
  "kind": "adsense#report",
  "totalMatchedRows": "9",
  "headers": [ {...} ],
  "rows": [
    ["2011-01", "28", "46", "41", "165"],
    ...
    ["2011-11", "2", "3", "3", "3"]
  ],
  "totals": ["", "241", "278", "264", "825"],
  "averages": ["", "26", "30", "29", "91"]
}
&lt;/pre&gt;

&lt;p&gt;Now we can create our &lt;code&gt;DataTable&lt;/code&gt;, adding columns for all the metrics:
&lt;pre class="prettyprint"&gt;
var data = new google.visualization.arrayToDataTable(
    [['Month', 'PAGE_VIEWS', 'AD_REQUESTS', 'MATCHED_AD_REQUESTS',
        'INDIVIDUAL_AD_IMPRESSIONS']].concat(resp.rows));
&lt;/pre&gt;&lt;/p&gt;
&lt;h2&gt;Create the charts&lt;/h2&gt;

&lt;p&gt;The next step is to create  the wrappers:
&lt;pre class="prettyprint"&gt;
var lineChartWrapper = new google.visualization.ChartWrapper({
  chartType: 'LineChart',
  options: {'title': 'Ad requests trend - Year 2011'},
  containerId: 'line_chart_div',
  view: {'columns': [0, 2]}
});

var columnChartWrapper = new google.visualization.ChartWrapper({
  chartType: 'ColumnChart',
  options: {'title': 'Performances per month - Year 2011'},
  containerId: 'column_chart_div',
  view: {'columns': [0, 1, 3, 4]}
});
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;There are two important differences between creating wrappers for a dashboard and wrappers for standalone charts:
&lt;ul&gt;
&lt;li&gt;For each chart in a dashboard, we use the view option to select which columns are relevant for the chart (remember, all the data for the two charts is in the same table now)&lt;/li&gt;
&lt;li&gt;We don’t draw the charts now, we’ll draw the entire dashboard later&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;Time to create the control!&lt;/p&gt;
&lt;h2&gt;Create the control&lt;/h2&gt;

&lt;p&gt;Let’s create the control wrapper for our number range filter for the ad requests:
&lt;pre class="prettyprint"&gt;
var adRequestsSlider = new google.visualization.ControlWrapper({
  'controlType': 'NumberRangeFilter',
  'containerId': 'ad_requests_filter_div',
  'options': {
    'filterColumnLabel': 'Ad requests',
  }
});
&lt;/pre&gt;

&lt;p&gt;The option &lt;code&gt;container_id&lt;/code&gt; specifies the element of the page where the filter will be drawn into, while &lt;code&gt;filterColumnLabel&lt;/code&gt; tells the filter which column to target.
&lt;h2&gt;Create the DataView&lt;/h2&gt;

&lt;p&gt;Remember that we need a &lt;code&gt;DataView&lt;/code&gt; to convert our string field to numeric fields:
&lt;pre class="prettyprint"&gt;
var view = new google.visualization.DataView(data);
view.setColumns([
  0,
  {calc:function(dataTable, rowNum) {return parseInt(dataTable.getValue(
      rowNum, 1))}, type:'number', label:'Page views'},
  {calc:function(dataTable, rowNum) {return parseInt(dataTable.getValue(
      rowNum, 2))}, type:'number', label:'Ad requests'},
  {calc:function(dataTable, rowNum) {return parseInt(dataTable.getValue(
      rowNum, 3))}, type:'number', label:'Matched ad requests'},
  {calc:function(dataTable, rowNum) {return parseInt(dataTable.getValue(
      rowNum, 4))}, type:'number', label:'Individual ad impressions'},
]);
&lt;/pre&gt;
&lt;h2&gt;Create the dashboard&lt;/h2&gt;

&lt;p&gt;Creating the &lt;code&gt;Dashboard&lt;/code&gt;, binding the control to the charts and drawing the dashboard is as easy as the following:
&lt;pre class="prettyprinting"&gt;
var dashboard = new google.visualization.Dashboard(
    document.getElementById('dashboard_div'))
    .bind(adRequestsSlider, [lineChartWrapper, columnChartWrapper])
    .draw(view);
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;dashboard_div&lt;/code&gt; is the element of the page that acts as container for the Dashboard:
&lt;pre class="prettyprint"&gt;
&amp;lt;div id="dashboard_div"&amp;gt;
  &amp;lt;!--Divs that will hold each control--&amp;gt;
  &amp;lt;div id="ad_requests_filter_div"&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;!--Divs that will hold each chart--&amp;gt;
  &amp;lt;div id="line_chart_div"&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div id="column_chart_div"&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;And it’s done! Our Dashboard is ready. Check the &lt;a href="http://savedbythegoog.appspot.com/?id=a113303d175c72557e25c0dd2c027f6b8d9680fb"&gt;live example&lt;/a&gt; and the &lt;a href="http://code.google.com/p/adsense-apis-showcase/source/browse/#git%2FChartToolsWeek%2FThursday"&gt;source code for today&lt;/a&gt;!&lt;/p&gt;

&lt;h2&gt;Mission Accomplished!&lt;/h2&gt;

&lt;p&gt;Well done -- our dashboard is ready and the CEO is happy with his new tool! Now you can relax and play foosball!&lt;/p&gt;

&lt;p&gt;If you want to know more about our APIs, check the documentation pages:
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://code.google.com/apis/adsense/management/overview.html"&gt;AdSense Management API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/apis/chart/interactive/docs/"&gt;Google Chart Tools&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;And if you have any additional questions, don’t hesitate to engage with us in our forums:
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://groups.google.com/group/adsense-api"&gt;AdSense API forum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://groups.google.com/forum/#!forum/google-visualization-api"&gt;Google Visualization API forum&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;You can also join us in one of our AdSense API Office Hours on Google+ Hangouts. Check the schedule for the upcoming Office Hours in our &lt;a href="http://googleadsdeveloper.blogspot.com/"&gt;Google Ads Developer Blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Lastly, a public service announcement: thanks Riccardo for your help!&lt;/p&gt;

&lt;p&gt;&lt;span class="post-author"&gt; &lt;a href="https://plus.google.com/118276561380249048216/about"&gt;&lt;img src="https://lh5.googleusercontent.com/-RMp-hn38AZI/AAAAAAAAAAI/AAAAAAAAADE/59YQber32iU/photo.jpg?sz=20" style="vertical-align: middle; border: none;" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/118276561380249048216/about" rel="author"&gt;Silvano Luciani&lt;/a&gt;, AdSense API Team&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-7054615471246453937?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/saiPyeRZHkM" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/7054615471246453937?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/7054615471246453937?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/saiPyeRZHkM/adsense-management-api-and-chart-tools_12.html" title="AdSense Management API and Chart Tools week: Thursday" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-RMp-hn38AZI/AAAAAAAAAAI/AAAAAAAAADE/59YQber32iU/s72-c/photo.jpg?sz=20" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/01/adsense-management-api-and-chart-tools_12.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04EQXw5eyp7ImA9WhRVE0w.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-2281589571084775261</id><published>2012-01-11T14:11:00.000-08:00</published><updated>2012-01-11T14:11:40.223-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-11T14:11:40.223-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="admob_sdk" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>Get Started with Ad Catalog for Android</title><content type="html">&lt;p&gt;Last quarter we &lt;a href="https://groups.google.com/forum/#!searchin/google-admob-ads-sdk/Ad$20catalog/google-admob-ads-sdk/tbnVEP6LoLU/fMXyzHzvFXIJ"&gt;announced&lt;/a&gt; the release of &lt;a href="http://code.google.com/p/google-mobile-dev/"&gt;Ad Catalog&lt;/a&gt; for Android, a sample project that demonstrates how to incorporate ads into your application using the &lt;a href="http://code.google.com/mobile/ads/"&gt;Google AdMob SDK&lt;/a&gt;.  Today, we are excited to announce the release of a &lt;a href="http://www.youtube.com/watch?v=-2x3uzpj9b8"&gt;walkthrough video&lt;/a&gt; to help you get started with Ad Catalog in five minutes!  This video will guide you through the entire setup process, from downloading the source code to running it on an emulator.  The only preconditions are that you have Eclipse installed as well as an Android SDK version 3.2 or higher.&lt;/p&gt;

&lt;br/&gt;
&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/-2x3uzpj9b8" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;br/&gt;

&lt;p&gt;Ad Catalog shows you two implementations for standard banner ads.  You can select the size of the ad that is displayed on the Banners screen by selecting either the 320x50 standard banner ad or the 300x250 medium rectangle ad.&lt;/p&gt;

&lt;p&gt;In addition to display ads, Ad Catalog demonstrates various use cases for interstitial ads.  Ad Catalog provides examples on how to include interstitial ads in between game levels, before loading a YouTube video, and in between a screen swipe.  There is also an option to receive a splash screen interstitial ad.  If enabled, the app will load and display an interstitial ad the next time it starts up.&lt;/p&gt;

&lt;p&gt;The first version of the Android Ad Catalog source code can be downloaded from the &lt;a href="http://code.google.com/p/google-mobile-dev/downloads/list"&gt;google-mobile-dev&lt;/a&gt; project.  In the next version, we plan to add examples of banner ads in various advanced layouts.  The iOS implementation of Ad Catalog is almost complete, so stay tuned for another release announcement.  We appreciate your feedback, so please post any questions or feature requests you may have to our &lt;a href="https://groups.google.com/forum/#!forum/google-admob-ads-sdk"&gt;forum&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/112870803958713211515/"&gt;&lt;img width="20" height="20" src="https://lh4.googleusercontent.com/-VjOdMVF5_qc/AAAAAAAAAAI/AAAAAAAAAB8/aYikCy7pZmw/photo.jpg?sz=20" style="vertical-align:middle; border:none;"&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/112870803958713211515/" rel="author"&gt;Eric Leichtenschlag&lt;/a&gt;, AdMob Team&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-2281589571084775261?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/JFtTil5SuGs" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/2281589571084775261?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/2281589571084775261?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/JFtTil5SuGs/get-started-with-ad-catalog-for-android.html" title="Get Started with Ad Catalog for Android" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/-2x3uzpj9b8/default.jpg" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/01/get-started-with-ad-catalog-for-android.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UFQXw4fSp7ImA9WhRVEkU.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-7973023777959428641</id><published>2012-01-11T03:24:00.000-08:00</published><updated>2012-01-11T03:26:50.235-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-11T03:26:50.235-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api" /><category scheme="http://www.blogger.com/atom/ns#" term="chart_tools" /><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api" /><title>AdSense Management API and Chart Tools week: Wednesday</title><content type="html">&lt;p&gt;Welcome back to &lt;a href="http://googleadsdeveloper.blogspot.com/2012/01/adsense-management-api-and-chart-tools_10.html"&gt;Chart Tools week&lt;/a&gt; here on the blog, where we're continuing our overview of generating charts for your AdSense reporting with &lt;a href="http://code.google.com/apis/chart/index.html"&gt;Google Chart Tools&lt;/a&gt;. Today we’ll examine how to generate two other types of charts: a table chart and a geo chart.&lt;/p&gt;
&lt;h2&gt;Table chart&lt;/h2&gt;

&lt;p&gt;The third chart requested by our CEO is a &lt;a href="http://code.google.com/apis/chart/interactive/docs/gallery/table.html"&gt;table chart&lt;/a&gt;. The table chart will contain the number of ad requests, the number of matched ad requests, and the number of individual ad impressions broken down by ad client ID.&lt;/p&gt;

&lt;p&gt;Our request will have these parameters:
&lt;table&gt;
&lt;tr&gt;&lt;td&gt;start date:&lt;/td&gt;&lt;td&gt;2011-01-01&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;end date:&lt;/td&gt;&lt;td&gt;2011-12-31&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;dimensions:&lt;/td&gt;&lt;td&gt;AD_CLIENT_ID&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;metrics:&lt;/td&gt;&lt;td&gt;AD_REQUESTS, MATCHED_AD_REQUESTS, INDIVIDUAL_AD_IMPRESSIONS&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;filters:&lt;/td&gt;&lt;td&gt;(none)&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/p&gt;

&lt;p&gt;And the result will be similar to:
&lt;pre class="prettyprint"&gt;
result = {
  "kind": "adsense#report",
  "totalMatchedRows": "4",
  "headers": [ {...} ],
  "rows": [
    ["ca-afdo-pub-1234567890123456", "59", "55", "232"],
    ...
    ["partner-mb-pub-1234567890123456", "1", "0", "0"]
  ],
  "totals": ["", "278", "264", "825"],
  "averages": ["", "69", "66", "206"]
}&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;As usual, let’s create a &lt;code&gt;DataTable&lt;/code&gt; and a &lt;code&gt;DataView&lt;/code&gt; to perform transformations on columns:
&lt;pre class="prettyprint"&gt;
var data = new google.visualization.arrayToDataTable([['Ad client id',
    'AD_REQUESTS', 'MATCHED_AD_REQUESTS', 'INDIVIDUAL_AD_IMPRESSIONS']]
    .concat(resp.rows));
var view = new google.visualization.DataView(data);
view.setColumns([
  0,
  {calc:function(dataTable, rowNum) {return parseInt(dataTable.getValue(
      rowNum, 1))}, type:'number', label:'Ad requests'},
  {calc:function(dataTable, rowNum) {return parseInt(dataTable.getValue(
      rowNum, 2))}, type:'number', label:'Matched ad requests'},
  {calc:function(dataTable, rowNum) {return parseInt(dataTable.getValue(
      rowNum, 3))}, type:'number', label:'Individual ad impressions'}
]);&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;Finally, let’s draw the table chart. Note that there is no title for a table chart: if you need one, you’ll have to add it in a different element.
&lt;pre class="prettyprint"&gt;
var tableWrapper = new google.visualization.ChartWrapper({
  chartType: 'Table',
  dataTable: view,
  containerId: 'vis_div'
});
tableWrapper.draw();&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;The table chart for our CEO is ready, and it can be sorted and paged.&lt;/p&gt;

&lt;p&gt;Check the &lt;a href="http://savedbythegoog.appspot.com/?id=ff6c93814fc9ef438d69937be1206c5a43c88693"&gt;live example&lt;/a&gt; and the &lt;a href="http://code.google.com/p/adsense-apis-showcase/source/browse/#git%2FChartToolsWeek%2FWednesday"&gt;source code for today&lt;/a&gt;!&lt;/p&gt;
&lt;h2&gt;Geo chart&lt;/h2&gt;

&lt;p&gt;Finally, the last chart requested from our CEO: a &lt;a href="http://code.google.com/apis/chart/interactive/docs/gallery/geochart.html"&gt;geo chart&lt;/a&gt;. The geo chart will show the number of page views for the year broken down by country name.&lt;/p&gt;

&lt;p&gt;Our request will have these parameters:
&lt;table&gt;
&lt;tr&gt;&lt;td&gt;start date:&lt;/td&gt;&lt;td&gt;2011-01-01&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;end date:&lt;/td&gt;&lt;td&gt;2011-12-31&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;dimensions:&lt;/td&gt;&lt;td&gt;COUNTRY_NAME&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;metrics:&lt;/td&gt;&lt;td&gt;PAGE_VIEWS&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;filters:&lt;/td&gt;&lt;td&gt;(none)&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;/p&gt;

&lt;p&gt;And the result will be similar to:
&lt;pre class="prettyprint"&gt;
result = {
  "kind": "adsense#report",
  "totalMatchedRows": "9",
  "headers": [ {...} ],
  "rows": [
    ["Canada", "1"],
    ...
    ["United States", "52"]
  ],
  "totals": ["", "241"],
  "averages": ["", "26"],
}&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;DataTable&lt;/code&gt; and &lt;code&gt;DataView&lt;/code&gt; creation step:
&lt;pre class="prettyprint"&gt;
var data = new google.visualization.arrayToDataTable(
          [['Country', 'Page Views']].concat(resp.rows));

var view = new google.visualization.DataView(data);
view.setColumns([
  0,
  {calc:function(dataTable, rowNum) {return parseInt(dataTable.getValue(
      rowNum, 1))}, type:'number', label:'Page views'}
]);&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;Now we can draw the geo chart. For the geo chart there is no title:
&lt;pre class="prettyprint"&gt;
var geoChartWrapper = new google.visualization.ChartWrapper({
  chartType: 'GeoChart',
  dataTable: view,
  containerId: 'vis_div'
});
geoChartWrapper.draw();&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;Et voilà! We have a map of the world with colors and values assigned to specific countries representing the page views from the countries for the current year.&lt;/p&gt;

&lt;p&gt;Check the &lt;a href="http://savedbythegoog.appspot.com/?id=6505172a4112b08f8e7010965d707f51a008b74c"&gt;live example&lt;/a&gt; and the &lt;a href="http://code.google.com/p/adsense-apis-showcase/source/browse/#git%2FChartToolsWeek%2FWednesday"&gt;source code for today&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Time to play!&lt;/h2&gt;

&lt;p&gt;Eager to try to see what you can do combining these two powerful Google APIs?&lt;/p&gt;
&lt;p&gt;You can start immediately using our &lt;a href="https://code.google.com/apis/explorer/#_s=adsense&amp;_v=v1.1"&gt;Google API Explorer&lt;/a&gt; and our &lt;a href="http://code.google.com/apis/ajax/playground/?type=visualization"&gt;Google Visualization PlayGround&lt;/a&gt;. You can use the Explorer to query our AdSense Management API, and then use the results inside the code on the Visualization PlayGround to generate a chart.&lt;/p&gt;

&lt;p&gt;In the next and final part of this series, we will see how to assemble multiple charts into dashboards and enrich them with interactive controls to manipulate the data they display.&lt;/p&gt;

&lt;p&gt;Meanwhile, feel free to post any questions related to Google Chart Tools in &lt;a href="https://groups.google.com/forum/#!forum/google-visualization-api"&gt;Google Visualization API forum&lt;/a&gt;, or visit our &lt;a href="https://groups.google.com/group/adsense-api"&gt;AdSense Management API forum&lt;/a&gt; to ask general questions.&lt;/p&gt;

&lt;p&gt;&lt;span class="post-author"&gt; &lt;a href="https://plus.google.com/118276561380249048216/about"&gt;&lt;img src="https://lh5.googleusercontent.com/-RMp-hn38AZI/AAAAAAAAAAI/AAAAAAAAADE/59YQber32iU/photo.jpg?sz=20" style="vertical-align: middle; border: none;" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/118276561380249048216/about" rel="author"&gt;Silvano Luciani&lt;/a&gt;, AdSense API Team&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-7973023777959428641?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/XNXDRaqeKRA" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/7973023777959428641?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/7973023777959428641?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/XNXDRaqeKRA/adsense-management-api-and-chart-tools_11.html" title="AdSense Management API and Chart Tools week: Wednesday" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-RMp-hn38AZI/AAAAAAAAAAI/AAAAAAAAADE/59YQber32iU/s72-c/photo.jpg?sz=20" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/01/adsense-management-api-and-chart-tools_11.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8CRHgyfyp7ImA9WhRVEk8.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-8446074812552424565</id><published>2012-01-10T10:41:00.000-08:00</published><updated>2012-01-10T10:41:05.697-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-10T10:41:05.697-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api" /><category scheme="http://www.blogger.com/atom/ns#" term="reporting" /><title>Developer token required in reports starting January 17th</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
As &lt;a href="http://adwordsapi.blogspot.com/2011/11/update2-developer-token-required-in.html"&gt;previously mentioned&lt;/a&gt;, the production environment will start requiring developer tokens with report downloads starting on &lt;b&gt;Tuesday, January 17th&lt;/b&gt;.  Please see the &lt;a href="http://adwordsapi.blogspot.com/2011/11/action-required-developer-token.html"&gt;original blog post&lt;/a&gt; for details regarding how to provide the token and what errors you will see when it is not provided.&lt;br /&gt;
&lt;br /&gt;
The &lt;a href="http://code.google.com/apis/adwords/docs/sandbox.html"&gt;sandbox environment&lt;/a&gt; has required the developer token as an HTTP header since November 16th.  We strongly encourage you to test your production report download code against the sandbox environment to confirm that you will not experience any disruptions in report downloads.  The AdWords API &lt;a href="http://code.google.com/apis/adwords/docs/clientlibraries.html"&gt;client libraries&lt;/a&gt; have also been updated to reflect this change; upgrade to the newest version of your client library to ensure continued reporting.&lt;br /&gt;
&lt;br /&gt;
If you have any questions or would like to discuss these changes, please post on &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;the forum&lt;/a&gt; or attend one of the &lt;a href="https://www.google.com/calendar/b/0/embed?src=7brqg62i0mbinu226iblpcnmoo@group.calendar.google.com&amp;amp;ctz=America/New_York"&gt;AdWords API Office Hours&lt;/a&gt; Hangouts.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/110892224480992063622/posts"&gt;&lt;img height="20" src="https://lh6.googleusercontent.com/-Bm_0uFwE20M/AAAAAAAAAAI/AAAAAAAAALY/hflk83UJtt4/s200-c-k/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/110892224480992063622/posts" rel="author"&gt;Kevin Winter&lt;/a&gt;, AdWords API Team&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-8446074812552424565?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/-C0j2g5esKg" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/8446074812552424565?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/8446074812552424565?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/-C0j2g5esKg/developer-token-required-in-reports.html" title="Developer token required in reports starting January 17th" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/01/developer-token-required-in-reports.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cNRXs9eCp7ImA9WhRVEUQ.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-3128086293301876165</id><published>2012-01-10T03:31:00.000-08:00</published><updated>2012-01-10T03:31:34.560-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-10T03:31:34.560-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api" /><category scheme="http://www.blogger.com/atom/ns#" term="chart_tools" /><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api" /><title>AdSense Management API and Chart Tools week: Tuesday</title><content type="html">&lt;p&gt;It's &lt;a href="http://googleadsdeveloper.blogspot.com/2012/01/adsense-management-api-and-chart-tools.html"&gt;Chart Tools week&lt;/a&gt; here on the blog, and so we'll be showing you in a 4-part series how to easily generate charts for your AdSense reporting using &lt;a href="http://code.google.com/apis/chart/index.html"&gt;Google Chart Tools&lt;/a&gt;. In today’s second post we’ll examine how to generate another type of chart: a column chart.&lt;/p&gt;
&lt;h2&gt;Column chart&lt;/h2&gt;
&lt;p&gt;The second item required by our CEO is a &lt;a href="http://code.google.com/apis/chart/interactive/docs/gallery/columnchart.html"&gt;column chart&lt;/a&gt;. The column chart will show the number of page views, ad requests, matched ad requests and individual ad impressions for each month of the current year.&lt;/p&gt;

&lt;p&gt;Our request becomes:
&lt;table&gt;
&lt;tr&gt;&lt;td&gt;start date:&lt;/td&gt;&lt;td&gt;2011-01-01&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;end date:&lt;/td&gt;&lt;td&gt;2011-12-31&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;dimensions:&lt;/td&gt;&lt;td&gt;MONTH&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;metrics:&lt;/td&gt;&lt;td&gt;PAGE_VIEWS, AD_REQUESTS, MATCHED_AD_REQUESTS, INDIVIDUAL_AD_IMPRESSIONS&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;filters:&lt;/td&gt;&lt;td&gt;(none)&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;p/&gt;

&lt;p&gt;Now the result will be similar to:
&lt;pre class="prettyprint"&gt;
result = {
 "kind": "adsense#report",
 "totalMatchedRows": "9",
 "headers": [ {...{ ],
 "rows": [
   ["2011-01", "28", "46", "41", "165"],
   ...
   ["2011-11", "2", "3", "3", "3"]
 ],
 "totals": ["", "241", "278", "264", "825"],
 "averages": ["", "26", "30", "29", "91"]
}
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;We create the &lt;code&gt;DataTable&lt;/code&gt; object, adding the columns for our dimensions:
&lt;pre class="prettyprint"&gt;
// Create the data table.
var data = new google.visualization.arrayToDataTable(
    [['Month', 'PAGE_VIEWS', 'AD_REQUESTS', 'MATCHED_AD_REQUESTS',
    'INDIVIDUAL_AD_IMPRESSIONS']].concat(result.rows));
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Once again we use a &lt;code&gt;DataView&lt;/code&gt; to convert the string values to numbers:
&lt;pre class="prettyprint"&gt;
var view = new google.visualization.DataView(data);
view.setColumns([
  0,
  {calc:function(dataTable, rowNum) {return parseInt(dataTable.getValue(
      rowNum, 1))}, type:'number', label:'Page views'},
  ...
  {calc:function(dataTable, rowNum) {return parseInt(dataTable.getValue(
      rowNum, 4))}, type:'number', label:'Individual ad impressions'}
]);&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;And finally, let’s create a wrapper for the column chart and draw it:
&lt;pre class="prettyprint"&gt;
var columnChartWrapper = new google.visualization.ChartWrapper({
  chartType: 'ColumnChart',
  dataTable: view,
  options: {'title': 'Performances - Year 2011'},
  containerId: 'vis_div'
});
columnChartWrapper.draw();&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;Another piece is done: a column chart of our performances that is also displaying tips when hovering over bars. Check the &lt;a href="http://savedbythegoog.appspot.com/?id=81f62413dac726f0777ddba1fbe12ceab96528db"&gt;live example&lt;/a&gt; and the &lt;a href="http://code.google.com/p/adsense-apis-showcase/source/browse/#git%2FChartToolsWeek%2FTuesday"&gt;source code for today&lt;/a&gt;!&lt;/p&gt;
&lt;h2&gt;Time to play!&lt;/h2&gt;

&lt;p&gt;Eager to try to see what you can do combining these two powerful Google APIs?&lt;/p&gt;

&lt;p&gt;You can start immediately by using our &lt;a href="https://code.google.com/apis/explorer/#_s=adsense&amp;_v=v1.1"&gt;Google API Explorer&lt;/a&gt; and our &lt;a href="http://code.google.com/apis/ajax/playground/?type=visualization"&gt;Google Visualization PlayGround&lt;/a&gt;. You can use the Explorer to query our Management API, and then use the results inside the code on the Visualization PlayGround to generate a chart.&lt;/p&gt;

&lt;p&gt;Stay tuned for our next post this week, where we’ll show you how to generate other two charts, a table chart and a geo chart.&lt;/p&gt;

&lt;p&gt;If you have any questions related to the AdSense Management API, come to &lt;a href="https://groups.google.com/group/adsense-api"&gt;our forum&lt;/a&gt;; alternatively, visit the &lt;a href="https://groups.google.com/forum/#!forum/google-visualization-api"&gt;Google Visualization API forum&lt;/a&gt; if you're looking for support on Chart Tools.&lt;/p&gt;&lt;br /&gt;

&lt;span class="post-author"&gt; &lt;a href="https://plus.google.com/118276561380249048216/about"&gt;&lt;img src="https://lh5.googleusercontent.com/-RMp-hn38AZI/AAAAAAAAAAI/AAAAAAAAADE/59YQber32iU/photo.jpg?sz=20" style="border: none; vertical-align: middle;" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/118276561380249048216/about" rel="author"&gt;Silvano Luciani&lt;/a&gt;, AdSense API Team&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-3128086293301876165?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/MH_1xRLDsL8" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/3128086293301876165?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/3128086293301876165?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/MH_1xRLDsL8/adsense-management-api-and-chart-tools_10.html" title="AdSense Management API and Chart Tools week: Tuesday" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-RMp-hn38AZI/AAAAAAAAAAI/AAAAAAAAADE/59YQber32iU/s72-c/photo.jpg?sz=20" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/01/adsense-management-api-and-chart-tools_10.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak4GRnw5cSp7ImA9WhRVEU0.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-6202773655918468646</id><published>2012-01-09T02:51:00.000-08:00</published><updated>2012-01-09T03:35:27.229-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-09T03:35:27.229-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api" /><category scheme="http://www.blogger.com/atom/ns#" term="chart_tools" /><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api" /><title>AdSense Management API and Chart Tools week: Monday</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
It’s Monday morning, and you’re sitting in front of your computer, ready for a relaxed start of the week. But wait!&lt;br /&gt;
&lt;br /&gt;
You’ve received an email from your CEO. He wants you to add &lt;a href="http://www.google.com/adsense"&gt;AdSense&lt;/a&gt; reporting to his dashboard, and he wants to see the following:
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;a line chart showing the number of ad requests for the current year, broken down by month&lt;/li&gt;
&lt;li&gt;a column chart showing the number of page views, ad requests, matched ad requests and individual ad impressions for the current year, broken down by month&lt;/li&gt;
&lt;li&gt;a table showing the number of ad requests, matched ad requests and individual ad impressions for the current year, broken down by ad client id&lt;/li&gt;
&lt;li&gt;a geo chart showing the number of page views for the current year broken down by country&lt;/li&gt;
&lt;/ul&gt;
He also requires the ability to interact with data: he wants to refine the visualization of the line and column charts filtering by lowest and highest number of ad requests shown in the charts.&lt;br /&gt;
&lt;br /&gt;
It might look like a week of hard work is coming, but don’t worry! It’s Chart Tools week here on the AdSense Management API blog, and we’re going to show you how to easily and rapidly create the dashboard using the &lt;a href="http://code.google.com/apis/adsense/management/"&gt;Google AdSense Management API&lt;/a&gt; and the &lt;a href="http://code.google.com/apis/chart/index.html"&gt;Google Chart Tools&lt;/a&gt;. In the first part of this series, we’ll examine how to generate a line chart.
&lt;br /&gt;
&lt;h2&gt;



Background&lt;/h2&gt;
&lt;br /&gt;
You can access the AdSense Management API from different programming languages using the appropriate &lt;a href="http://code.google.com/apis/discovery/libraries.html"&gt;Google APIs Client&lt;/a&gt;. &lt;a href="http://code.google.com/apis/adsense/management/complete_guide.html"&gt;Check our documentation&lt;/a&gt; for AdSense Management API specific information.&lt;br /&gt;
&lt;br /&gt;
The Google Chart Tools API are accessible using Javascript, check this &lt;a href="http://code.google.com/apis/chart/interactive/docs/quick_start.html"&gt;‘Hello Charts’ example&lt;/a&gt; for a quick start lesson on the API.
&lt;br /&gt;
&lt;h2&gt;



Line chart&lt;/h2&gt;
&lt;br /&gt;
The CEO wants a &lt;a href="http://code.google.com/apis/chart/interactive/docs/gallery/linechart.html"&gt;line chart&lt;/a&gt; showing the number of ad requests for the current year, broken down by month.&lt;br /&gt;
&lt;br /&gt;
We will send a request to the AdSense Management API with the following parameters:
&lt;code&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;start date:&lt;/td&gt;&lt;td&gt;2011-01-01&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;end date:&lt;/td&gt;&lt;td&gt;2011-12-31&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;dimensions:&lt;/td&gt;&lt;td&gt;MONTH&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;metrics:&lt;/td&gt;&lt;td&gt;AD_REQUESTS&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;code&gt;&lt;br /&gt;
&lt;/code&gt;

And the result will be a json array similar to the following:
&lt;pre class="prettyprint"&gt;result = {
  "kind": "adsense#report",
  "totalMatchedRows": "9",
  "headers": [ {...} ],
  "rows": [
    ["2011-01", "46"],
    ...
    ["2011-11", "3"]
  ],
  "totals": ["", "278"],
  "averages": ["", "30"]
}
&lt;/pre&gt;
To use the Chart API we first need to create a &lt;code&gt;DataTable&lt;/code&gt; object representing the result of our request:
&lt;br /&gt;
&lt;pre class="prettyprint"&gt;// Create the data table.
var data = new google.visualization.arrayToDataTable(
    [['Month', 'AD_REQUESTS']].concat(result.rows));
&lt;/pre&gt;
The AdSense Management API is returning the value for &lt;code&gt;AD_REQUESTS&lt;/code&gt; as a string, but we need a numeric value for our charts. To achieve this, we are going to build a &lt;a href="http://code.google.com/apis/chart/interactive/docs/reference.html#DataView"&gt;Data View&lt;/a&gt; on top of our &lt;a href="http://code.google.com/apis/chart/interactive/docs/reference.html#DataTable"&gt;Data Table&lt;/a&gt; and convert the string column to a number column:
&lt;pre class="prettyprint"&gt;var view = new google.visualization.DataView(data);
view.setColumns([
  0,
  {calc:function(dataTable, rowNum) {return parseInt(dataTable.getValue(
      rowNum, 1))}, type:'number', label:'Ad requests'}
]);
&lt;/pre&gt;
Our &lt;code&gt;DataView&lt;/code&gt; will use the first column of the &lt;code&gt;DataTable&lt;/code&gt; as it is, but will generate on the fly a second column composed of numeric values by calling a function of our choice that implements the conversion.&lt;br /&gt;
&lt;br /&gt;
Finally we can draw the chart using a &lt;a href="http://code.google.com/apis/chart/interactive/docs/reference.html#chartwrapperobject"&gt;chart wrapper&lt;/a&gt; and passing our &lt;code&gt;DataView&lt;/code&gt; to the wrapper.
Make sure to define an element with id equal to the &lt;code&gt;containerId&lt;/code&gt; parameter, as this is where the chart will be drawn.
&lt;pre class="prettyprint"&gt;var lineChartWrapper = new google.visualization.ChartWrapper({
  chartType: 'LineChart',
  dataTable: view,
  options: {'title': 'Ad requests trend - Year 2011'},
  containerId: 'vis_div'
});
lineChartWrapper.draw();
&lt;/pre&gt;
The line chart for the CEO is ready, and it’s also displaying tips when hovering over points. Check the &lt;a href="http://savedbythegoog.appspot.com/?id=564c16e5bd49096cfd11ccc3b3e7f2cc16560125"&gt;live example&lt;/a&gt; and the &lt;a href="http://code.google.com/p/adsense-apis-showcase/source/browse/#git%2FChartToolsWeek%2FMonday"&gt;source code for today&lt;/a&gt;!
&lt;br /&gt;
&lt;h2&gt;


Time to play!&lt;/h2&gt;
Eager to try to see what you can do combining these two powerful Google APIs?&lt;br /&gt;
&lt;br /&gt;
You can start immediately by using our &lt;a href="https://code.google.com/apis/explorer/#_s=adsense&amp;amp;_v=v1.1"&gt;Google API Explorer&lt;/a&gt; and our &lt;a href="http://code.google.com/apis/ajax/playground/?type=visualization"&gt;Google Visualization PlayGround&lt;/a&gt;. You can use the Explorer to query our Management API, and then use the results inside the code on the Visualization PlayGround to generate a chart.&lt;br /&gt;
&lt;br /&gt;
In the next post of this series, we’ll look at how to generate a column chart.&lt;br /&gt;
&lt;br /&gt;
Have questions in the meantime?
&lt;ul&gt;
&lt;li&gt;If they’re related to the AdSense Management API, come to &lt;a href="https://groups.google.com/group/adsense-api"&gt;our forum&lt;/a&gt; and ask!&lt;/li&gt;&lt;li&gt;If they’re related to the Google Chart Tools, visit the &lt;a href="https://groups.google.com/forum/#!forum/google-visualization-api"&gt;Google Visualization API forum&lt;/a&gt; and ask!&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;
&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/118276561380249048216/about"&gt;&lt;img src="https://lh5.googleusercontent.com/-RMp-hn38AZI/AAAAAAAAAAI/AAAAAAAAADE/59YQber32iU/photo.jpg?sz=20" style="border: none; vertical-align: middle;" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/118276561380249048216/about" rel="author"&gt;Silvano Luciani&lt;/a&gt;, AdSense API Team&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-6202773655918468646?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/LRdpwJtlU4g" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/6202773655918468646?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/6202773655918468646?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/LRdpwJtlU4g/adsense-management-api-and-chart-tools.html" title="AdSense Management API and Chart Tools week: Monday" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-RMp-hn38AZI/AAAAAAAAAAI/AAAAAAAAADE/59YQber32iU/s72-c/photo.jpg?sz=20" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/01/adsense-management-api-and-chart-tools.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkIDQn0yeCp7ImA9WhRWGE0.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-3751508782468606847</id><published>2012-01-05T13:56:00.000-08:00</published><updated>2012-01-05T13:56:13.390-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-05T13:56:13.390-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api" /><category scheme="http://www.blogger.com/atom/ns#" term="adwords_v201109" /><title>55 days until AdWords API deprecation deadline</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="background-color: transparent;"&gt;
&lt;b id="internal-source-marker_0.4074767807032913" style="font-weight: normal;"&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;As &lt;/span&gt;&lt;a href="http://adwordsapi.blogspot.com/2011/10/adwords-api-v201109-launch-providing.html"&gt;&lt;span style="background-color: white; color: #000099; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;announced&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; in October 2011, with the release of AdWords API v201109, we will be deprecating the following versions and services:&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;ul&gt;
&lt;li style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;AdWords API versions v13, v200909, v201003, v201008, v201101&lt;/span&gt;&lt;/li&gt;
&lt;li style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;AdWords API version v13 AccountService will only be available on a whitelist basis.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;We will be sunsetting these versions and services in 55 days on February 29, 2012. If you have not started migrating to AdWords API v201109, we strongly encourage you to do so, as calls made using previous versions will return errors after February 29th. In particular, we anticipate that migrating from v13 to AdHoc reporting may take some time. Resources to help with this migration are available &lt;/span&gt;&lt;a href="http://code.google.com/apis/adwords/docs/reportguide.html"&gt;&lt;span style="background-color: white; color: #000099; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;. AdHoc documentation is available &lt;/span&gt;&lt;a href="http://code.google.com/apis/adwords/docs/guides/reporting.html#adhoc"&gt;&lt;span style="background-color: white; color: #000099; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; and best practices have been outlined &lt;/span&gt;&lt;a href="http://adwordsapi.blogspot.com/2011/11/discover-v201109-adhoc-reports.html"&gt;&lt;span style="background-color: white; color: #000099; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;on the blog&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;We’ve been running the “Discover v201109” blog series to introduce new services, as well as make the migration process easier for you. Posts include:&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;ul&gt;
&lt;li style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;An overview of the &lt;/span&gt;&lt;a href="http://adwordsapi.blogspot.com/2011/11/discovering-v201109-constantdataservice.html"&gt;&lt;span style="background-color: white; color: #000099; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;new ConstantDataService&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;, which can be used with CampaignCriterion &lt;/span&gt;&lt;span style="background-color: white; color: #444444; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;to get more fine-grained control of the targeting of your campaigns&lt;/span&gt;&lt;/li&gt;
&lt;li style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Information on &lt;/span&gt;&lt;a href="http://adwordsapi.blogspot.com/2011/11/discover-v201109-changes-to-accounts.html"&gt;&lt;span style="background-color: white; color: #000099; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;changes to account identification criteria&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; (it’s now only client customer ID)&lt;/span&gt;&lt;/li&gt;
&lt;li style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Details on how to target campaigns with &lt;/span&gt;&lt;a href="http://adwordsapi.blogspot.com/2011/11/discovering-v201109-how-to-target.html"&gt;&lt;span style="background-color: white; color: #000099; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;CampaignCriterionService&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;The &lt;/span&gt;&lt;a href="http://googleadsdeveloper.blogspot.com/2011/12/discover-adwords-api-v201109-xml.html"&gt;&lt;span style="background-color: white; color: #000099; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;introduction of XML validation&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; so you can be alerted to structural issues with your requests&lt;/span&gt;&lt;/li&gt;
&lt;li style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;The &lt;/span&gt;&lt;a href="http://googleadsdeveloper.blogspot.com/2011/11/discover-adwords-v201109.html"&gt;&lt;span style="background-color: white; color: #000099; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;introduction of CreateAccountService&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; which creates AdWords accounts without login emails &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;To keep up to date with future “Discover v201109” posts, click on the &lt;/span&gt;&lt;a href="http://googleadsdeveloper.blogspot.com/search/label/adwords_v201109"&gt;&lt;span style="background-color: white; color: #000099; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;adwords_v201109&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; label on the &lt;a href="http://googleadsdeveloper.blogspot.com/"&gt;Google Ads Developer Blog&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;As with every new version of the AdWords API, we encourage you to review the resources in the &lt;/span&gt;&lt;a href="http://code.google.com/apis/adwords/docs/clientlibraries.html"&gt;&lt;span style="background-color: white; color: #000099; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;AdWords API client libraries&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;. If you have any questions please post them on the &lt;/span&gt;&lt;a href="https://groups.google.com/forum/#%21forum/adwords-api"&gt;&lt;span style="background-color: white; color: #000099; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;AdWords API forum.&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; We will also continue to host &lt;/span&gt;&lt;a href="https://www.google.com/calendar/b/0/embed?src=7brqg62i0mbinu226iblpcnmoo@group.calendar.google.com&amp;amp;ctz=America/New_York"&gt;&lt;span style="background-color: white; color: #000099; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Google+ Hangouts&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; with members of the AdWords API Developer Relations Team.&lt;/span&gt;&lt;br /&gt;&lt;a href="https://groups.google.com/group/adwords-api"&gt;&lt;span style="background-color: white; color: #000099; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Finally, we may send out periodic service announcements via email on the deprecation timeline and resources to migrate to v201109. Please be sure that your contact information is up to date in your &lt;/span&gt;&lt;a href="http://www.google.com/intl/en/adwords/myclientcenter/"&gt;&lt;span style="background-color: white; color: #000099; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;My Client Center account&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;. Review this &lt;/span&gt;&lt;a href="http://adwordsapi.blogspot.com/2011/03/reminder-about-company-info.html"&gt;&lt;span style="background-color: white; color: #000099; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;blog post&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; for more details.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="background-color: transparent;"&gt;
&lt;b id="internal-source-marker_0.4074767807032913" style="font-weight: normal;"&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span class="post-author"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style="background-color: transparent;"&gt;
&lt;span class="post-author"&gt;Katie Miller, AdWords API Team&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-3751508782468606847?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/rN9aF7dACxU" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/3751508782468606847?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/3751508782468606847?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/rN9aF7dACxU/55-days-until-adwords-api-deprecation.html" title="55 days until AdWords API deprecation deadline" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/01/55-days-until-adwords-api-deprecation.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8GQ3k6eSp7ImA9WhRUEEw.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-4164295492119141470</id><published>2012-01-05T11:56:00.000-08:00</published><updated>2012-01-19T14:40:22.711-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-19T14:40:22.711-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api" /><category scheme="http://www.blogger.com/atom/ns#" term="admob_sdk" /><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api" /><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api" /><category scheme="http://www.blogger.com/atom/ns#" term="hangout" /><title>More Office Hours in 2012</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Last year we hosted our first office hours for the Google Ads Developer products using Google+ hangouts, and the feedback was overwhelmingly positive. We plan to host more of them in 2012, and sessions for January and February have already been scheduled.  Our upcoming hangouts are listed on the &lt;a href="https://developers.google.com/events/"&gt;Google Developers events page&lt;/a&gt;, and we encourage you to click the "I'll be there" button if you plan on attending.  You can also follow our schedule by subscribing to the &lt;a href="https://www.google.com/calendar/b/0/embed?showNav=0&amp;amp;showDate=0&amp;amp;showPrint=0&amp;amp;showTabs=0&amp;amp;showCalendars=0&amp;amp;mode=AGENDA&amp;amp;height=300&amp;amp;wkst=1&amp;amp;bgcolor=%23FFFFFF&amp;amp;src=7brqg62i0mbinu226iblpcnmoo%40group.calendar.google.com&amp;amp;color=%232F6309&amp;amp;ctz=Etc%2FGMT"&gt;Google Ads Developer Office Hours calendar&lt;/a&gt; or by glancing at the sidebar to the right of this blog entry.&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-UTyRffWHVT8/TwX_iNxfpFI/AAAAAAAAAGE/o7FJnnjKS4c/s1600/hangout.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="220" src="http://3.bp.blogspot.com/-UTyRffWHVT8/TwX_iNxfpFI/AAAAAAAAAGE/o7FJnnjKS4c/s320/hangout.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
In case you haven’t joined us before, you will need 3 things to join the hangout:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;A Google+ account (&lt;a href="https://plus.google.com/"&gt;sign up here&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;The &lt;a href="http://www.google.com/tools/dlpage/res/talkvideo/hangouts/"&gt;Google voice and video plugin&lt;/a&gt; installed on your computer&lt;/li&gt;
&lt;li&gt;A quiet place to hangout so we can hear you&lt;/li&gt;
&lt;/ul&gt;
These hangouts are informal and conversational, which make them a great place to ask questions or give us feedback.  If you have questions about our office hours program, reach out to us on the forums.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt;&amp;nbsp;DFP January Office hours have been moved to January 31st.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/103231502413952116096"&gt;&lt;img height="20" src="https://lh4.googleusercontent.com/-qbaZRXjidts/AAAAAAAAAAI/AAAAAAAAABo/HfCK2T4S-14/s200-c-k/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/103231502413952116096" rel="author"&gt;Eric Koleda&lt;/a&gt;, Google Ads Developer Team&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-4164295492119141470?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/hLn4hG21itk" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/4164295492119141470?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/4164295492119141470?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/hLn4hG21itk/more-office-hours-in-2012.html" title="More Office Hours in 2012" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-UTyRffWHVT8/TwX_iNxfpFI/AAAAAAAAAGE/o7FJnnjKS4c/s72-c/hangout.png" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/01/more-office-hours-in-2012.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEADQ384cSp7ImA9WhRWF0Q.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-5679557935366665625</id><published>2012-01-05T11:46:00.000-08:00</published><updated>2012-01-05T11:46:12.139-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-05T11:46:12.139-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="app_engine" /><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api" /><category scheme="http://www.blogger.com/atom/ns#" term="reporting" /><category scheme="http://www.blogger.com/atom/ns#" term="oauth" /><title>Updates to AdWords API on Python Google App Engine</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
The AdWords API Python Google App Engine demo has been updated to use &lt;a href="http://code.google.com/apis/adwords/docs/reference/#v201109"&gt;v201109&lt;/a&gt; (and &lt;a href="http://code.google.com/apis/adwords/docs/headers.html#clientCustomerId"&gt;clientCustomerId&lt;/a&gt;) and now has its source control hosted at the new &lt;a href="http://code.google.com/p/google-api-ads-python/source/browse/#svn%2Fapps%2Fadwords%2Freporting_appengine_demo"&gt;project site&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
In addition, we are happy to announce the release of a new &lt;a href="http://code.google.com/p/google-api-ads-python/downloads/detail?name=adwords_api_reporting_gae_demo_1.0.0.tar.gz"&gt;Python Google App Engine demo&lt;/a&gt; - this one demonstrating &lt;a href="http://code.google.com/apis/adwords/docs/guides/reporting.html#adhoc"&gt;AdHoc reports&lt;/a&gt; running on Google App Engine using OAuth 1.0a for the authentication.  This demo allows you to select as many or as few child accounts as you wish to run a report against and will download the reports asynchronously using a &lt;a href="http://code.google.com/appengine/docs/python/taskqueue/"&gt;Task Queue&lt;/a&gt; one by one.  Reports are stored in the Google App Engine &lt;a href="http://code.google.com/appengine/docs/python/blobstore/"&gt;Blobstore&lt;/a&gt; and can be downloaded by the user once they have been processed.&lt;br /&gt;
&lt;br /&gt;
The new demo also shows how to perform the &lt;a href="http://code.google.com/apis/accounts/docs/OAuth.html#WorkingOauth"&gt;OAuth flow&lt;/a&gt; in a web application context and how to store the oauth_token and oauth_token_secret in the Google App Engine datastore.  OAuth is used both to query the API for a list of accounts as well as to download the reports.&lt;br /&gt;
&lt;br /&gt;
You can download the Google App Engine demo and use the &lt;a href="http://code.google.com/appengine/docs/python/tools/devserver.html"&gt;Python Development Google App Engine Server&lt;/a&gt; to play around with the code without the need for an existing Google App Engine account.  If you have any questions or would like to discuss this new demo, please post on &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;the forum&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/110892224480992063622/posts"&gt;&lt;img height="20" src="https://lh6.googleusercontent.com/-Bm_0uFwE20M/AAAAAAAAAAI/AAAAAAAAALY/hflk83UJtt4/s200-c-k/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/110892224480992063622/posts" rel="author"&gt;Kevin Winter&lt;/a&gt;, AdWords API Team&lt;/span&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-5679557935366665625?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/fYxOpXpoNkc" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/5679557935366665625?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/5679557935366665625?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/fYxOpXpoNkc/updates-to-adwords-api-on-python-google.html" title="Updates to AdWords API on Python Google App Engine" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/01/updates-to-adwords-api-on-python-google.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMDRHs5cSp7ImA9WhRWEEo.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-809553900445557328</id><published>2011-12-28T09:00:00.000-08:00</published><updated>2011-12-28T03:57:55.529-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-28T03:57:55.529-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api" /><category scheme="http://www.blogger.com/atom/ns#" term="interview" /><title>Meet an AdSense API Engineer: Nick Johnson</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-IeaZjB683Jc/Tvr1b9CpBAI/AAAAAAAAAFs/yR58CWUIuGQ/s1600/picture1b.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-IeaZjB683Jc/Tvr1b9CpBAI/AAAAAAAAAFs/yR58CWUIuGQ/s320/picture1b.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
A few weeks ago, we caught up with &lt;a href="http://googleadsdeveloper.blogspot.com/2011/12/meet-adsense-api-engineer-ben-birt.html"&gt;Ben Birt&lt;/a&gt; from our AdSense API Engineering team in London. Today, we'd like to introduce you to another member of the team -- Nick Johnson, a Software Engineer who joined Google in May 2011.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;What’s your main contribution to API development?&lt;/b&gt;&lt;br /&gt;
I could tell you... but then I would have to use one of those flashy things from Men in Black on you. (We have those at Google). Then I’d probably have to use it on me. I’m essentially a general purpose code monkey at this point in time, but I have some very cool stuff coming into the pipeline soon.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Describe your average day at work&lt;/b&gt;&lt;br /&gt;
My average day starts with me grabbing a coffee and some cereal from the kitchen. Aside from our (seated) stand up team meeting, everything else changes on a daily basis. So long as I get to do some coding, I’m generally happy.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;What do you like most about the &lt;a href="http://code.google.com/apis/adsense/management/"&gt;AdSense Management API&lt;/a&gt;?&lt;/b&gt;&lt;br /&gt;
I think the Ad Clients list call is my favourite. It’s less typing, so that makes it pretty ideal for making test calls. In all seriousness though, I think the thing I like best is the potential. The ways in which you can use and combine your data are entirely in your hands now.&lt;br /&gt;
&lt;br /&gt;
We have some pretty cool surprises coming from inside Google (but when is that not true?), but we also can’t wait to see what third party developers create.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Tell us one best practice about the API&lt;/b&gt;&lt;br /&gt;
Think about what you have, and what you need. Be smart with your calls and make the most of them. Try to multiplex and retrieve as much of the data you need in the least number of calls. You need to balance this with the responsiveness of your app though. Quite obviously more data will take more time.&lt;br /&gt;
&lt;br /&gt;
Another important thing is that if you have any problems or feature suggestions, then by all means, please...&lt;br /&gt;
...&lt;a href="https://groups.google.com/group/adsense-api"&gt;tell Silvano and Sérgio&lt;/a&gt; :) (members of the AdSense API Developer Relations team)

&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-M8xdXmq31hs/Tvr280vM--I/AAAAAAAAAF4/jisiem2Ppkw/s1600/picture2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-M8xdXmq31hs/Tvr280vM--I/AAAAAAAAAF4/jisiem2Ppkw/s320/picture2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;Enough work stuff, let’s go personal.
We’ve heard that you lived in Scotland for some years. Is it true that they deep fry everything up there?&lt;/b&gt;&lt;br /&gt;
I think we both know that science has proven any foodstuff can be improved by submerging it in a large quantity of hot fat. It’s like adding “in space” to the end of a plot description. I did live in the beautiful city of &lt;a href="http://en.wikipedia.org/wiki/Edinburgh"&gt;Edinburgh&lt;/a&gt; (s’up to my homies on the Morningsi-ide) for ten extremely pleasant years, before I moved down to the big smoke for a job with the big G.&lt;br /&gt;
&lt;br /&gt;
No, it’s not true that the Scottish deep fry everything. It would be far more accurate to say they will deep fry anything. Don’t knock it until you’ve tried it though. Deep fried Mars bars are &lt;a href="http://www.youtube.com/watch?v=Tvt-CYmBPI8"&gt;very real&lt;/a&gt;, but I’m afraid I never tried them. I was worried I might like them.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Ok, let me ask you some geeky questions now. I’ve heard that you like functional programming...&lt;/b&gt;&lt;br /&gt;
Truly, your wit is sharp as a pillow.&lt;br /&gt;
&lt;br /&gt;
Functional programming is something I’m slowly getting my head around, but the biggest barrier (for me, at least) is the attitude of the functional programming evangelists. It’s like talking to someone who thinks Emacs is better than Vim.&lt;br /&gt;
&lt;br /&gt;
I mean, come on.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Since it’s obligatory in these sorts of interviews, why don’t you throw some film and book recommendations our way?&lt;/b&gt;&lt;br /&gt;
I’m at least as big a film nerd as I am a computer nerd (and I do the latter for a living!), so I could literally talk to you all day about that. If I’m completely honest, the film I saw in 2011 which I enjoyed the most was almost certainly Fast [and Furious] 5, but I’m not sure I’d go so far as to say it’s the best film I saw this year. I will always love The Matrix, Fight Club, Pitch Black and Amélie, and right now I’m really quite excited about Joss Whedon(!)’s The Avengers.&lt;br /&gt;
&lt;br /&gt;
If I had to recommend one book it would probably be either The Hitchhiker’s Guide to the Galaxy, or Neal Stephenson’s Cryptonomicon (though that is really not a light read, in any sense of the word). Recently I read, and loved, “The Alloy of Law”, Brandon Sanderson’s follow up to his brilliant Mistborn trilogy, so I think I’ll also have to recommend those books.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Will you fix my computer?&lt;/b&gt;&lt;br /&gt;
No.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Fine. Will you code my favorite API?&lt;/b&gt;&lt;br /&gt;
I’m on it.&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;

&lt;span class="post-author"&gt; &lt;a href="https://plus.google.com/118276561380249048216/about"&gt;&lt;img src="https://lh5.googleusercontent.com/-RMp-hn38AZI/AAAAAAAAAAI/AAAAAAAAADE/59YQber32iU/photo.jpg?sz=20" style="vertical-align: middle; border: none;" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/118276561380249048216/about" rel="author"&gt;Silvano Luciani&lt;/a&gt;, AdSense API Team&lt;/span&gt;
&lt;br /&gt;

&lt;span class="post-author"&gt; &lt;a href="https://plus.google.com/103951349449629293779/about"&gt;&lt;img src="https://lh5.googleusercontent.com/-IF04-WU5f0s/AAAAAAAAAAI/AAAAAAAAAD0/p7rs13Nv1VE/photo.jpg?sz=20" style="vertical-align: middle; border: none;" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/103951349449629293779/about" &gt;Nick Johnson&lt;/a&gt;, AdSense API Team&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-809553900445557328?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/CWMRxARrqQg" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/809553900445557328?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/809553900445557328?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/CWMRxARrqQg/meet-adsense-api-engineer-nick-johnson.html" title="Meet an AdSense API Engineer: Nick Johnson" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-IeaZjB683Jc/Tvr1b9CpBAI/AAAAAAAAAFs/yR58CWUIuGQ/s72-c/picture1b.jpg" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2011/12/meet-adsense-api-engineer-nick-johnson.html</feedburner:origLink></entry></feed>

