<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CUMCQHcyeSp7ImA9WxBWEU8.&quot;"><id>tag:blogger.com,1999:blog-32786009</id><updated>2010-02-02T07:11:01.991-08:00</updated><title type="text">Google Data APIs Blog</title><subtitle type="html">Your official source for news, tips and tricks for the Google Data APIs.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://googledataapis.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://googledataapis.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Zach</name><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>136</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/OfficialGoogleDataApisBlog" /><feedburner:info uri="officialgoogledataapisblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DUIEQH89cSp7ImA9WxBTFUg.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-3057837245997918520</id><published>2009-12-11T10:36:00.000-08:00</published><updated>2009-12-11T10:51:41.169-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-11T10:51:41.169-08:00</app:edited><title>http://googlecode.blogspot.com/</title><content type="html">&lt;span style=";font-family:arial;font-size:100%;"&gt;Good news, Google Data APIs are upgrading and moving to the official Google Code blog!  From now on, we'll be posting all of our new and exciting news at &lt;a href="http://googlecode.blogspot.com/"&gt;http://googlecode.blogspot.com&lt;/a&gt;.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:arial;font-size:100%;"&gt;Unfortunately, that means there won't be any more posts here.  However, if you need information from any of the older posts, they will all remain here indefinitely.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:arial;font-size:100%;"&gt;And of course, you can always find loads of information about all of Google's developer products at &lt;a href="http://code.google.com/"&gt;http://code.google.com/&lt;/a&gt;.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-3057837245997918520?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?a=2y3iazVcEzQ:wBeN3Yd0FzI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?a=2y3iazVcEzQ:wBeN3Yd0FzI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?i=2y3iazVcEzQ:wBeN3Yd0FzI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/2y3iazVcEzQ" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/3057837245997918520?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/3057837245997918520?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/2y3iazVcEzQ/httpgooglecodeblogspotcom.html" title="http://googlecode.blogspot.com/" /><author><name>Zach</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03357982500827091183" /></author><feedburner:origLink>http://googledataapis.blogspot.com/2009/12/httpgooglecodeblogspotcom.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUCSXY_fip7ImA9WxNXEUU.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-5048112964445323242</id><published>2009-09-27T17:32:00.000-07:00</published><updated>2009-09-28T16:57:48.846-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-28T16:57:48.846-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="DocList" /><title>Import Scans or Go Multilingual</title><content type="html">&lt;div&gt;About a month ago, &lt;a href="http://googledataapis.blogspot.com/2009/08/pdfs-revisions-folder-sharing-in.html"&gt;we launched&lt;/a&gt; v3.0 of the &lt;a href="http://code.google.com/apis/documents/overview.html"&gt;Documents List Data API&lt;/a&gt; and promised more features were on the way.  Well today, we're releasing two experimental  features in the API: OCR and Document Translation. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The first, Optical Character Recognition (&lt;a href="http://en.wikipedia.org/wiki/Optical_character_recognition"&gt;OCR&lt;/a&gt;), allows your application to create editable Google Documents from high-resolution images containing text (such as faxes or scanned letters). To perform OCR on a .png, .jpg, or .gif upload, add the &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="color:#006600;"&gt;ocr=true&lt;/span&gt;&lt;/span&gt; parameter onto your upload request:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="color:#006600;"&gt;POST /feeds/default/private/full?ocr=true HTTP/1.1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;OCR will only work well on high-resolution images.  The quality of the extracted text isn't perfect yet, but we're busy improving it!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Secondly, we have integrated &lt;a href="http://translate.google.com/"&gt;Google Translate&lt;/a&gt; into the API. As a result, you can translate a document during upload. Simply add the &lt;span class="Apple-style-span"  style="color:#006600;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;targetLanguage&lt;/span&gt;&lt;/span&gt; and &lt;span class="Apple-style-span"  style="color:#006600;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;sourceLanguage &lt;/span&gt;&lt;/span&gt;parameters to your upload request:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#006600;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;POST /feeds/default/private/full/?targetLanguage=&lt;b&gt;de&lt;/b&gt;&amp;amp;sourceLanguage=&lt;b&gt;en&lt;/b&gt; HTTP/1.1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="color:#006600;"&gt;sourceLanguage&lt;/span&gt;&lt;/span&gt; is omitted, we'll try to auto detect the document's language. All languages supported by Google Translate (full list &lt;a href="http://translate.google.com/"&gt;here&lt;/a&gt;) are supported in the API. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As always, see the &lt;a href="http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html#SpecialFeatures"&gt;documentation&lt;/a&gt; for details.  There's also a &lt;a href="http://googlecodesamples.com/docs/php/ocr.php"&gt;live demo&lt;/a&gt; (source will be available soon) up at &lt;a href="http://googlecodesamples.com/"&gt;googlecodesamples.com&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span class="byline-author"&gt;Posted by Jaron Schaeffer &amp;amp; Eric Bidelman, Google Docs Team&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-5048112964445323242?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?a=7fLLv6lbSO4:YwGEH83rt18:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?a=7fLLv6lbSO4:YwGEH83rt18:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?i=7fLLv6lbSO4:YwGEH83rt18:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/7fLLv6lbSO4" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/5048112964445323242?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/5048112964445323242?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/7fLLv6lbSO4/import-scans-or-go-multilingual.html" title="Import Scans or Go Multilingual" /><author><name>Eric (Google)</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://googledataapis.blogspot.com/2009/09/import-scans-or-go-multilingual.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4FSXsyeip7ImA9WxNQGE4.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-6940198833117713896</id><published>2009-09-24T02:13:00.001-07:00</published><updated>2009-09-24T15:55:18.592-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-24T15:55:18.592-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sites" /><title>New Data API for Google Sites!</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_3OiTHGI1Oew/Srs5a0u1s3I/AAAAAAAAA_o/8hjOMd1JXXM/s1600-h/dh5rqqc_61cm9q2jdn_b.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 175px; height: 175px;" src="http://2.bp.blogspot.com/_3OiTHGI1Oew/Srs5a0u1s3I/AAAAAAAAA_o/8hjOMd1JXXM/s320/dh5rqqc_61cm9q2jdn_b.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5384960912446042994" /&gt;&lt;/a&gt;We're very excited to announce a brand new Data API for Google Sites!&lt;br /&gt;&lt;br /&gt;If you're new to the application, &lt;a href="http://sites.google.com/"&gt;Google Sites&lt;/a&gt; is a powerful collaborative content creation tool that can be used to centralize file attachments, information from other Google applications (like Google Docs, Google Calendar, YouTube and Picasa), and free-form content. Creating a site together is as easy as editing a document, and you always control who has access, whether it's just yourself, your team, or your whole organization. You can even publish sites to the world.&lt;br /&gt;&lt;br /&gt;Now, all of your Google Sites content can be accessed using the &lt;a href="http://code.google.com/apis/gdata"&gt;Google Data protocol&lt;/a&gt;. That means porting over an old webpage or backing up an existing site got much easier!  In fact, check out our open-source &lt;a href="http://code.google.com/p/google-sites-liberation/"&gt;Google Sites import/export tool&lt;/a&gt; that does just that.&lt;br /&gt;&lt;br /&gt;So what can you do with the Google Sites API?  Glad you asked!  The API supports most of the functionality found in Google Sites, which includes the ability to:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Retrieve, create, modify, and delete pages and content.&lt;/li&gt;&lt;li&gt;Upload/download attachments.&lt;/li&gt;&lt;li&gt;Review the revision history across a site.&lt;/li&gt;&lt;li&gt;Display recent user activity.&lt;/li&gt;&lt;/ul&gt;For now, the API is being released in &lt;a href="http://code.google.com/labs/"&gt;labs&lt;/a&gt; as we continue to rapidly add and change features. You can get the full scoop in the &lt;a href="http://code.google.com/apis/sites/"&gt;documentation&lt;/a&gt;. There, you'll also find an updated &lt;a href="http://code.google.com/p/gdata-java-client/downloads/list"&gt;Java library&lt;/a&gt; and several &lt;a href="http://code.google.com/apis/sites/code.html"&gt;code samples&lt;/a&gt; to get you started.  We'll be updating the other clients soon.&lt;br /&gt;&lt;br /&gt;Visit us in our &lt;a href="http://groups.google.com/group/google-sites-data-api"&gt;new developer forum&lt;/a&gt; if you have questions!&lt;br /&gt;&lt;br /&gt;&lt;span class="byline-author"&gt;Posted by Eric Bidelman, Google Sites API Team&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-6940198833117713896?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?a=h3QuPVIqNDI:1lLfzU9YCoo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?a=h3QuPVIqNDI:1lLfzU9YCoo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?i=h3QuPVIqNDI:1lLfzU9YCoo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/h3QuPVIqNDI" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/6940198833117713896?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/6940198833117713896?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/h3QuPVIqNDI/new-data-api-for-google-sites.html" title="New Data API for Google Sites!" /><author><name>Eric (Google)</name><email>noreply@blogger.com</email></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_3OiTHGI1Oew/Srs5a0u1s3I/AAAAAAAAA_o/8hjOMd1JXXM/s72-c/dh5rqqc_61cm9q2jdn_b.png" height="72" width="72" /><feedburner:origLink>http://googledataapis.blogspot.com/2009/09/new-data-api-for-google-sites.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UNRHg5eyp7ImA9WxNSFU0.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-563778234411879542</id><published>2009-08-28T15:50:00.000-07:00</published><updated>2009-08-28T16:14:55.623-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-28T16:14:55.623-07:00</app:edited><title>PDFs, Revisions, Folder Sharing in the DocList API</title><content type="html">&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_0B4-pcSxQZ0/Sphj1tM8GGI/AAAAAAAABvo/_NUigGmL7cc/s200/dh5rqqc_58g8cb4dg6_b.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5375155929584769122" /&gt;&lt;br /&gt;&lt;div id="8blg0"&gt;&lt;span class="Apple-style-span"   style="font-family:Arial;color:#333333;"&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 0);   font-family:Verdana;font-size:13px;"&gt;&lt;span id="w91l" style="color: rgb(51, 51, 51); "&gt;&lt;span id="r-zi"  style="font-family:Arial, sans-serif;"&gt;&lt;div id="lvkz" style="margin-top: 0px; margin-bottom: 0px; "&gt;You filed features...we listened!&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;div id="yod1" style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="ud7o" style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span id="e:ro" style="color: rgb(51, 51, 51); "&gt;&lt;span id="s5rl"  style="font-family:Arial, sans-serif;"&gt;&lt;span id="2l9ns" style="background-color: rgb(255, 255, 255); "&gt;Today, &lt;/span&gt;we're pleased to announce Version 3.0 of the &lt;/span&gt;&lt;span id="0r-zi"  style="font-family:Arial, sans-serif;"&gt;&lt;a href="http://code.google.com/apis/documents/overview.html" id="0w91l" title="http://code.google.com/apis/documents/overview.html" style="color: rgb(85, 26, 139); "&gt;Documents List Data API&lt;/a&gt;, which includes PDF upload/download (the most requested feature on &lt;a href="http://code.google.com/p/gdata-issues/issues/list?q=label:API-DocumentsList" id="p6g6" title="our issue tracker"&gt;our issue tracker&lt;/a&gt;).  &lt;/span&gt;&lt;span id="1r-zi"  style="font-family:Arial, sans-serif;"&gt;V3 also introduces a &lt;a href="http://code.google.com/apis/documents/changelog.html#release-Version-3.0" id="eknk" title="slew of new features" style="color: rgb(85, 26, 139); "&gt;slew of new features&lt;/a&gt;, such as folder sharing, domain and group level ACLs, document revision history, and feed URIs that are more user friendly and RESTful.  For example:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="blg0" style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="4oknp" style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span id="5oknp" style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51); "&gt;&lt;span id="t0._"  style="font-family:Arial, sans-serif;"&gt;Fetch ACLs:  &lt;/span&gt;&lt;span class="Apple-style-span" id="2e2.e"&gt;&lt;span id="0t0._"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;GET /feeds/default/private/full/&amp;lt;resource_id&amp;gt;/acl&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="tizw" style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span id="0tizw" style="background-color: rgb(255, 255, 255); "&gt;&lt;div id="5cos:" style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" id="6cos:"   style="font-family:Arial, sans-serif;color:#333333;"&gt;&lt;span id="9cos:" style="color: rgb(51, 51, 51); "&gt;&lt;span id="bb8e"  style="font-family:Arial, sans-serif;"&gt;&lt;span id="5z9.b" style="background-color: rgb(255, 255, 255); "&gt;Fetch revision history:  &lt;span class="Apple-style-span" id="3e2.e"  style="font-family:'Courier New';"&gt;GET /feeds/default/private/full/&amp;lt;resource_id&amp;gt;/revisions&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="tr4-" style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" id="0tr4-"   style="font-family:'Courier New';color:#333333;"&gt;&lt;span id="1tr4-" style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51); "&gt;&lt;span id="l206"  style="font-family:Arial, sans-serif;"&gt;Fetch folder contents:  &lt;/span&gt;&lt;span class="Apple-style-span" id="tfxm"&gt;GET /feeds/default/private/full/&amp;lt;folder_resource_id&amp;gt;/contents&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="2blg0" style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="5blg0" style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span id="6blg0" style="color: rgb(51, 51, 51); "&gt;&lt;span id="7blg0"  style="font-family:Arial, sans-serif;"&gt;We've also made impro&lt;span id="xyx4" style="background-color: rgb(255, 255, 255); "&gt;vements to the API's latency and stability -- a major request by users over the past several months. &lt;/span&gt;&lt;span id="lv8d" style="color: rgb(51, 51, 51); "&gt;&lt;span id="0xyx4"  style="font-family:Arial, sans-serif;"&gt;&lt;span id="1xyx4" style="background-color: rgb(255, 255, 255); "&gt;We're hop&lt;/span&gt;&lt;/span&gt;&lt;span id="2xyx4"  style="font-family:Arial, sans-serif;"&gt;&lt;span id="3xyx4" style="background-color: rgb(255, 255, 255); "&gt;ing this latest version will allow developers to create even better and more interesting integrations with "The Cloud".  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="cos:" style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="8blg0" style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;div id="md_1" style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span id="1j5bt" style="color: rgb(51, 51, 51); "&gt;&lt;span id="7r-zi"  style="font-family:Arial, sans-serif;"&gt;&lt;span id="v5_v"  style="font-family:Arial, sans-serif;"&gt;&lt;span id="gj46" style="background-color: rgb(255, 255, 255); "&gt;For &lt;/span&gt;&lt;span id="t0qf" style="color: rgb(51, 51, 51); "&gt;&lt;span id="kd43"  style="font-family:Arial, sans-serif;"&gt;&lt;span id="0gj46" style="background-color: rgb(255, 255, 255); "&gt;the full list of features and deprecations, check out the &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span id="2gj46" style="background-color: rgb(255, 255, 255); "&gt;&lt;a href="http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html" id="rcbv" title="documentation" style="color: rgb(85, 26, 139); "&gt;documentation&lt;/a&gt; &lt;/span&gt;&lt;/span&gt;&lt;span id="1v5_v"  style="font-family:Arial, sans-serif;"&gt;&lt;span id="v-lt" style="background-color: rgb(255, 255, 255); "&gt;&lt;span id="0t0qf" style="background-color: rgb(243, 243, 243); "&gt;and &lt;/span&gt;&lt;span id="b3xf" style="background-color: rgb(243, 243, 243); color: rgb(51, 51, 51); "&gt;&lt;a href="http://code.google.com/apis/documents/changelog.html#release-Version-3.0" id="zk7p" title="release notes" style="color: rgb(85, 26, 139); "&gt;&lt;span id="0kd43"  style="font-family:Arial, sans-serif;"&gt;API release notes&lt;/span&gt;&lt;/a&gt;&lt;span id="1kd43"  style="font-family:Arial, sans-serif;"&gt;.&lt;/span&gt;&lt;/span&gt; If you're a Java developer, there's an updated &lt;a href="http://code.google.com/apis/documents/docs/3.0/developers_guide_java.html" id="f:dn" title="updated Java Developer's Guide"&gt;Java Developer's Guide&lt;/a&gt; and &lt;a href="http://code.google.com/p/gdata-java-client/source/browse/trunk/java/sample/docs/" id="ffb0" title="sample"&gt;sample app&lt;/a&gt; .  A new version of the &lt;a href="http://code.google.com/p/gdata-objectivec-client/" id="mgde" title="Objective-C library"&gt;Objective-C library&lt;/a&gt; is also available.  Look for updates to the other client libraries and developer guides in the coming weeks.  If &lt;/span&gt;&lt;span id="bzm8" style="background-color: rgb(255, 255, 255); "&gt;you have questions, please visit us in our &lt;a href="http://groups.google.com/group/google-documents-list-api" id="x_rf" title="new developer forum"&gt;new developer forum&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="bx:." style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="o7iu" style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;div id="3bzm8" style="margin-top: 0px; margin-bottom: 0px; text-align: center; "&gt;&lt;span id="4bzm8" style="color: rgb(51, 51, 51); "&gt;&lt;span id="4v5_v"  style="font-family:Arial, sans-serif;"&gt;&lt;span id="5bzm8" style="background-color: rgb(255, 255, 255); "&gt;&lt;span id="6bzm8"  style="font-family:Arial, sans-serif;"&gt;Version 3.0 resolves the following issues: &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span id="6v5_v"  style="font-family:Arial, sans-serif;"&gt;&lt;span id="7bzm8" style="background-color: rgb(255, 255, 255); "&gt;&lt;span id="8bzm8" style="background-color: rgb(243, 243, 243); "&gt;&lt;a href="http://code.google.com/p/gdata-issues/issues/detail?id=591" id="a270" title="591" style="color: rgb(85, 26, 139); "&gt;&lt;span id="9bzm8"  style="font-family:Arial, sans-serif;"&gt;591&lt;/span&gt;&lt;/a&gt;&lt;span id="10bzm8"  style="font-family:Arial, sans-serif;"&gt;, &lt;/span&gt;&lt;span id="11bzm8"  style="font-family:Arial, sans-serif;"&gt;&lt;a href="http://code.google.com/p/gdata-issues/issues/detail?id=1132" id="rpsy" title="1132"&gt;1132&lt;/a&gt;, &lt;a href="http://code.google.com/p/gdata-issues/issues/detail?id=923" id="dc23" title="923"&gt;923&lt;/a&gt;, &lt;a href="http://code.google.com/p/gdata-issues/issues/detail?id=1099" id="pa10" title="1099"&gt;1099&lt;/a&gt;, &lt;a href="http://code.google.com/p/gdata-issues/issues/detail?id=1368" id="c3.1" title="1368"&gt;1368&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="2ik75" style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;div id="x:df" style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="2x:df" style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" id="3x:df"   style="font-family:Arial, sans-serif;color:#333333;"&gt;&lt;span id="u_bf" style="color: rgb(102, 102, 102); "&gt;&lt;span id="ft9:"  style="font-family:Arial, sans-serif;"&gt;Posted by Eric Bidelman, Google Docs Team&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-563778234411879542?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?a=Y3mr5lQgNcg:JoCZgMgj7CM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?a=Y3mr5lQgNcg:JoCZgMgj7CM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?i=Y3mr5lQgNcg:JoCZgMgj7CM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/Y3mr5lQgNcg" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/563778234411879542?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/563778234411879542?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/Y3mr5lQgNcg/pdfs-revisions-folder-sharing-in.html" title="PDFs, Revisions, Folder Sharing in the DocList API" /><author><name>zach.maier</name><email>noreply@blogger.com</email></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_0B4-pcSxQZ0/Sphj1tM8GGI/AAAAAAAABvo/_NUigGmL7cc/s72-c/dh5rqqc_58g8cb4dg6_b.png" height="72" width="72" /><feedburner:origLink>http://googledataapis.blogspot.com/2009/08/pdfs-revisions-folder-sharing-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EMQHc7eip7ImA9WxJXFUs.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-8455521239890040301</id><published>2009-06-09T08:25:00.000-07:00</published><updated>2009-06-09T08:34:41.902-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-09T08:34:41.902-07:00</app:edited><title>New Contacts Data API features are here!</title><content type="html">A new version of the &lt;a href="http://code.google.com/apis/contacts/docs/3.0/developers_guide.html"&gt;Contacts Data API&lt;/a&gt; has been made available. V3.0 of the API brings greatly expanded data schema, including support for &lt;a href="http://code.google.com/apis/contacts/docs/3.0/migration_guide.html#StructuredUnstructuredInteractions"&gt;structured name and postal address&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://code.google.com/apis/contacts/"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 100px; height: 96px; border: 0;" src="http://2.bp.blogspot.com/_O2Gca6SGnog/Si6AZgbjd6I/AAAAAAAAAEk/DT4OBzkQ04A/s400/gdata-contacts-nobg.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5345350983425947554" /&gt;&lt;/a&gt;&lt;br /&gt;We have vastly extended the data schema for contacts to allow faithful synchronization of Google Contacts with other widely used contact databases, like Microsoft Outlook or Apple's Address Book. Besides the support for structured name and postal address, another highlight is the inclusion of the oft-requested &lt;a href="http://code.google.com/apis/contacts/docs/3.0/reference.html#gcBirthday"&gt;birthday field&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;We hope the new version of the Contacts Data API will allow developers to easily create more sophisticated and universally compatible contacts-enabled applications. For any questions about the new features, please visit the &lt;a href="http://groups.google.com/group/google-contacts-api?pli=1"&gt;Google Contacts groups page&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span class="byline-author"&gt;Posted by Lukasz Fryz, Contacts Data API Team&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-8455521239890040301?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?a=Z4htBut6tcI:B4z087rnark:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?a=Z4htBut6tcI:B4z087rnark:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?i=Z4htBut6tcI:B4z087rnark:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/Z4htBut6tcI" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/8455521239890040301?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/8455521239890040301?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/Z4htBut6tcI/new-contacts-data-api-features-are-here.html" title="New Contacts Data API features are here!" /><author><name>Brandon Bilinski</name><email>noreply@blogger.com</email></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_O2Gca6SGnog/Si6AZgbjd6I/AAAAAAAAAEk/DT4OBzkQ04A/s72-c/gdata-contacts-nobg.png" height="72" width="72" /><feedburner:origLink>http://googledataapis.blogspot.com/2009/06/new-contacts-data-api-features-are-here.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8BSHc8cCp7ImA9WxJRGEg.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-3894527014272310376</id><published>2009-05-20T14:48:00.000-07:00</published><updated>2009-05-20T15:34:19.978-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-20T15:34:19.978-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OAuth" /><title>OAuth Playground: Open-sourced</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://googlecodesamples.com/oauth_playground/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 221px; height: 71px; border: 0;" src="http://3.bp.blogspot.com/_O2Gca6SGnog/ShR68RyDSaI/AAAAAAAAAEU/28j8hKTAhXk/s400/dh5rqqc_3g4mcx8gz_b.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5338026634324953506" /&gt;&lt;/a&gt;&lt;br /&gt;The &lt;a href="http://googlecodesamples.com/oauth_playground/"&gt;OAuth Playground&lt;/a&gt; has proven to be an invaluable tool for developers.  For one, it's handy for experimenting with the Google Data APIs, but more importantly, it gives developers the ability to debug their own OAuth implementations.  Anyone who tinkered with the open protocol knows it has nuances!  Many first-timers fall into the same pitfalls, so to help remedy that, I've decided to &lt;a href="http://code.google.com/p/gdata-samples/source/browse/#svn/trunk/oauth_playground"&gt;open-source&lt;/a&gt; the Playground in hopes that other OAuth service providers will create similar tools for their own APIs.&lt;br /&gt;&lt;br /&gt;A lot has happened in the OAuth space since the Playground's &lt;a href="http://googledataapis.blogspot.com/2008/09/point-click-understand-oauth.html"&gt;release&lt;/a&gt; last fall.  Included in that is Google's growing number of OAuth-related features and resources to aid developers.  Here are just a few:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://code.google.com/apis/accounts/docs/OAuth.html#GoogleAppsOAuth"&gt;2 legged OAuth&lt;/a&gt; for Google Apps administrators&lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/apis/accounts/docs/OpenID.html#oauth"&gt;Hybrid (OpenID + OAuth) protocol&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Client library OAuth samples in &lt;a href="http://code.google.com/p/gdata-python-client/source/browse/trunk/samples/oauth/oauth_example.py"&gt;Python&lt;/a&gt;, &lt;a href="http://gdatatips.blogspot.com/2009/04/oauth-in-google-app-engine.html"&gt;App Engine Python&lt;/a&gt;, &lt;a href="http://code.google.com/p/gdata-java-client/source/browse/trunk/java/sample/oauth/OAuthExample.java"&gt;Java&lt;/a&gt;, &lt;a href="http://code.google.com/p/googleappengine/source/browse/#svn/trunk/java/demos/oauth"&gt;App Engine Java&lt;/a&gt;, &lt;a href="http://code.google.com/p/gdata-samples/source/browse/trunk/hybrid/index.php"&gt;PHP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Article: &lt;a href="http://code.google.com/apis/gdata/articles/oauth.html"&gt;Using OAuth with the Google Data APIs&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Article: &lt;a href="http://code.google.com/apis/gdata/oauth.html" style="text-decoration: none;"&gt;Using OAuth in the Google Data API Client Libraries&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;The feedback we have heard is that OAuth is difficult to implement and that it's tough to grasp the interactions between user, consumer and service provider. By open-sourcing the OAuth Playground, we really want to make it easier for developers to understand the OAuth flow and debug their own OAuth applications. &lt;br /&gt;&lt;br /&gt;For even more information on OAuth and the OAuth proxy, check out our talk at &lt;a href="http://code.google.com/events/io/"&gt;Google I/O&lt;/a&gt; entitled &lt;a href="http://code.google.com/events/io/sessions/UsingGoogleDataApisOauthOpenSocial.html"&gt;Using Google Data APIs and OAuth to Create an OpenSocial Gadget&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you have any questions, &lt;a href="http://groups.google.com/group/Google-Accounts-API"&gt;ask in the forums&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;&lt;span class="byline-author"&gt;Posted by Eric Bidelman, Google Data APIs Team&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-3894527014272310376?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?a=joCBHaY3_0A:eaRAe5S26UE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?a=joCBHaY3_0A:eaRAe5S26UE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?i=joCBHaY3_0A:eaRAe5S26UE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/joCBHaY3_0A" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/3894527014272310376?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/3894527014272310376?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/joCBHaY3_0A/oauth-playground-open-sourced.html" title="OAuth Playground: Open-sourced" /><author><name>Brandon Bilinski</name><email>noreply@blogger.com</email></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_O2Gca6SGnog/ShR68RyDSaI/AAAAAAAAAEU/28j8hKTAhXk/s72-c/dh5rqqc_3g4mcx8gz_b.jpg" height="72" width="72" /><feedburner:origLink>http://googledataapis.blogspot.com/2009/05/oauth-playground-open-sourced.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YCQnY_cCp7ImA9WxJQEE4.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-8627286151206831032</id><published>2009-04-21T10:08:00.000-07:00</published><updated>2009-05-22T15:26:03.848-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-22T15:26:03.848-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="java" /><title>Google Analytics Data Export API has Launched!</title><content type="html">We are very excited to announce a new member to the Google Data API family, Google Analytics! For those of you who don't know, &lt;a href="http://www.google.com/analytics/"&gt;Analytics&lt;/a&gt; is a powerful web analysis tool that provides incredible amounts of data about where visitors come from, what they do while on your site and where they go from there. The best part is that it's free for everyone!&lt;br /&gt;&lt;br /&gt;The new Google Analytics Data Export API is now publicly available to all Analytics users as a Labs API that provides an easy to use way to get read-only access to your Analytics data. All report data that is available to you through the web interface will also be available through this new Google Data API. In addition to the standard Google Data API protocol of making requests over HTTP and accessing your data in XML, we will also be providing both a &lt;a href="http://code.google.com/apis/analytics/docs/gdata/1.0/gdataJava.html"&gt;Java&lt;/a&gt; and &lt;a href="http://code.google.com/apis/analytics/docs/gdata/1.0/gdataJavascript.html"&gt;JavaScript&lt;/a&gt; client library to make it even easier to integrate with your Analytics information. &lt;br /&gt;&lt;br /&gt;With the availability of this API, you all now have a standardized way to integrate your Google Analytics Data with your own business data to extend existing products or create new standalone applications. Want to see custom views of your Analytics data? Create your own dashboards and gadgets that pull from the Analytics API. Want features that aren't included in the web interface? Build them yourself instead of waiting for them to be developed. Take a look at this &lt;a href="http://www.analyticsmarket.com/mobileapps/mobile-ga/android"&gt;Android application&lt;/a&gt; from Actual Metrics or this &lt;a href="http://www.desktop-reporting.com/products.html"&gt;desktop application&lt;/a&gt; from Desktop-Reporting to see examples of what some developers have already done.&lt;br /&gt;&lt;br /&gt;To dive in and begin writing your own apps, make sure you go to the &lt;a href="http://code.google.com/apis/analytics/"&gt;Analytics API&lt;/a&gt; section of the Google Code website to find all of the necessary documentation. For key announcements, code changes and updates, sign up for the &lt;a href="http://groups.google.com/group/google-analytics-api-notify?lnk"&gt;Google Analytics API Notify&lt;/a&gt; e-mail group which we promise will only send out e-mails when there is something that directly affects developers. Lastly, to share ideas and and get feedback from other developers, join the &lt;a href="http://groups.google.com/group/google-analytics-api"&gt;Google Analytics API Group&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;For more details on Google Analytics and the new API, check out the &lt;a href="http://analytics.blogspot.com/"&gt;Analytics blog&lt;/a&gt;. For more information about building gadgets with the JavaScript library and other topics related to the Google Data APIs, make sure to check out the website for our developer conference, &lt;a href="http://code.google.com/events/io/"&gt;Google I/O&lt;/a&gt;, which will be taking place from May 27-28th in San Francisco.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;[Updated on 05/22/2009] We are happy to also announce that we added the Google Analytics API to the Objective-C client library. Check out the library &lt;a href="http://code.google.com/p/gdata-objectivec-client/source/browse/#svn/trunk/Source/Clients/Analytics"&gt;here&lt;/a&gt; and if you have any questions, please read the new post on the &lt;a href="http://groups.google.com/group/gdata-objectivec-client/browse_thread/thread/dab51ac1801a25a2?pli=1"&gt;Objective-C group page&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="byline-author"&gt;Posted by Nick Mihailovski, Google Analytics API Team&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-8627286151206831032?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?a=46DVgkdSOJ4:fLcUypKwKbQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?a=46DVgkdSOJ4:fLcUypKwKbQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?i=46DVgkdSOJ4:fLcUypKwKbQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/46DVgkdSOJ4" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/8627286151206831032?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/8627286151206831032?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/46DVgkdSOJ4/google-analytics-data-export-api-has.html" title="Google Analytics Data Export API has Launched!" /><author><name>Brandon Bilinski</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://googledataapis.blogspot.com/2009/04/google-analytics-data-export-api-has.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQNQHYyfip7ImA9WxVbEE0.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-4321276901121604152</id><published>2009-03-05T08:58:00.000-08:00</published><updated>2009-03-25T12:13:11.896-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-25T12:13:11.896-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="contacts" /><category scheme="http://www.blogger.com/atom/ns#" term="youtube" /><title>Friends, Activities and You - Become a Socialite the .NET Way</title><content type="html">&lt;span class="byline-author"&gt;Posted by Frank Mantek, Google Data APIs Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://code.google.com/p/google-gdata/downloads/list"&gt;new .NET SDK&lt;/a&gt; has been released and is available for download. There are a lot of changes, and among the highlights you will find:&lt;br /&gt;&lt;br /&gt;- Updated support for YouTube V2&lt;br /&gt;- Support for Google Contacts V2&lt;br /&gt;- Support for Google Documents List V2&lt;br /&gt;&lt;br /&gt;For those 3 services, there is now a vertical object model that allows you to use local LINQ queries. Please go through the &lt;a href="http://google-gdata.googlecode.com/svn/docs/folder55/N_Google_YouTube.htm"&gt;Google.YouTube&lt;/a&gt;, &lt;a href="http://google-gdata.googlecode.com/svn/docs/folder57/N_Google_Contacts.htm"&gt;Google.Contacts&lt;/a&gt; and &lt;a href="http://google-gdata.googlecode.com/svn/docs/folder57/N_Google_Documents.htm"&gt;Google.Documents&lt;/a&gt; namespaces and see what's new there. We have some documentation for it here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://google-gdata.googlecode.com/svn/trunk/clients/cs/docs/AdditionalContent/YouTubeLinqExamples.html"&gt;http://google-gdata.googlecode.com/svn/trunk/clients/cs/docs/AdditionalContent/YouTubeLinqExamples.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The new Google Document project template in Visual Studio shows you how to retrieve all documents and populate a treeview with those documents. In addition there is a Document List Exporter sample application to showcase the new export functionality of the Google Documents service. &lt;br /&gt;&lt;br /&gt;Last, but not least, there is the Notifier for YouTube sample application which showcases the activity feeds YouTube is exposing. You can subscribe to events from your friends and other YouTube users and get notified whenever they leave their marks in the YouTube universe. The sample is also available as a separate download on the download page mentioned before. &lt;br /&gt;&lt;br /&gt;The complete release notes can be found &lt;a href="http://google-gdata.googlecode.com/svn/docs/RELEASE_NOTES.HTML"&gt;here&lt;/a&gt;, and along with the notes is a list of all of the bugs fixed in this release. To report new bugs, you can go to the &lt;a href="http://code.google.com/p/google-gdata/issues/list"&gt;.NET library issue tracker&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-4321276901121604152?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?a=DShMx1A4LAA:FCRYrjmbECA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?a=DShMx1A4LAA:FCRYrjmbECA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/OfficialGoogleDataApisBlog?i=DShMx1A4LAA:FCRYrjmbECA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/DShMx1A4LAA" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/4321276901121604152?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/4321276901121604152?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/DShMx1A4LAA/friends-activites-and-you-become.html" title="Friends, Activities and You - Become a Socialite the .NET Way" /><author><name>Brandon Bilinski</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://googledataapis.blogspot.com/2009/03/friends-activites-and-you-become.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8AQHs9eyp7ImA9WxVWFkU.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-1963919351263071640</id><published>2009-02-23T09:04:00.000-08:00</published><updated>2009-02-26T14:37:21.563-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-26T14:37:21.563-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ruby" /><title>Google Data On Rails</title><content type="html">&lt;span class="byline-author"&gt;Posted by Eric Bidelman, Google Data APIs Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;"Where's Ruby on the list of &lt;a href="http://code.google.com/apis/gdata/clientlibs.html"&gt;client libraries&lt;/a&gt;?"&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://code.google.com/apis/gdata/articles/gdata_on_rails.html"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 142px; border: 0;" src="http://4.bp.blogspot.com/_O2Gca6SGnog/SaLZFHcDGaI/AAAAAAAAAEM/jiwWvurGE5Q/s200/dh5rqqc_3c5c446g8_b.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5306041992915130786" /&gt;&lt;/a&gt;&lt;br /&gt;My colleague Jeff Fisher recently open sourced a &lt;a href="http://code.google.com/p/gdata-ruby-util/"&gt;Ruby utility library&lt;/a&gt; for the Google Data APIs. Mind you, it's not a full-blown client library, but it does handle the fundamentals like authentication and basic XML manipulation using the &lt;a href="http://www.germane-software.com/~ser/software/rexml/"&gt;REXML&lt;/a&gt; module.&lt;br /&gt;&lt;br /&gt;We've got a comprehensive &lt;a href="http://code.google.com/apis/gdata/articles/gdata_on_rails.html"&gt;article &lt;/a&gt;and sample application, the &lt;a href="http://doclistmanager.googlecodesamples.com/"&gt;DocList Manager&lt;/a&gt; (&lt;a href="http://code.google.com/p/gdata-samples/source/browse/#svn/trunk/doclist/DocListManager"&gt;full source&lt;/a&gt;), to demonstrate the basics.&lt;br /&gt;&lt;br /&gt;Please visit us in the &lt;a href="http://groups.google.com/group/google-help-dataapi"&gt;Google Data APIs forum&lt;/a&gt; to ask questions or submit feedback.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-1963919351263071640?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=x0NWxIkb"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=asbchaAV"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?i=asbchaAV" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/Lt4Y0fgC9CE" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/1963919351263071640?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/1963919351263071640?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/Lt4Y0fgC9CE/google-data-on-rails.html" title="Google Data On Rails" /><author><name>Brandon Bilinski</name><email>noreply@blogger.com</email></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_O2Gca6SGnog/SaLZFHcDGaI/AAAAAAAAAEM/jiwWvurGE5Q/s72-c/dh5rqqc_3c5c446g8_b.png" height="72" width="72" /><feedburner:origLink>http://googledataapis.blogspot.com/2009/02/google-data-on-rails.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQBQ38_fSp7ImA9WxVWEE0.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-8240226914611171026</id><published>2009-02-18T17:36:00.000-08:00</published><updated>2009-02-18T17:52:32.145-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-18T17:52:32.145-08:00</app:edited><title>Start the Downloads!</title><content type="html">&lt;span class="byline-author"&gt;Posted by Eric Bidelman, Google Documents List APIs Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Many of you have been waiting patiently for the ability to download your Google Documents using the &lt;a href="http://code.google.com/apis/documents/overview.html"&gt;Documents List Data API&lt;/a&gt;. Today, I am very happy to announce the API's &lt;a href="http://code.google.com/p/gdata-issues/issues/detail?id=70"&gt;top feature request&lt;/a&gt; is finally live.&lt;br /&gt;&lt;br /&gt;The undocumented (but widely used) &lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;RawDocContents&lt;/span&gt; url has been replaced by a more versatile Export servlet.  Authenticated applications can now download documents in a number of different formats including pdf, doc, ppt, swf, xls, and more.&lt;br /&gt;&lt;br /&gt;Exporting is available to all three authentication methods (&lt;a href="http://code.google.com/apis/gdata/auth.html#ClientLogin"&gt;ClientLogin&lt;/a&gt;, &lt;a href="http://code.google.com/apis/gdata/auth.html#AuthSub"&gt;AuthSub&lt;/a&gt;, &lt;a href="http://code.google.com/apis/gdata/auth.html#OAuth"&gt;OAuth&lt;/a&gt;) and will work for developers using the DocList API with a Google Apps hosted domain. &lt;br /&gt;&lt;br /&gt;Lastly, we've got samples!&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Java - an updated &lt;a href="http://code.google.com/p/gdata-java-client/source/browse/#svn/trunk/java/sample/docs"&gt;DocumentsListDemo.java&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;.NET - a new &lt;a href="http://code.google.com/p/google-gdata/source/browse/trunk/#trunk/clients/cs/samples/DocListExporter"&gt;DocListExporter&lt;/a&gt; sample&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Ruby on Rails - &lt;a href="http://doclistmanager.googlecodesamples.com/"&gt;DocList Manager&lt;/a&gt; added to &lt;a href="http://googlecodesamples.com/"&gt;googlecodesamples.com&lt;/a&gt; (source coming soon)&lt;/li&gt;&lt;/ul&gt;For all the details on exporting your documents, see the &lt;a href="http://code.google.com/apis/documents/docs/2.0/developers_guide_protocol.html#DownloadingDocs"&gt;documentation&lt;/a&gt;.  As always, if you have questions, please visit us in the &lt;a href="http://groups.google.com/group/Google-Docs-Data-APIs"&gt;Documents List API forum&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;This feature resolves the following issues: &lt;a href="http://code.google.com/p/gdata-issues/issues/detail?id=70"&gt;70&lt;/a&gt;, &lt;a href="http://code.google.com/p/gdata-issues/issues/detail?id=35"&gt;35&lt;/a&gt;, &lt;a href="http://code.google.com/p/gdata-issues/issues/detail?id=542"&gt;542&lt;/a&gt;, &lt;a href="http://code.google.com/p/gdata-issues/issues/detail?id=706"&gt;706&lt;/a&gt;, &lt;a href="http://code.google.com/p/gdata-issues/issues/detail?id=810"&gt;810&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-8240226914611171026?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=95LiSLqT"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=DpNNwtIi"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?i=DpNNwtIi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/VpwcYr6TKos" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/8240226914611171026?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/8240226914611171026?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/VpwcYr6TKos/start-downloads.html" title="Start the Downloads!" /><author><name>Brandon Bilinski</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://googledataapis.blogspot.com/2009/02/start-downloads.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04GSHY9eSp7ImA9WxVQEks.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-6236770673413991621</id><published>2009-01-29T08:47:00.000-08:00</published><updated>2009-01-29T12:45:29.861-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-29T12:45:29.861-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OAuth" /><category scheme="http://www.blogger.com/atom/ns#" term="OpenID" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>Bringing OpenID and OAuth Together</title><content type="html">&lt;span class="byline-author"&gt;Posted by Yariv Adan, Google Security Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We are happy to announce an important enhancement to our &lt;a href="http://googledataapis.blogspot.com/2008/10/federated-login-for-google-account.html"&gt;recently launched OpenID endpoint&lt;/a&gt;. Google now supports the "&lt;a href="http://step2.googlecode.com/svn/spec/openid_oauth_extension/latest/openid_oauth_extension.html"&gt;Hybrid Protocol&lt;/a&gt;", combining OpenID federated login together with OAuth access authorization. Websites can now ask Google to sign-in a user using their Google Account, and at the same time request access to information available via OAuth-enabled APIs such as the &lt;a href="http://code.google.com/apis/gdata/"&gt;Google Data APIs&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For example, the website &lt;a href="http://www.plaxo.com/"&gt;www.Plaxo.com&lt;/a&gt; is an early adopter of the new service and has already released a beta version supporting it for some of its new users. Plaxo's UI provides both a richer sign-in offering, using the Federated Login OpenID API, and a simple and secure way to import their Google Contacts using OAuth. In the past, sign-in required multiple redirects between Plaxo and Google, and more importantly, multiple user approval pages, one for OpenID during sign-in and another for the OAuth access authorization request. No more!&lt;br /&gt;&lt;br /&gt;The Hybrid Protocol allows Plaxo to encapsulate their OAuth authorization request inside the OpenID authentication request, letting Google know that the user wants to use both APIs. Google can now display a single approval page for both requests. Here is how the new user experience looks:&lt;br /&gt;&lt;br /&gt;In their sign in page, Plaxo offers their users the option to sign in using their Google Account and import their Gmail Contacts.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://step2.googlecode.com/svn/spec/openid_oauth_extension/latest/openid_oauth_extension.html"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 231px;" src="http://2.bp.blogspot.com/_O2Gca6SGnog/SYH1rwCXsjI/AAAAAAAAAD0/F4v79Bc0Vkg/s400/GoogelOptimizedLandingPage.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5296784768742437426" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The user is then redirected to the Google website and asked to confirm both sign in and access authorization requests.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://step2.googlecode.com/svn/spec/openid_oauth_extension/latest/openid_oauth_extension.html"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 220px;" src="http://2.bp.blogspot.com/_O2Gca6SGnog/SYH2aa0pKzI/AAAAAAAAAD8/iVUWIHZO_kI/s400/3.+conf-small-flattened.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5296785570501569330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Finally, the user is redirected back to Plaxo, where she is already signed in and her Google contacts are available. If it's the first time the user signed-in using the Federated Login API, an additional instructive window will be displayed to ensure that the next sign-in experience will be as easy and successful as the first.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://step2.googlecode.com/svn/spec/openid_oauth_extension/latest/openid_oauth_extension.html"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 258px;" src="http://4.bp.blogspot.com/_O2Gca6SGnog/SYHftTkDIiI/AAAAAAAAADs/UCzqL1LNugU/s400/4.+education.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5296760606202995234" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Not only does the protocol allows a much better user experience as shown above, it also reduces the total number of browser redirects and roundtrips, reducing overall latency.&lt;br /&gt;To learn more about this new API see &lt;a href="http://groups.google.com/group/google-federated-login-api/web/oauth-support-in-googles-federated-login-api"&gt;http://groups.google.com/group/google-federated-login-api/web/oauth-support-in-googles-federated-login-api&lt;/a&gt;. To make it easier for you to use the new API, we created a collaborative &lt;a href="http://code.google.com/p/step2/"&gt;Open Source project&lt;/a&gt; together with other major vendors where you can download open source implementations for your Relying Party component. You are invited to contribute your own code and suggested best practices to this website.&lt;br /&gt;&lt;br /&gt;The Hybrid Protocol is a result of the ongoing effort by the &lt;a href="http://openid.net/"&gt;OpenID&lt;/a&gt; and &lt;a href="http://www.oauth.net/"&gt;OAuth&lt;/a&gt; communities to make these protocols more useful for users and websites. Google is working together with the OpenID community to standardize the new protocol as a formal OpenID extension. If you want to help further these efforts and have an impact on what the next advancements are, you are welcome to join the OpenID and OAuth mailing lists.&lt;br /&gt;&lt;br /&gt;If you're interested in looking at some code, check out our &lt;a href="http://googlecodesamples.com/hybrid/"&gt;working sample&lt;/a&gt; using the &lt;a href="http://code.google.com/apis/gdata/articles/php_client_lib.html"&gt;Google Data PHP client library&lt;/a&gt;.  The source code is available &lt;a href="http://code.google.com/p/gdata-samples/source/browse/#svn/trunk/hybrid"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-6236770673413991621?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=J2c2O3vQ"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=oCx4CO6y"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?i=oCx4CO6y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/ld3bxRmQh88" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/6236770673413991621?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/6236770673413991621?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/ld3bxRmQh88/bringing-openid-and-oauth-together.html" title="Bringing OpenID and OAuth Together" /><author><name>Brandon Bilinski</name><email>noreply@blogger.com</email></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_O2Gca6SGnog/SYH1rwCXsjI/AAAAAAAAAD0/F4v79Bc0Vkg/s72-c/GoogelOptimizedLandingPage.PNG" height="72" width="72" /><feedburner:origLink>http://googledataapis.blogspot.com/2009/01/bringing-openid-and-oauth-together.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQCSHYzfSp7ImA9WxVQEE0.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-8873427569060383245</id><published>2009-01-26T12:00:00.000-08:00</published><updated>2009-01-26T12:06:09.885-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-26T12:06:09.885-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="ajax" /><title>Playing Around with Google AJAX and Data APIs</title><content type="html">&lt;span class="byline-author"&gt;Posted by Monsur Hossain, Google Data APIs Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ben Lisbakken of the Google AJAX APIs team just launched the &lt;a href="http://google-code-updates.blogspot.com/2009/01/playing-around-with-googles-ajax-apis.html"&gt;AJAX API Playground&lt;/a&gt;, which offers an intuitive interface for playing around with JavaScript code and immediately seeing the results.  The playground features over 170 examples of how to use the various JavaScript APIs across Google, including examples using our &lt;a href="http://code.google.com/apis/gdata/client-js.html"&gt;Google Data JavaScript client&lt;/a&gt; to access data from Blogger and Calendar.  The samples include &lt;a href="http://code.google.com/apis/ajax/playground/#list_posts"&gt;retrieving posts from Blogger&lt;/a&gt;, &lt;a href="http://code.google.com/apis/ajax/playground/#retrieve_events"&gt;listing events from a calendar&lt;/a&gt;, and &lt;a href="http://code.google.com/apis/ajax/playground/#date_queries"&gt;running queries to grab a subset of data&lt;/a&gt;.  Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-8873427569060383245?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=eKEuOr2g"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=2Xh0bWmy"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?i=2Xh0bWmy" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/ynkEewbUngw" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/8873427569060383245?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/8873427569060383245?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/ynkEewbUngw/playing-around-with-google-ajax-and.html" title="Playing Around with Google AJAX and Data APIs" /><author><name>Brandon Bilinski</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://googledataapis.blogspot.com/2009/01/playing-around-with-google-ajax-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEBSXY4cSp7ImA9WxRaEE4.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-4130889144092696801</id><published>2008-12-11T14:57:00.000-08:00</published><updated>2008-12-11T15:04:18.839-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-11T15:04:18.839-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="health" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>Launched: Google Health PHP Client Library</title><content type="html">&lt;span class="byline-author"&gt;Posted by Eric Bidelman, Google Data APIs Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here's good news for all you PHP developers working with the &lt;a href="http://code.google.com/apis/health"&gt;Health Data API&lt;/a&gt;!  &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://code.google.com/apis/health"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 150px; height: 80px; border: 0;" src="http://4.bp.blogspot.com/_O2Gca6SGnog/SUGbh7mZEFI/AAAAAAAAADU/Ik5iTFBJfSM/s400/phphealth.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5278671245491638354" /&gt;&lt;/a&gt;&lt;br /&gt;The &lt;a href="http://framework.zend.com/download/gdata"&gt;Google Data PHP Client Library&lt;/a&gt; now includes support for the Google Health Data API.  You can download the latest copy from the &lt;a href="http://code.google.com/p/googlehealthsamples/downloads/list"&gt;googlehealthsamples project page&lt;/a&gt;.   &lt;br /&gt;&lt;br /&gt;In addition to the download, we also have a few developer resources to get you started:&lt;br /&gt;&lt;a href="http://code.google.com/apis/gdata/articles/php_client_lib.html"&gt;Getting Started with the PHP Client Library&lt;/a&gt;&lt;br /&gt;&lt;a href="http://code.google.com/apis/health/docs/1.0/developers_guide_php.html"&gt;PHP Developer's Guide &lt;/a&gt;&lt;br /&gt;&lt;a href="http://framework.zend.com/svn/framework/standard/trunk/demos/Zend/Gdata/Health.php"&gt;Sample Application&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-4130889144092696801?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=mahonUVz"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=3BV5W0VA"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?i=3BV5W0VA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/7oFf_KXYwas" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/4130889144092696801?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/4130889144092696801?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/7oFf_KXYwas/launched-google-health-php-client.html" title="Launched: Google Health PHP Client Library" /><author><name>Brandon Bilinski</name><email>noreply@blogger.com</email></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_O2Gca6SGnog/SUGbh7mZEFI/AAAAAAAAADU/Ik5iTFBJfSM/s72-c/phphealth.jpg" height="72" width="72" /><feedburner:origLink>http://googledataapis.blogspot.com/2008/12/launched-google-health-php-client.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8CR344cCp7ImA9WxRbGU4.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-671477852720619998</id><published>2008-12-10T08:41:00.000-08:00</published><updated>2008-12-10T10:47:46.038-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-10T10:47:46.038-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="gadgets" /><category scheme="http://www.blogger.com/atom/ns#" term="base" /><title>Google Base API Now in the JavaScript Client Library</title><content type="html">&lt;span class="byline-author"&gt;Posted by Eric Bidelman, Google Data APIs Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Today, we launched a new version of the &lt;a href="http://code.google.com/apis/gdata/client-js.html"&gt;JavaScript client library&lt;/a&gt; that includes the &lt;a href="http://code.google.com/apis/base/"&gt;Google Base Data API&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The Base API is great for creating interesting JS mashups. With this new release, it's much easier to build &lt;a href="http://googledataapis.blogspot.com/2008/10/whats-that-google-data-gadgets.html"&gt;gadgets&lt;/a&gt;, mashups and JS applications that reuse the content in Base. In addition, you can interact with your personal items feed to create, modify and delete existing items.&lt;br /&gt;&lt;br /&gt;To get you started, we've published a new &lt;a href="http://code.google.com/apis/base/docs/1.0/developers_guide_js.html"&gt;Interactive JavaScript Developer's Guide&lt;/a&gt; and created two samples that demonstrate the library's capabilities:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gdata-javascript-client.googlecode.com/svn/trunk/samples/base/baseOnAMap/base_mapper.html"&gt;Base Items Mapper&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;A read-write mashup that lets users update their geocoded Base items using the Google Maps API.&lt;/blockquote&gt;&lt;br /&gt;&lt;a href="http://www.google.com/ig/adde?moduleurl=http://gdata-samples.googlecode.com/svn/trunk/gadgets/base/jobFinder/jobFinder.xml"&gt;Jobs Finder from Google Base&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;An iGoogle gadget that returns a list of nearby jobs.  The listings are catered to the user's search preferences.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-671477852720619998?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=97fHrwzx"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=GBBwt5t8"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?i=GBBwt5t8" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/vmeflVP7pKc" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/671477852720619998?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/671477852720619998?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/vmeflVP7pKc/google-base-api-now-in-javascript.html" title="Google Base API Now in the JavaScript Client Library" /><author><name>Brandon Bilinski</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://googledataapis.blogspot.com/2008/12/google-base-api-now-in-javascript.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQHSXk8fCp7ImA9WxRbFEw.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-1991184324209396077</id><published>2008-12-03T15:19:00.000-08:00</published><updated>2008-12-04T09:05:38.774-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-04T09:05:38.774-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OAuth" /><category scheme="http://www.blogger.com/atom/ns#" term="python" /><category scheme="http://www.blogger.com/atom/ns#" term="AuthSub" /><title>No, You Lock It Up!</title><content type="html">&lt;span class="byline-author"&gt;Posted by Eric Bidelman &amp;amp; Kunal Shah, Google Data APIs Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The latest realease of the Google Data &lt;a href="http://code.google.com/p/gdata-python-client/"&gt;Python client library&lt;/a&gt; (v1.2.3) includes the usual &lt;a href="http://gdata-python-client.googlecode.com/svn-history/r585/trunk/RELEASE_NOTES.txt"&gt;updates and bug fixes&lt;/a&gt;, but also adds two important features, &lt;a href="http://code.google.com/apis/gdata/auth.html#OAuth"&gt;OAuth&lt;/a&gt; and &lt;a href="http://code.google.com/apis/accounts/docs/AuthSub.html#signingrequests"&gt;secure AuthSub&lt;/a&gt;.  Both authorization mechanisms allow developers to make their web applications more secure by requiring API requests be digitally signed.  Check out the sample applications to get started:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://code.google.com/p/gdata-python-client/source/browse/trunk/samples/authsub/secure_authsub.py"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 76px; height: 76px;" src="http://1.bp.blogspot.com/_O2Gca6SGnog/STcVQwcgtmI/AAAAAAAAADE/_sisLCaX4Ds/s400/keyspng" border="0" alt="" id="BLOGGER_PHOTO_ID_5275708866114401890" /&gt;&lt;/a&gt;Secure AuthSub example using the Google Health Data API&lt;br /&gt;&lt;a href="http://code.google.com/p/gdata-python-client/source/browse/trunk/samples/authsub/secure_authsub.py"&gt;http://code.google.com/p/gdata-python-client/source/browse/trunk/samples/authsub/secure_authsub.py&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://code.google.com/p/gdata-python-client/source/browse/trunk/samples/oauth/oauth_example.py"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 76px; height: 76px;" src="http://4.bp.blogspot.com/_O2Gca6SGnog/STcVp23v94I/AAAAAAAAADM/pjPJjwhoeKQ/s200/oauthpng" border="0" alt="" id="BLOGGER_PHOTO_ID_5275709297335990146" /&gt;&lt;/a&gt;OAuth example using the Google Documents List Data API&lt;br /&gt;&lt;a href="http://code.google.com/p/gdata-python-client/source/browse/trunk/samples/oauth/oauth_example.py"&gt;http://code.google.com/p/gdata-python-client/source/browse/trunk/samples/oauth/oauth_example.py&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;You can &lt;a href="http://code.google.com/p/gdata-python-client/downloads/list"&gt;download the latest client&lt;/a&gt; from the client's project page. As always, if you're interested in contributing, the door is always open. Drop by the &lt;a href="http://groups.google.com/group/gdata-python-client-library-contributors"&gt;contributors discussion group&lt;/a&gt; and jump right in.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-1991184324209396077?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=l9Fua1Bj"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=Lc5PqR1y"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?i=Lc5PqR1y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/hGrCTZh4lto" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/1991184324209396077?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/1991184324209396077?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/hGrCTZh4lto/no-you-lock-it-up.html" title="No, You Lock It Up!" /><author><name>Brandon Bilinski</name><email>noreply@blogger.com</email></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_O2Gca6SGnog/STcVQwcgtmI/AAAAAAAAADE/_sisLCaX4Ds/s72-c/keyspng" height="72" width="72" /><feedburner:origLink>http://googledataapis.blogspot.com/2008/12/no-you-lock-it-up.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQNQ3s7cSp7ImA9WxRUEk8.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-3407212916734223320</id><published>2008-11-19T12:53:00.000-08:00</published><updated>2008-11-20T15:23:12.509-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-20T15:23:12.509-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><title>Like a Version; AtomPub Compliant for the Very First Time</title><content type="html">&lt;span class="byline-author"&gt;Posted by Brandon Bilinski, Google Data APIs Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Since the Atom Publishing Protocol specification was finalized, we have been working on making the Google Data APIs compliant with the AtomPub standard. As of today, we are releasing a new version of most of our services that achieves full compliancy with &lt;a href="http://www.rfc-editor.org/rfc/rfc5023.txt"&gt;RFC 5023&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you're worried that this may break your current application, rest easy. This change will only be available in API version 2 and higher. If you are happy with the current version, you can keep doing what you've been doing and the API will continue to work as it always has. If instead you'd like to use the AtomPub compliant version (and the new v2 features), just specify API version 2 in an &lt;a href="http://code.google.com/apis/gdata/docs/2.0/migration_guide.html#Protocol"&gt;HTTP header&lt;/a&gt;, and you're good to go.&lt;br /&gt;&lt;br /&gt;One of the new v2 features is the use of &lt;a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.19"&gt;HTTP ETags&lt;/a&gt; for optimistic concurrency. ETags are a web standard that work well with HTTP caching. The client libraries that support version 2 will handle ETags automatically, but if you are interested in how ETags look at the protocol level, check out the &lt;a href="http://code.google.com/apis/gdata/docs/2.0/reference.html#ResourceVersioning"&gt;details&lt;/a&gt; in the Google Data Protocol Documentation. Some services are using V2 to introduce additional improvements as well (for example, &lt;a href="http://apiblog.youtube.com/2008/10/ch-ch-ch-changes-versioning-geo-search.html"&gt;YouTube's new geo-search feature&lt;/a&gt;), so be sure to check out the documentation for your favorite service to see what's new.&lt;br /&gt;&lt;br /&gt;For those of you who'd like to try out version 2 in our client libraries, the &lt;a href="http://code.google.com/p/gdata-java-client/downloads/list"&gt;Java&lt;/a&gt; and &lt;a href="http://code.google.com/p/google-gdata/downloads/list"&gt;.NET&lt;/a&gt; client libraries have been updated with V2 support. To see a list of the services who are V2 compliant and to find out how to migrate your apps to the new version, check out our &lt;a href="http://code.google.com/apis/gdata/docs/2.0/migration_guide.html"&gt;migration guide&lt;/a&gt;. We recommend migrating to v2 if you can, as any future improvements will be introduced to version 2 and higher. For further information about the release, please check out the new &lt;a href="http://code.google.com/apis/gdata/overview.html"&gt;Google Data documentation&lt;/a&gt; or head over to our &lt;a href="http://groups.google.com/group/google-help-dataapi?pli=1"&gt;discussion group&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Updated 11/20/2008 to correct RFC number&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-3407212916734223320?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=Thok2o2Q"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=ADtSG1mp"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?i=ADtSG1mp" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/Gw8vZ3Xz6dk" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/3407212916734223320?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/3407212916734223320?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/Gw8vZ3Xz6dk/like-version-atompub-compliant-for-very.html" title="Like a Version; AtomPub Compliant for the Very First Time" /><author><name>Brandon Bilinski</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://googledataapis.blogspot.com/2008/11/like-version-atompub-compliant-for-very.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UMQnw9cCp7ImA9WxRWFE0.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-3976771812996830010</id><published>2008-10-28T16:10:00.000-07:00</published><updated>2008-10-30T15:21:23.268-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-30T15:21:23.268-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OAuth" /><category scheme="http://www.blogger.com/atom/ns#" term="OpenID" /><title>Federated Login For Google Account Users</title><content type="html">&lt;span class="byline-author"&gt;Posted by Yariv Adan, Google Security Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;br /&gt;*Due to the strong interest from our developer community and the high registration rate, we decided to make it easier for websites to experience the new API and removed the registration requirement. For more information see the &lt;a href="http://google-code-updates.blogspot.com/2008/10/moving-another-step-closer-to-single.html"&gt;OpenID post&lt;/a&gt; on the Google Code blog.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Many of the developers who use the Google Data APIs have asked for a way to remove the need for a login system on their site.  Today we &lt;a href="http://google-code-updates.blogspot.com/2008/10/google-moves-towards-single-sign-on.html"&gt;announced&lt;/a&gt; that we are allowing websites to test an API that will permit single sign-on for Google Account users who visit your websites. The initial version of the API will enable websites to validate the identity of a Google Account user including the optional ability to request the user's e-mail address. Here are screenshots of the example flow that a user might see if he or she starts at a website that uses this new feature.&lt;br /&gt;&lt;br /&gt;The user would open the homepage of a website that uses the Google Data APIs (KidMallPics, in this example), and instead of having to fill out a login box or account creation form, he or she would simply click the Google button.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://code.google.com/apis/accounts/docs/OpenID.html"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="http://2.bp.blogspot.com/_O2Gca6SGnog/SQecRR6H2cI/AAAAAAAAACs/hp-CQYzh6MY/s400/File.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5262346510284609986" /&gt;&lt;/a&gt;&lt;br /&gt;The user would then be taken to the Google website, where they would confirm they want to sign in to KidMallPics.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://code.google.com/apis/accounts/docs/OpenID.html"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="http://3.bp.blogspot.com/_O2Gca6SGnog/SQecgUN86iI/AAAAAAAAAC0/8vwa4-rNRus/s400/File2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5262346768602688034" /&gt;&lt;/a&gt;&lt;br /&gt;Finally, the user would be sent back to the KidMallPics site, where he or she would be signed in. If the user had previously signed into KidMallPics and authorized them to access the user's photo account at Google, then the user could now perform actions on the KidMallPics website such as having his or her mall photos transferred to Google using the Google Data protocol.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://code.google.com/apis/accounts/docs/OpenID.html"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="http://1.bp.blogspot.com/_O2Gca6SGnog/SQectsqF_eI/AAAAAAAAAC8/IpoP0wRzRXA/s400/File3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5262346998501473762" /&gt;&lt;/a&gt;&lt;br /&gt;This new API is already being used by &lt;a href="http://www.buxfer.com/"&gt;www.buxfer.com&lt;/a&gt; and &lt;a href="http://www.plaxo.com/"&gt;www.plaxo.com&lt;/a&gt;. Shashank Pandit at Buxfer says that "We now offer all our users the ability to login to Buxfer using their Google Account to avoid the need to create yet another login and password."  Joseph Smarr, Chief Platform Architect at Plaxo says, "It's great to see Google become an Open ID provider in addition to supporting OAuth, which we already use. We are thrilled to be among the first sites to allow users to login with their Google Accounts. This is going to be great for users, Plaxo and the web."&lt;br /&gt;&lt;br /&gt;We chose OpenID as the protocol for our identity provider because it makes a large set of open source implementations available for many different development platforms used by Google Data API developers. To learn more about this new API see &lt;a href="http://code.google.com/apis/accounts/docs/OpenID.html"&gt;http://code.google.com/apis/accounts/docs/OpenID.html&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Google is also working with the open source community on ways to combine the OAuth and OpenID protocol so a website can not only request the user's identity and e-mail address, but can at the same time request access to information available via OAuth-enabled APIs such as &lt;a href="http://code.google.com/apis/gdata/"&gt;Google Data APIs&lt;/a&gt; as well as standard data formats such as &lt;a href="http://portablecontacts.net/"&gt;Portable Contacts&lt;/a&gt; and &lt;a href="http://code.google.com/apis/opensocial/docs/dataapis.html"&gt;OpenSocial REST APIs&lt;/a&gt;.  In the future, this should allow a website to immediately provide a much more streamlined, personalized and socially relevant experience for users when they log in to trusted websites.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Updated 10/30/2008 to reflect changes to registration process&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-3976771812996830010?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=mZF1KJfj"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=gEdOHQTC"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?i=gEdOHQTC" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/H2bROiMR9hQ" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/3976771812996830010?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/3976771812996830010?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/H2bROiMR9hQ/federated-login-for-google-account.html" title="Federated Login For Google Account Users" /><author><name>Brandon Bilinski</name><email>noreply@blogger.com</email></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_O2Gca6SGnog/SQecRR6H2cI/AAAAAAAAACs/hp-CQYzh6MY/s72-c/File.png" height="72" width="72" /><feedburner:origLink>http://googledataapis.blogspot.com/2008/10/federated-login-for-google-account.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cHQXkzfSp7ImA9WxRWEUg.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-7164806262524909056</id><published>2008-10-27T17:40:00.000-07:00</published><updated>2008-10-27T17:50:30.785-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-27T17:50:30.785-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="REST" /><title>An Introduction to REST</title><content type="html">&lt;span class="byline-author"&gt;Posted by Joe Gregorio, Google Data APIs Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/apis/gdata/"&gt;Google Data APIs&lt;/a&gt; are based on the &lt;a href="http://www.rfc-editor.org/rfc/rfc5023.txt"&gt;Atom Publishing Protocol&lt;/a&gt; and both Google Data APIs and AtomPub get many advantages from being RESTful protocols. Often the meaning of REST and the advantages of RESTfulness go unexplained so I put together this short 15 minute video that explains REST and some of the advantages you get with a protocol built in that style.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/YCcAE2SCQ6k&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.youtube.com/v/YCcAE2SCQ6k&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;* For higher quality, &lt;a href="http://www.youtube.com/watch?v=YCcAE2SCQ6k"&gt;click through&lt;/a&gt; to YouTube.com and select the "watch in high quality" option.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-7164806262524909056?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=xSGtvAqU"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=oZiChJP1"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?i=oZiChJP1" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/LkcQ-6mKDTI" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/7164806262524909056?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/7164806262524909056?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/LkcQ-6mKDTI/introduction-to-rest.html" title="An Introduction to REST" /><author><name>Brandon Bilinski</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://googledataapis.blogspot.com/2008/10/introduction-to-rest.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8NQ3s-fSp7ImA9WxRXGE8.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-7684978579166930811</id><published>2008-10-23T22:47:00.000-07:00</published><updated>2008-10-23T22:58:12.555-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-23T22:58:12.555-07:00</app:edited><title>Update, Share, File: Documents List API launches new features!</title><content type="html">&lt;span class="byline-author"&gt;Posted by Jochen Hartmann, Google Data APIs Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I am very happy to announce that three major features requests have been implemented in the &lt;a href="http://code.google.com/apis/documents/overview.html"&gt;Documents List Data API&lt;/a&gt; this week. These are:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Update document content: You can now issue &lt;code&gt;PUT&lt;/code&gt; requests to your documents and modify contents, metadata or both. (&lt;a href="http://code.google.com/p/gdata-issues/issues/detail?id=277"&gt;Issue 277&lt;/a&gt;)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Share by programmatically controlling ownership: There is now an &lt;a href="http://en.wikipedia.org/wiki/Access_Control_List"&gt;ACL&lt;/a&gt; feed for each document that you can modify by adding or removing entries. (&lt;a href="http://code.google.com/p/gdata-issues/issues/detail?id=311"&gt;Issue 311&lt;/a&gt;)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;File your documents: You can now create new folders in the API, move documents in and out of folders and have full access to nested folders. (&lt;a href="http://code.google.com/p/gdata-issues/issues/detail?id=377"&gt;Issue 377&lt;/a&gt;, &lt;a href="http://code.google.com/p/gdata-issues/issues/detail?id=383"&gt;Issue 383&lt;/a&gt;)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Please check out the &lt;a href="http://code.google.com/apis/documents/developers_guide_protocol.html"&gt;updated documentation&lt;/a&gt; and look for these features being implemented in our &lt;a href="http://code.google.com/apis/gdata/clientlibs.html"&gt;client libraries&lt;/a&gt; soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-7684978579166930811?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=PW3dpdV3"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=5cENNo10"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?i=5cENNo10" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/gIACb7uh-YE" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/7684978579166930811?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/7684978579166930811?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/gIACb7uh-YE/update-share-file-documents-list-api.html" title="Update, Share, File: Documents List API launches new features!" /><author><name>Brandon Bilinski</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://googledataapis.blogspot.com/2008/10/update-share-file-documents-list-api.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYMQHw6cSp7ImA9WxRXEUU.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-5474594186747572997</id><published>2008-10-16T10:51:00.000-07:00</published><updated>2008-10-16T11:36:21.219-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-16T11:36:21.219-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OAuth" /><category scheme="http://www.blogger.com/atom/ns#" term="book search" /><title>What's That? Google Data Gadgets?</title><content type="html">&lt;span class="byline-author"&gt;Posted by Eric Bidelman, Google Data APIs Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Google just &lt;a href="http://igoogledeveloper.blogspot.com/2008/10/big-canvas-big-opportunity.html"&gt;announced&lt;/a&gt; a new version of &lt;a href="http://www.google.com/ig"&gt;iGoogle &lt;/a&gt;that includes a special feature for gadget authentication called the &lt;a href="http://code.google.com/apis/gadgets/docs/oauth.html"&gt;OAuth Proxy&lt;/a&gt;. With the OAuth Proxy, developers can finally create secure Google Data gadgets.&lt;br /&gt;&lt;br /&gt;Even Google teams are using this new feature to build gadgets such as the Google Book Search gadget which was &lt;a href="http://booksearch.blogspot.com/2008/10/but-where-to-start.html"&gt;announced&lt;/a&gt; today and is based on the new &lt;a href="http://googledataapis.blogspot.com/2008/09/new-google-data-api-for-book-search.html"&gt;Google Book Search API&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;The OAuth Proxy is built on top of &lt;a href="http://oauth.net/"&gt;OAuth&lt;/a&gt; and an open-source project called &lt;a href="http://incubator.apache.org/shindig/"&gt;Shindig&lt;/a&gt;, an implementation of the gadget specification and OpenSocial.  Using this platform, any OpenSocial gadget container can add support for OAuth-enabled gadgets.  For Google Data developers, this means that a gadget you build for iGoogle will be able to run on other OpenSocial containers as well.  Of course, you are not limited to using the Google Data APIs.  The iGoogle OAuth Proxy works with any site that offers OAuth-enabled APIs, such as MySpace.&lt;br /&gt;&lt;br /&gt;Interested in building a gadget?  I've &lt;a href="http://code.google.com/apis/gdata/articles/gdata_gadgets.html"&gt;written an article&lt;/a&gt; that explains how to use the Javascript client library to create a Blogger gadget.  If you're interested in diving straight in, detailed information can be found in the &lt;a href="http://code.google.com/apis/gadgets/docs/oauth.html"&gt;gadgets documentation&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://code.google.com/apis/gdata/articles/gdata_gadgets.html"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_O2Gca6SGnog/SPeEjRRmA3I/AAAAAAAAACk/-ycxuWcGZGg/s400/screenshot.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5257816831445828466" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There's never been a better time to mash up your Google Data!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-5474594186747572997?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=tloMxS0d"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=5AvHlOEU"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?i=5AvHlOEU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/lewzQ9uZr34" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/5474594186747572997?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/5474594186747572997?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/lewzQ9uZr34/whats-that-google-data-gadgets.html" title="What's That? Google Data Gadgets?" /><author><name>Brandon Bilinski</name><email>noreply@blogger.com</email></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_O2Gca6SGnog/SPeEjRRmA3I/AAAAAAAAACk/-ycxuWcGZGg/s72-c/screenshot.png" height="72" width="72" /><feedburner:origLink>http://googledataapis.blogspot.com/2008/10/whats-that-google-data-gadgets.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEMRHc7fSp7ImA9WxRQGUg.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-5759295970654245592</id><published>2008-10-13T18:53:00.000-07:00</published><updated>2008-10-13T20:08:05.905-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-13T20:08:05.905-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="python" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>PHP Documentation Just Got Better!</title><content type="html">&lt;span class="byline-author"&gt;Posted by Jochen Hartmann, Google Data APIs Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Just a quick note about a massive update to our &lt;a href="http://code.google.com/apis/gdata/articles/php_client_lib.html"&gt;Getting Started with the Google Data PHP Client Library&lt;/a&gt; article. Not only do we now have a &lt;a href="http://www.youtube.com/watch?v=BtrFZmZjalE"&gt;new video&lt;/a&gt; in which Trevor Johns walks you through installing and using the client library, but we have also added some tips on how to use the new installation checker script which can help detect common installation issues. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://code.google.com/apis/gdata/articles/php_client_lib.html"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_O2Gca6SGnog/SPP8RhES9DI/AAAAAAAAAB8/5e7pYOnbxUU/s400/dgd29w3b_99f96hvrhh_b.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5256822567935865906" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;While we are on the subject of getting started, you may also want to check out the new videos for the &lt;a href="http://www.youtube.com/watch?v=avk93IXH12I"&gt;Python client library&lt;/a&gt; and for the &lt;a href="http://www.youtube.com/watch?v=8ErOVHiu5K8"&gt;.NET client library&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-5759295970654245592?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=YfoTKVr2"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=DGmBPkmQ"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?i=DGmBPkmQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/KnusRdmlMfs" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/5759295970654245592?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/5759295970654245592?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/KnusRdmlMfs/php-documentation-just-got-better.html" title="PHP Documentation Just Got Better!" /><author><name>Brandon Bilinski</name><email>noreply@blogger.com</email></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_O2Gca6SGnog/SPP8RhES9DI/AAAAAAAAAB8/5e7pYOnbxUU/s72-c/dgd29w3b_99f96hvrhh_b.png" height="72" width="72" /><feedburner:origLink>http://googledataapis.blogspot.com/2008/10/php-documentation-just-got-better.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUNSXs6fip7ImA9WxRQGEU.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-5405804667677126226</id><published>2008-10-12T23:21:00.000-07:00</published><updated>2008-10-12T23:44:58.516-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-12T23:44:58.516-07:00</app:edited><title>API Access to Gmail Settings with Google Apps</title><content type="html">&lt;span class="byline-author"&gt;Posted by Andrew Olsen, Google Apps Team&lt;/span&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;New admin tool dawns&lt;br /&gt;Settings change like the seasons&lt;br /&gt;For hosted email&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;When small businesses use Google Apps, it's easy for administrators to help employees configure user settings account-by-account, but this approach doesn't scale up very well for larger companies.&lt;br /&gt;&lt;br /&gt;Now that we have a growing list of customers with hundreds and even thousands of employees apiece, offering a streamlined way for admins to configure account settings is essential. With the release of the Google Email Settings API, Premier and Education Edition administrators can programmatically update Gmail settings for their users in bulk by making requests to a GData feed. Modifiable settings include labels, filters, signatures, vacation responders, "send mail as" aliases, interface language, email forwarding, POP, IMAP, and more.&lt;br /&gt;&lt;br /&gt;For example, suppose you, an administrator, want to allow a certain set of users at your domain to send an email using the alias support@yourdomain.com, you could do the following:&lt;br /&gt;&lt;br /&gt;First you would create a working nickname or group support@yourdomain.com,  which could forward e-mails to your support team or to an issue tracking system.&lt;br /&gt;Then you use the API to allow the team to send e-mail as this address. Each time a user joined the support team, you would simply make this POST request to the appropriate URL - like the following request when user liz@yourdomain.com joins the team.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;POST https://apps-apis.google.com/a/feeds/emailsettings/2.0/yourdomain.com/liz/sendas&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;br /&gt;&amp;lt;atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:apps="http://schemas.google.com/apps/2006"&gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;apps:property name="name" value="yourdomain.com Support Team" /&gt;&lt;br /&gt;    &amp;lt;apps:property name="address" value="support@yourdomain.com" /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/atom:entry&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;For all the details, check out the Google Email Settings API &lt;a href="http://code.google.com/apis/apps/email_settings/developers_guide_protocol.html"&gt;documentation&lt;/a&gt;.&lt;/apps:property&gt;&lt;/atom:entry&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-5405804667677126226?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=ZV4hkHM2"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=rlM5TNof"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?i=rlM5TNof" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/XRyHPtpJvU0" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/5405804667677126226?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/5405804667677126226?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/XRyHPtpJvU0/api-access-to-gmail-settings-with.html" title="API Access to Gmail Settings with Google Apps" /><author><name>Brandon Bilinski</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://googledataapis.blogspot.com/2008/10/api-access-to-gmail-settings-with.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEBQHs5fip7ImA9WxRRGUs.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-2229013411445951644</id><published>2008-10-02T09:52:00.000-07:00</published><updated>2008-10-02T09:57:31.526-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-02T09:57:31.526-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="twitter" /><title>Follow us on Twitter</title><content type="html">&lt;span class="byline-author"&gt;Posted by Stephanie Liu, Google Data APIs Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.twitter.com/googledata"&gt;&lt;img style="float:left; margin:0 5px 5px 0;cursor:pointer; cursor:hand; border: 0;" src="http://1.bp.blogspot.com/_SieTDeJOfgs/SOT835JXLeI/AAAAAAAAAo4/TUDafbZ2zTc/s200/File.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5252601102583934434" /&gt;&lt;/a&gt;If you just can't get enough of us here, we've also been broadcasting out into the Twittersphere with our &lt;a href="http://www.twitter.com/googledata"&gt;googledata&lt;/a&gt; account. If you're not in the know, &lt;a href="http://twitter.com/help/aboutus"&gt;Twitter&lt;/a&gt; is a microblogging service that makes it easy to keep up with your favorite people (hopefully us) on multiple networks and devices. Consider it Google Data "breaking news." :) Feel free to &lt;a href="https://help.twitter.com/index.php?pg=kb.page&amp;id=70"&gt;@ us&lt;/a&gt; with shoutouts and questions!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-2229013411445951644?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=WBm4oXD6"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=JBlBvSfx"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?i=JBlBvSfx" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/DjmWlC9LTH4" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/2229013411445951644?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/2229013411445951644?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/DjmWlC9LTH4/follow-us-on-twitter.html" title="Follow us on Twitter" /><author><name>api.rboyd</name><email>noreply@blogger.com</email></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_SieTDeJOfgs/SOT835JXLeI/AAAAAAAAAo4/TUDafbZ2zTc/s72-c/File.png" height="72" width="72" /><feedburner:origLink>http://googledataapis.blogspot.com/2008/10/follow-us-on-twitter.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcHQXw6cSp7ImA9WxRRF04.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-7535364117096648266</id><published>2008-09-29T16:04:00.000-07:00</published><updated>2008-09-29T16:13:50.219-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-29T16:13:50.219-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><title>Saving Bandwidth Made Easy: Google Data JavaScript Packaging</title><content type="html">&lt;span class="byline-author"&gt;Posted by Trevor Johns, Google Data APIs Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;At Google, we believe it’s important to conserve limited resources, whether it’s the environment or bandwidth. While it won’t help with global warming (we have &lt;a href="http://www.google.org/"&gt;other projects&lt;/a&gt; for that), our new support for packages in our &lt;a href="http://code.google.com/apis/gdata/client-js.html"&gt;Google Data JavaScript client library&lt;/a&gt; can help with the bandwidth.&lt;br /&gt;&lt;br /&gt;This feature allows you to specify precisely which Google Data services you’ll be using in your applications. We then use this information to send just the library code you need, leaving out all the rest. Less code sent across the wire means faster page loads for your applications. Faster page loads mean happier users.&lt;br /&gt;&lt;br /&gt;For comparison, the current version of the JavaScript client library is 47 KB in size. If you request only the Blogger package, that library shrinks to 37 KB, a 21% reduction.&lt;br /&gt;&lt;br /&gt;To take advantage of this, just add a packages argument when you’re loading the client library. For example, the following statement would request only the code necessary for working with the Blogger and Contacts APIs:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;google.load("gdata", "1.x", { packages : ["blogger", "contacts"] });&lt;/pre&gt;&lt;br /&gt;If you don’t specify a packages argument, you’ll receive all available packages, just as before. This means that your old code will continue to work just as it is.&lt;br /&gt;&lt;br /&gt;If you have any questions, feel free to drop by our &lt;a href="http://code.google.com/apis/gdata/faq.html#discussion_groups"&gt;discussion groups&lt;/a&gt; where you’ll find other developers ready to lend a helping hand.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-7535364117096648266?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=gxSFYXY9"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=UVCEuy10"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?i=UVCEuy10" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/Eww71tQZ9Y0" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/7535364117096648266?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/7535364117096648266?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/Eww71tQZ9Y0/saving-bandwidth-made-easy-google-data.html" title="Saving Bandwidth Made Easy: Google Data JavaScript Packaging" /><author><name>Brandon Bilinski</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://googledataapis.blogspot.com/2008/09/saving-bandwidth-made-easy-google-data.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUMQ3g9fSp7ImA9WxRRE0U.&quot;"><id>tag:blogger.com,1999:blog-32786009.post-614883599439018976</id><published>2008-09-25T16:44:00.000-07:00</published><updated>2008-09-25T17:18:02.665-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-25T17:18:02.665-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="samples" /><title>It's... A LIVE Samples Demo Site</title><content type="html">&lt;span class="byline-author"&gt;Posted by Jeff Fisher, Google Data APIs Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sometimes it's not enough that we give you the source code. Sometimes it takes a while for you to configure a local Apache server and try things out. Sometimes you just want to be wowed without having to do anything! Now you can see what our samples look like before you download our client libraries by visiting the following URL: &lt;a href="http://www.googlecodesamples.com/"&gt;http://www.googlecodesamples.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_O2Gca6SGnog/SNwiicRKVKI/AAAAAAAAAB0/TFc-rmmKK1s/s1600-h/codesamples.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand; border: 0;" src="http://2.bp.blogspot.com/_O2Gca6SGnog/SNwiicRKVKI/AAAAAAAAAB0/TFc-rmmKK1s/s400/codesamples.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5250109240706225314" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32786009-614883599439018976?l=googledataapis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=fKLB7DaD"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?a=LB04SYye"&gt;&lt;img src="http://feeds.feedburner.com/~f/OfficialGoogleDataApisBlog?i=LB04SYye" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OfficialGoogleDataApisBlog/~4/lbTL8zCgL_Y" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/614883599439018976?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32786009/posts/default/614883599439018976?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OfficialGoogleDataApisBlog/~3/lbTL8zCgL_Y/its-live-samples-demo-site.html" title="It's... A LIVE Samples Demo Site" /><author><name>Brandon Bilinski</name><email>noreply@blogger.com</email></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_O2Gca6SGnog/SNwiicRKVKI/AAAAAAAAAB0/TFc-rmmKK1s/s72-c/codesamples.png" height="72" width="72" /><feedburner:origLink>http://googledataapis.blogspot.com/2008/09/its-live-samples-demo-site.html</feedburner:origLink></entry></feed>
