<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>google-data-api &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/google-data-api/</link>
	<description>Feed of posts on WordPress.com tagged "google-data-api"</description>
	<pubDate>Mon, 13 Oct 2008 08:04:59 +0000</pubDate>

	<generator>http://wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Google App Engine + Google Data API: Интересная связка для Web]]></title>
<link>http://techworkru.wordpress.com/?p=15</link>
<pubDate>Tue, 22 Jul 2008 05:11:38 +0000</pubDate>
<dc:creator>techworkru</dc:creator>
<guid>http://techwork.ru/2008/07/22/google-app-engine-google-data-api/</guid>
<description><![CDATA[Не думали ли вы о том, что было бы неплохо создать в бло]]></description>
<content:encoded><![CDATA[<p>Не думали ли вы о том, что было бы неплохо создать в блоге запись о намечающейся вечеринке, добавить ее в календарь, пригласить друзей и все это сделать одним движением мыши? И все бы фотографии и видео с вечеринки, выложенные в открытый доступ, были привязаны к этому же событию? Интерфейс <a id="bo__" title="Google Data APIs" href="http://code.google.com/apis/gdata/" target="_blank">Google Data API</a> все это делает возможным так, что ваши приложения на Google App Engine смогут взаимодействовать с другими сервисами Google, отображать и обновлять информацию определенного пользователя в этих сервисах.</p>
<p>Команда разработчиков Google Data API выпустила обновление для <a id="xkc7" title="Python client library" href="http://code.google.com/p/gdata-python-client/" target="_blank">клиентской библиотеки Google Data на языке Python</a>, которое поддерживает работу под Google App Engine. С помощью нее ваше приложение сможет использовать интерфейс <a id="gzhc" title="AuthSub" href="http://code.google.com/apis/gdata/authsub.html" target="_blank">AuthSub</a> и получить доступ к пользовательским данным.</p>
<p>Джеф Скаддер, разработчик Google Data API и основной контрибьютор библиотеки Google Data Python client library, написал <a id="q5os" title="article" href="http://googleappengine.ru/articles/gdata.html" target="_blank">статью</a>, в которой рассматриваются все шаги, которые необходимо выполнить для использования данных Google Data в приложении Google App Engine. Он также добавил пример такого приложения в проект <a id="gptp" title="Google App Engine sample code" href="http://code.google.com/p/google-app-engine-samples" target="_blank">Google App Engine sample code</a>.</p>
<p>Попробуйте использование этих возможностей!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Oczarowany przez Google Data API]]></title>
<link>http://bchrabski.wordpress.com/?p=17</link>
<pubDate>Mon, 21 Jul 2008 21:01:13 +0000</pubDate>
<dc:creator>bchrabski</dc:creator>
<guid>http://bchrabski.pt-br.wordpress.com/2008/07/21/oczarowany-google-data-api/</guid>
<description><![CDATA[
Google udostępnia biblioteki dla Javy które pozwalają nam komunikacje z popularnymi serwisami ta]]></description>
<content:encoded><![CDATA[<p><a href="http://bchrabski.files.wordpress.com/2008/07/google.png"><img class="aligncenter size-full wp-image-26" src="http://bchrabski.wordpress.com/files/2008/07/google.png" alt="" width="300" height="109" /></a></p>
<p>Google udostępnia biblioteki dla Javy które pozwalają nam komunikacje z popularnymi serwisami takimi jak Picasa, YouTube  czy Calendar. Cała technologia oparta jest o autorski protokół GData który pozwala nam łączyć się z dowolnymi kanałami.  Sam protokół nie jest nowością bo oparty jest o znane już wszystkim rozwiązania RSS czy ATOM, wiec każda przeglądarka tak naprawdę będzie się w stanie nim komunikować.  Implementacją obsługującą GData Api jest Java Client Library for Google Data API pozywa na operacje na danych nie tylko na ich pobieranie, operacje te bazują na http put czy http delete. Same biblioteki mogą być pobrane ze strony <a href="http://code.google.com/p/gdata-java-client/downloads/list">http://code.google.com/p/gdata-java-client/downloads/list</a>, z tego samego miejsca możemy też pobrać plugin do eclipsa który będzie zarządzał  wymaganymi przez nas dodatkami.</p>
<p><strong>Same źródła będą od nas wymagały pobrania dodatkowo bibliotek </strong>(strony Suna)</p>
<p>•	JavaBeans Activation Framework<br />
•	Servlet API<br />
•	JavaMail API</p>
<p><strong>Obecne wsparcie dla serwisów:</strong></p>
<p>•	Google mail<br />
•	Google Apps<br />
•	YouTube<br />
•	Picasa Web Albums<br />
•	Google Contacts<br />
•	Blogger<br />
•	Code Search<br />
•	Google Notebook<br />
•	Google Spreadsheets<br />
•	Google Base</p>
<p>Zaletą zastosowania tego rozwiązania jest rozdzielenie usług na pojedyncze pliki jar, także jeżeli chcemy używać Google Calendar  importujemy tylko <strong><em>gdata-calendar-1.0.jar</em></strong> oraz podstawowe pliki <em><strong>gdata-client</strong></em> oraz <strong><em>gdata-core</em></strong>.<br />
Sam proces tworzenia aplikacji sprowadza się do tworzenia odpowiednich zapytań które mogą być dynamicznie tworzone przez dostarczone biblioteki. Przykładem takiego zapytania jest :</p>
<p>Albumy użytkownika<br />
<a href="http://picasaweb.google.com/data/feed/api/user/nazwa_u%C5%BCytkownika?kind=album">http://picasaweb.google.com/data/feed/api/user/nazwa_użytkownika?kind=album</a></p>
<p>Zdjęcia z wybranego albumu<br />
<a href="http://picasaweb.google.com/data/feed/api/user/nazwa_u%C5%BCytkownika/album/nazwa_albumu?kind=photo">http://picasaweb.google.com/data/feed/api/user/nazwa_użytkownika/album/nazwa_albumu?kind=photo</a></p>
<p>Przeszukiwania publicznych albumów w poszukiwaniu Javy<br />
<a href="http://picasaweb.google.com/data/feed/api/all?kind=photo&#38;q=java&#38;max-result=100">http://picasaweb.google.com/data/feed/api/all?kind=photo&#38;q=java&#38;max-result=100</a></p>
<p>Budowa samej aplikacji pobierającej dane z naszego zapytania jest dość prosta bo sprowadza się tak naprawdę do paru linijek.<br />
<code><br />
</code><!--[if gte mso 9]&#62; Normal   0               false   false   false      EN-GB   X-NONE   X-NONE &#60;![endif]--><!--[if gte mso 9]&#62; &#60;![endif]--><!--  --><!--[if gte mso 10]&#62; &#60;!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:Standardowy; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} --> <!--[endif]--></p>
<p style="padding-left:30px;"><strong>import</strong> java.net.URL;</p>
<p style="padding-left:30px;"><strong>import</strong> com.google.gdata.client.photos.PicasawebService;</p>
<p style="padding-left:30px;"><strong>import</strong> com.google.gdata.data.BaseEntry;</p>
<p style="padding-left:30px;"><strong>import</strong> com.google.gdata.data.photos.AlbumFeed;</p>
<p style="padding-left:30px;"><strong>public</strong> <strong>class</strong> AppsProvisioning {</p>
<p style="padding-left:60px;"><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {</p>
<p style="padding-left:90px;"><strong>try</strong> {</p>
<p style="padding-left:120px;">URL albumsURL = <strong>new</strong> URL("http://picasaweb.google.com/data/feed/api/user/nazwa_uzytkownika?kind=album");</p>
<p style="padding-left:120px;">PicasawebService myService = <strong>new</strong> PicasawebService("MyApp");</p>
<p style="padding-left:120px;">AlbumFeed myUserFeed = myService.getFeed(albumsURL,AlbumFeed.<strong>class</strong>);</p>
<p style="padding-left:120px;"><strong>for</strong> ( BaseEntry&#60;BaseEntry&#62; ea : myUserFeed.getEntries())</p>
<p style="padding-left:120px;">{</p>
<p style="padding-left:150px;">System.<em>out</em>.println(ea.getTitle().getPlainText());</p>
<p style="padding-left:150px;">System.<em>out</em>.println(ea.getHtmlLink().getHref());</p>
<p style="padding-left:120px;">}</p>
<p style="padding-left:90px;">}</p>
<p style="padding-left:90px;"><strong>catch</strong>(Exception ex)</p>
<p style="padding-left:120px;">{</p>
<p style="padding-left:120px;">ex.printStackTrace();</p>
<p style="padding-left:90px;">}</p>
<p style="padding-left:30px;">}</p>
<p>}</p>
<p>Efektem działania aplikacji jest wyświetlenie wszystkich albumów publicznych dla wybranej osoby, co ciekawe możemy także operować na danych które są prywatne po przez wcześniejsze uwierzytelnienie co możemy zrobić wprowadzając linijkę.<br />
<code><br />
myService.setUserCredentials(arg0, arg1)<br />
</code></p>
<p>gdzie arg0 jest nazwą użytkownika, natomiast arg1 – hasłem.</p>
<p>Biblioteka posiada także rozwiązanie opierające się token co pozwala na zastosowanie w aplikacjach www, jednak wymaga od nas rejestracji strony na stronach Google która musi zostać następnie zweryfikowana.<br />
Nie lubię pisać o czymś i nie pokazywać rzeczywistego działania rozwiązania więc poniżej został zaprezentowany kod aplikacji który dodaje nowy album do Picsasa Web Album.</p>
<p><code><br />
</code><!--[if gte mso 9]&#62; Normal   0               false   false   false      EN-GB   X-NONE   X-NONE &#60;![endif]--><!--[if gte mso 9]&#62; &#60;![endif]--><!--  --><!--[if gte mso 10]&#62; &#60;!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:Standardowy; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} --> <!--[endif]--></p>
<p style="padding-left:30px;"><strong>public</strong> <strong>class</strong> AppsProvisioning {</p>
<p style="padding-left:60px;"><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {</p>
<p style="padding-left:90px;"><strong>try</strong> {</p>
<p style="padding-left:120px;">URL albumsURL = <strong>new</strong> URL("http://picasaweb.google.com/data/feed/api/user/nazwa_uzytkownika?kind=album");</p>
<p style="padding-left:120px;">PicasawebService myService = <strong>new</strong> PicasawebService("MyApp");</p>
<p style="padding-left:120px;">myService.setUserCredentials("user", "password");</p>
<p style="padding-left:120px;">AlbumFeed myUserFeed = myService.getFeed(albumsURL,AlbumFeed.<strong>class</strong>);</p>
<p style="padding-left:120px;">AlbumEntry newEntry = <strong>new</strong> AlbumEntry();</p>
<p style="padding-left:120px;">newEntry.setTitle(<strong>new</strong> PlainTextConstruct("Nowy Album"));</p>
<p style="padding-left:120px;">newEntry.setDescription(<strong>new</strong> PlainTextConstruct("Zdjecia z wakacji"));</p>
<p style="padding-left:120px;">myService.insert(albumsURL, newEntry);</p>
<p style="padding-left:90px;">}</p>
<p style="padding-left:90px;"><strong>catch</strong>(Exception ex)</p>
<p style="padding-left:90px;">{</p>
<p style="padding-left:120px;">ex.printStackTrace();</p>
<p style="padding-left:90px;">}</p>
<p style="padding-left:60px;">}</p>
<p style="padding-left:30px;">}</p>
<p>Podobne operacje możemy wykonywać na wszystkich usługach Google do których pojawiły się biblioteki.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Google bietet Schnittstelle zu Finanzdaten ]]></title>
<link>http://infowiss.wordpress.com/?p=118</link>
<pubDate>Sun, 29 Jun 2008 11:43:08 +0000</pubDate>
<dc:creator>hhuduesseldorf</dc:creator>
<guid>http://infowiss.wordpress.com/2008/06/29/google-bietet-schnittstelle-zu-finanzdaten/</guid>
<description><![CDATA[Quelle: heise.de
27.06.2008
]]></description>
<content:encoded><![CDATA[<p>Quelle: <a href="http://www.heise.de/newsticker/Google-bietet-Schnittstelle-zu-Finanzdaten--/meldung/110103" target="_blank">heise.de</a></p>
<p>27.06.2008</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Google Data API]]></title>
<link>http://blpsilva.wordpress.com/?p=87</link>
<pubDate>Thu, 21 Feb 2008 11:00:45 +0000</pubDate>
<dc:creator>blpsilva</dc:creator>
<guid>http://blpsilva.pt-br.wordpress.com/2008/02/21/google-data-api/</guid>
<description><![CDATA[Atenção, este blog foi migrado para: http://brunopereira.org
I&#8217;m currently using Google Data]]></description>
<content:encoded><![CDATA[<p><strong>Atenção, este blog foi migrado para: <a href="http://brunopereira.org" target="_self">http://brunopereira.org</a></strong></p>
<p>I'm currently using Google Data API at work. This API offers RESTful interfaces for several Google services, such as Calendar, Picasa, You Tube, Blogger, Google Documents, among others. There are also client libraries for Java, C# and Python, but these are actually tools to facilitate, rather than new interfaces. All client libraries access the RESTful interfaces, so by all acounts the API is RESTful.</p>
<p>What I'd like to comment is how easy it was for me the to get up to speed with the API. There are several pages explaining the API's features, the URIs, their use of HTTP method, return types, etc. Their design is pretty much compliant to all REST best practices (although they do use some query string parameters ocasionally). Being very familiar with this kind of web services, most of what I did was looking and saying: "Ok , this is how i expected it to be". And after less than one hour I was ready to begin using the API properly.</p>
<p>Worth noting is that there were no "Interface Document" to look at. Not anything similar to WSDL or any other IDL. What was there was just a simple and RESTful API that was pretty easy to use after you knew what the resources were and which operations they support. Several pages describing their protocol and the XML entities they use were enough for me to know how I was supposed to integrate with a reasonable amount of their services.</p>
<p>I don't even want of to think of how would it be if they had WS-*. Just to read the WSDL documents would take me more time than to read all their RESTful documentation.  There would be a lot of operations and messages described in their WSDLs, and it'd be a massive reading to get the grasp of the API.</p>
<p>Fortunately Google (the most powerful web company) is embracing a RESTful design and it should probably take many other companies with it. They're also supporting the use of Atom and Atom Publishing Protocol, so many nice things should keep coming. Apache Abdera is already integrating Google Feed Server code, and hopefully we'll be able to use Abdera for most of Google's services.</p>
<p>Very very nice! By the way, I took a good look in the source code of Google Data API and it's very well implemented. They have a very interesting approach to manipulate feeds and entries. It makes it very easy to model a lot of stuff using just feeds and entries.  It was an inspiring code inspection and I'm thankful Google also embraces open source :)  These guys are good!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Picasa Web Album JAVA API]]></title>
<link>http://am78.wordpress.com/?p=3</link>
<pubDate>Wed, 06 Feb 2008 11:27:56 +0000</pubDate>
<dc:creator>am78</dc:creator>
<guid>http://am78.pt-br.wordpress.com/2008/02/06/picasa-web-album-java-api/</guid>
<description><![CDATA[Das Picasa Web Albums API ermöglicht das anzeigen und bearbeiten von Picasa Alben. Es ist Bestandte]]></description>
<content:encoded><![CDATA[<div class="snap_preview">Das Picasa Web Albums API ermöglicht das anzeigen und bearbeiten von Picasa Alben. Es ist Bestandteil des <a href="http://code.google.com/apis/gdata/overview.html" target="_blank">Google Data API</a>. Das <a href="http://code.google.com/apis/picasaweb/gdata.html" target="_blank">Developers Guide</a> beschreibt die Benutzung des <a href="http://www.answers.com/topic/application-programming-interface?nafid=22" class="answerlink">API</a>.</p>
<h2>Benutzung im Java Desktop Client</h2>
<h3>Laden der Alben eines Benutzers</h3>
<pre>PicasawebService picasa = new PicasawebService("exampleCo-exampleApp-1");
String url = "http://picasaweb.google.com/data/feed/api/user/&#60;username&#62;?kind=album";
URL albumsUrl = new URL(url);
// Send the request for the user's albums.
AlbumFeed albums = picasa.getFeed(albumsUrl, AlbumFeed.class);
List&#60;AlbumEntry&#62; entries = albums.getEntries(AlbumEntry.class);
for (AlbumEntry album : entries) {
	//do something with the albums
}</pre>
<h3>Albumdetails Abrufen und Bilder eines Albums anzeigen</h3>
<pre>//URL for the AlbumFeed
String url = albumEntry.getFeedLink().getHref() + "?kind=photo";
//the albuFeed contains the album details
AlbumFeed feed = getService().getFeed(new URL(url), AlbumFeed.class);
//a photoEntry contains all photo infos including the urls to the thubnails and image data
List&#60;PhotoEntry&#62; photos = feed.getPhotoEntries();</pre>
<h3>Benutzung eines HTTP-Proxys</h3>
<p>In Java lässt sich die Benutzung eines HTTP-Proxys für http/https Zugriffe wie folgt vornehmen:</p>
<pre>Properties systemSettings = System.getProperties();
systemSettings.put("https.proxySet", "true");
systemSettings.put("http.proxyHost", proxyHost);
systemSettings.put("http.proxyPort", proxyPort);
systemSettings.put("proxySet", "true");
systemSettings.put("https.proxyHost", proxyHost);
systemSettings.put("https.proxyPort", proxyPort);
System.setProperties(systemSettings);</pre>
<p>Http- und https-Zugriffe sollten nun die Proxy-Einstellungen berücksichtigen.</p>
<h3>HTTP-Proxy-Authentifikation</h3>
<p>Ggf. erfordert der HTTP-Proxy eine Authentifikation. Dabei ist für normale JAVA-Web Zugriffe Folgendes notwendig:</p>
<pre>URL url = new URL(theUrl);
URLConnection conn = url.openConnection();
String encoded = getBas64EncodeCredentials(getProxyUser(), getProxyPasswd());
conn.setRequestProperty("Proxy-Authorization", "Basic " + encoded);
conn.connect();</pre>
<p>Googles API kann ebenfalls mit einer Authentifizierung an einem HTTP-Proxy umgehen; dazu ist Folgendes setzen:</p>
<pre>String base64encodedCredentials = "Basic " + getBas64EncodeCredentials(getProxyUser(), getProxyPasswd());
picasaService.getRequestFactory().setPrivateHeader("Proxy-Authorization", base64encodedCredentials);</pre>
<pre></pre>
</div>
<h3>Base64-codierte Credentials:</h3>
<pre>private String getBas64EncodeCredentials(String user, String passwd) {
	String userPasswd = user + ":" + passwd;
        String encoded = new String(Base64.encode(userPasswd.getBytes()));
        return encoded;
}</pre>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Fejlesszünk]]></title>
<link>http://aquarion.wordpress.com/2008/01/25/fejlesszunk/</link>
<pubDate>Fri, 25 Jan 2008 17:58:00 +0000</pubDate>
<dc:creator>krajczargyulajr</dc:creator>
<guid>http://aquarion.pt-br.wordpress.com/2008/01/25/fejlesszunk/</guid>
<description><![CDATA[Mostanában nem nagyon van dolgom. Ezért gondoltam egyet, és belekóstoltam a Google Data API-val ]]></description>
<content:encoded><![CDATA[<p>Mostanában nem nagyon van dolgom. Ezért gondoltam egyet, és belekóstoltam a Google Data API-val való fejlesztésbe. Messzire (szokás szerint) nem jutottam, mert csak úgy összebaszkodtam a kódot, meg mindent.</p>
<p>Most viszont úgy érzem eljött az a pillanat, amikor szépen letörlődik az a mocsadék és újra nekiállok. Folyt. köv.</p>
]]></content:encoded>
</item>

</channel>
</rss>
