<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Th30z - Coding on the Fly &#187; Google Services</title>
	<atom:link href="http://th30z.netsons.org/tag/google-services/feed/" rel="self" type="application/rss+xml" />
	<link>http://th30z.netsons.org</link>
	<description>Matteo Bertozzi, Objective-C, Cocoa, C, C++, Qt4, iPhone, Mac OS X, Open Moko, Matteo Bertozzi Development</description>
	<lastBuildDate>Sun, 22 Nov 2009 09:47:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Qt4 Google Contacts APIs</title>
		<link>http://th30z.netsons.org/2009/07/qt4-google-contacts-apis/</link>
		<comments>http://th30z.netsons.org/2009/07/qt4-google-contacts-apis/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 05:53:54 +0000</pubDate>
		<dc:creator>Matteo Bertozzi</dc:creator>
				<category><![CDATA[Qt4]]></category>
		<category><![CDATA[Google Services]]></category>

		<guid isPermaLink="false">http://th30z.netsons.org/?p=1078</guid>
		<description><![CDATA[Just pushed at GitHub the first draft of the Qt4 Google Contacts Service&#8230;
Contacts APIs allows client applications to view and update Contacts content in the form of Google Data API feeds. Your client application can request a list of a user&#8217;s contacts, edit or delete content in an existing contact.


// Setup Contact
THGoogleContact *contact = new [...]]]></description>
			<content:encoded><![CDATA[<p>Just pushed at <a title="Git Hub Qt4 Google Contacts Service" href="http://github.com/matteobertozzi/Qt-Widgets-Components-Library/tree/ff7c8332552dbbd1233b6887545dd2dc52dddbc4/Google">GitHub</a> the first draft of the Qt4 <a title="Google Contacts" href="http://code.google.com/apis/contacts/">Google Contacts</a> Service&#8230;</p>
<p>Contacts APIs allows client applications to view and update Contacts content in the form of Google Data API feeds. Your client application can request a list of a user&#8217;s contacts, edit or delete content in an existing contact.<br />
<code></p>
<pre>
// Setup Contact
THGoogleContact *contact = new THGoogleContact;
contact-&gt;setFullName(&quot;John Doe&quot;);

THGoogleIm *im = new THGoogleIm;
im-&gt;setRel(THGoogleIm::relWork());
im-&gt;setAddress(&quot;john.doe@aim.com&quot;);
im-&gt;setProtocol(THGoogleIm::protocolAim());
contact-&gt;addImAddress(im);

THGoogleEmail *email = new THGoogleEmail;
email-&gt;setAddress(&quot;john.doe@mail.com&quot;);
email-&gt;setRel(THGoogleEmail::relWork());
contact-&gt;addEmailAddress(email);

// Insert Contact
THGoogleContactsService *gContacts = new THGoogleContactsService;
gContacts-&gt;setAuthToken(...);
gContacts-&gt;insertContact(contact);
</pre>
<p></code><br />
Take a look at <a href="http://github.com/matteobertozzi/Qt-Widgets-Components-Library/blob/ff7c8332552dbbd1233b6887545dd2dc52dddbc4/Google/tests/ContactsTest/contactstest.cpp">contacttest.cpp</a> for a more complete usage example.</p>
]]></content:encoded>
			<wfw:commentRss>http://th30z.netsons.org/2009/07/qt4-google-contacts-apis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Qt4 Google Services: Translator, Spell Checker and more&#8230;</title>
		<link>http://th30z.netsons.org/2009/06/qt4-google-services-translator-spell-checker-and-more/</link>
		<comments>http://th30z.netsons.org/2009/06/qt4-google-services-translator-spell-checker-and-more/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 07:31:16 +0000</pubDate>
		<dc:creator>Matteo Bertozzi</dc:creator>
				<category><![CDATA[Qt4]]></category>
		<category><![CDATA[Google Services]]></category>

		<guid isPermaLink="false">http://th30z.netsons.org/?p=908</guid>
		<description><![CDATA[Last month I&#8217;ve made a simple wrapper for Google Authentication, Today I&#8217;ve written other 4 classes to wrap the Google&#8217;s Translator, Language Detector, Suggestions and the Spell Checker Services.
Translator Example


QEventLoop l;
THGoogleTranslator gTranslator;
connect(&#38;gTranslator, SIGNAL(finished(bool)), &#38;l, SLOT(quit()));
gTranslator.setDestinationLanguage(&#34;en&#34;);
gTranslator.translate(&#34;Ciao&#34;);
l.exec();

qDebug() &#60;&#60; gTranslator.translatedText(); // Maybe "Hello"
qDebug() &#60;&#60; gTranslator.detectedSourceLanguage(); // Maybe "it"


Suggest Example


QEventLoop l;
THGoogleSuggest gSuggest;
connect(&#38;gSuggest, SIGNAL(finished(bool)), &#38;l, SLOT(quit()));
gSuggest.suggest(&#34;Qt Softw&#34;);
l.exec();

qDebug() &#60;&#60; gSuggest.suggestions();
// ("qt [...]]]></description>
			<content:encoded><![CDATA[<p>Last month I&#8217;ve made a simple wrapper for <a title="Qt4 Google Auth" href="http://th30z.netsons.org/2009/05/qt4-google-authentication/">Google Authentication</a>, Today I&#8217;ve written other 4 classes to wrap the Google&#8217;s Translator, Language Detector, Suggestions and the Spell Checker Services.</p>
<h2>Translator Example</h3>
<p><code></p>
<pre>
QEventLoop l;
THGoogleTranslator gTranslator;
connect(&amp;gTranslator, SIGNAL(finished(bool)), &amp;l, SLOT(quit()));
gTranslator.setDestinationLanguage(&quot;en&quot;);
gTranslator.translate(&quot;Ciao&quot;);
l.exec();

qDebug() &lt;&lt; gTranslator.translatedText(); // Maybe "Hello"
qDebug() &lt;&lt; gTranslator.detectedSourceLanguage(); // Maybe "it"
</pre>
<p></code></p>
<h2>Suggest Example</h3>
<p><code></p>
<pre>
QEventLoop l;
THGoogleSuggest gSuggest;
connect(&amp;gSuggest, SIGNAL(finished(bool)), &amp;l, SLOT(quit()));
gSuggest.suggest(&quot;Qt Softw&quot;);
l.exec();

qDebug() &lt;&lt; gSuggest.suggestions();
// ("qt software", "qt software download", "qt software gpl exception", ...)
</pre>
<p></code></p>
<h2>Spell Checker Example</h3>
<p><code></p>
<pre>
QEventLoop l;
THGoogleSpellChecker gSpellChecker;
connect(&amp;gSpellChecker, SIGNAL(finished(bool)), &amp;l, SLOT(quit()));
gSpellChecker.spellCheck(&quot;Gogl Spll&quot;);
l.exec();

// "Gogl" ("Google", "Gogol", "Gog", "Goal", "Gog's")
// "Spll" ("Spell", "Sp ll", "Sp-ll", "Spill", "Sell")
foreach (QString original, gSpellChecker.keys())
    qDebug() &lt;&lt; original &lt;&lt; gSpellChecker.suggestions(original);
</pre>
<p></code></p>
<h2>Language Detector Example</h3>
<p><code></p>
<pre>
QEventLoop l;
THGoogleDetectLanguage gDetectLang;
connect(&amp;gDetectLang, SIGNAL(finished(bool)), &amp;l, SLOT(quit()));
gDetectLang.detectLanguage(&quot;Ciao&quot;);
l.exec();

qDebug() &lt;&lt; &quot;Query&quot; &lt;&lt; gDetectLang.query();
qDebug() &lt;&lt; &quot;Language&quot; &lt;&lt; gDetectLang.language(); // Maybe "it"
qDebug() &lt;&lt; &quot;Is Reliable&quot; &lt;&lt; gDetectLang.isReliable();
qDebug() &lt;&lt; &quot;Confidence&quot; &lt;&lt; gDetectLang.confidence();
</pre>
<p></code></p>
<p>You can find the source at <a href="http://github.com/matteobertozzi/Qt-Widgets-Components-Library/tree/master">GitHub</a> (<a href="http://github.com/matteobertozzi/Qt-Widgets-Components-Library/tree/6b26b3ce6aff4eb6c55eb636ebe8036402c12108/Google">Git WebView</a>) or you can download the source code Here: <a href="http://th30z.netsons.org/wp-content/uploads/qtgoogletake2.zip">Qt4 Google Services Take 2 Source Code</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://th30z.netsons.org/2009/06/qt4-google-services-translator-spell-checker-and-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Qt4 Google Authentication</title>
		<link>http://th30z.netsons.org/2009/05/qt4-google-authentication/</link>
		<comments>http://th30z.netsons.org/2009/05/qt4-google-authentication/#comments</comments>
		<pubDate>Fri, 01 May 2009 11:53:11 +0000</pubDate>
		<dc:creator>Matteo Bertozzi</dc:creator>
				<category><![CDATA[Qt4]]></category>
		<category><![CDATA[Google Services]]></category>

		<guid isPermaLink="false">http://th30z.netsons.org/?p=815</guid>
		<description><![CDATA[Today, I&#8217;m looking at Google services, Contacts, Maps, Search&#8230; to use all this service in your app you need to get The Authentication Token (see the Google Auth For Installed Apps page). So, I&#8217;ve implemented a simple class to do this.


QEventLoop q;
THGoogleAuth gAuth(&#34;MYNAME@gmail.com&#34;);
QObject::connect(&#38;gAuth, SIGNAL(authenticated()), &#38;q, SLOT(quit()));
gAuth.login(THGoogleAuth::Contacts, &#34;MYPASSWORD&#34;);
q.exec();

if (gAuth.error() == THGoogleAuth::NoError) {
    qDebug() [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I&#8217;m looking at Google services, Contacts, Maps, Search&#8230; to use all this service in your app you need to get The Authentication Token (see the <a title="Google Auth for Installed Apps" href="http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html">Google Auth For Installed Apps</a> page). So, I&#8217;ve implemented a simple class to do this.<br />
<code></p>
<pre>
QEventLoop q;
THGoogleAuth gAuth(&quot;MYNAME@gmail.com&quot;);
QObject::connect(&amp;gAuth, SIGNAL(authenticated()), &amp;q, SLOT(quit()));
gAuth.login(THGoogleAuth::Contacts, &quot;MYPASSWORD&quot;);
q.exec();

if (gAuth.error() == THGoogleAuth::NoError) {
    qDebug() &lt;&lt; &quot;SID&quot; &lt;&lt; gAuth.sid();
    qDebug() &lt;&lt; &quot;LSID&quot; &lt;&lt; gAuth.lsid();
    qDebug() &lt;&lt; &quot;AUTH&quot; &lt;&lt; gAuth.auth();
} else {
    qDebug() &lt;&lt; gAuth.errorString();
}
</pre>
<p></code></p>
<p>The Source Code is Available Here: <a title="Qt4 Google Auth Source Code" href="http://th30z.netsons.org/wp-content/uploads/qtgoogleauth.zip">Qt4 Google Auth Source Code</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://th30z.netsons.org/2009/05/qt4-google-authentication/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
