{"id":783,"date":"2006-04-20T06:10:36","date_gmt":"2006-04-20T13:10:36","guid":{"rendered":"http:\/\/www.faganfinder.com\/wp\/2006\/04\/20\/783\/"},"modified":"2007-10-10T05:13:50","modified_gmt":"2007-10-10T12:13:50","slug":"google-data-apis-protocol","status":"publish","type":"post","link":"https:\/\/faganm.com\/blog\/2006\/04\/20\/783\/","title":{"rendered":"Google Data APIs Protocol"},"content":{"rendered":"\n<p><a href=\"http:\/\/code.google.com\/apis\/gdata\/protocol.html#query-requests\">Google Data APIs Protocol<\/a> &#8211; interesting move from Google. I (and <a href=\"http:\/\/www.xml.com\/pub\/a\/2005\/09\/21\/atom-store-web-database.html\">others<\/a>) have thought for a while that combining <a href=\"http:\/\/opensearch.a9.com\/\">OpenSearch<\/a>&#8217;s <em>read<\/em> capabilities with the Atom Publishing Protocol&#8217;s <em>write<\/em> capabilities would create a very powerful API, and that&#8217;s roughly what Google is doing here.<\/p>\n<p>It&#8217;s great to see the OpenSearch support (a bit &#8211; they&#8217;re using <code>startIndex<\/code>, <code>totalResults<\/code> and <code>itemsPerPage<\/code>), but I&#8217;d like to see them using it more. Some of what they&#8217;re doing is contrary to how OpenSearch works (that&#8217;s not a problem per-say), as they&#8217;re using predefined query names such as <code>q<\/code> and <code>max-results<\/code> (and a <em>folder<\/em> for categories) rather that allowing people to use whichever they want and then specify them in an <a href=\"http:\/\/opensearch.a9.com\/spec\/1.1\/description\/\">OpenSearch Description<\/a> file.<\/p>\n<p>In that same vein, it would be nice to see them make use of autodiscovery, as Atom, RSS, OpenSearch, and others do. Upon first inspection I would say these autodiscovered documents could be OpenSearch Descriptions, but I may be wrong about that.<\/p>\n<p>One interesting thing to note is that they mention how <code>startIndex<\/code> is 1-based (which is true), and then display an example with a value of &#8220;0&#8243;. Sounds like <a href=\"http:\/\/opensearch.org\/pipermail\/discuss\/2006-April\/000031.html\">DeWitt is right<\/a>, it does need to handle 0-based numbers too; even Google is making that mistake.<\/p>\n<p>DeWitt <a href=\"http:\/\/www.unto.net\/unto\/work\/google-data-apis-and-opensearch\/\">brings up some other good points as well<\/a>.<\/p>\n<p>Via <a href=\"http:\/\/www.niallkennedy.com\/blog\/archives\/2006\/04\/google-gdata.html\">Niall<\/a>.<\/p>\n<p><ins style=\"text-decoration:none\">Update: <a href=\"http:\/\/bitworking.org\/news\/Google_Data_APIs_Protocol\">Joe Gregorio weighs in<\/a><\/ins><\/p>\n<p><ins style=\"text-decoration:none\">Update 2: Marc Canter (one of my favourite bloggers) <a href=\"http:\/\/blog.broadbandmechanics.com\/2006\/04\/thursday-brings-a-host-of-ho-ho-hos\">finds this linkworthy<\/a> \ud83d\ude09 although I&#8217;m always amazed at the spellings my name gets.<br \/>\n<\/ins><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Google Data APIs Protocol &#8211; interesting move from Google. I (and others) have thought for a while that combining OpenSearch&#8217;s read capabilities with the Atom Publishing Protocol&#8217;s write capabilities would create a very powerful API, and that&#8217;s roughly what Google &hellip; <a href=\"https:\/\/faganm.com\/blog\/2006\/04\/20\/783\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[142,159,274,12,171,275],"class_list":["post-783","post","type-post","status-publish","format-standard","hentry","tag-api","tag-atom","tag-gdata","tag-google","tag-opensearch","tag-rest"],"_links":{"self":[{"href":"https:\/\/faganm.com\/blog\/wp-json\/wp\/v2\/posts\/783","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/faganm.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/faganm.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/faganm.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/faganm.com\/blog\/wp-json\/wp\/v2\/comments?post=783"}],"version-history":[{"count":0,"href":"https:\/\/faganm.com\/blog\/wp-json\/wp\/v2\/posts\/783\/revisions"}],"wp:attachment":[{"href":"https:\/\/faganm.com\/blog\/wp-json\/wp\/v2\/media?parent=783"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/faganm.com\/blog\/wp-json\/wp\/v2\/categories?post=783"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/faganm.com\/blog\/wp-json\/wp\/v2\/tags?post=783"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}