Getting the Google Data Authentication for Force.com working

Just sharing some information which I hope some would find useful.

I’ve been tinkering around with the Google API Toolkit for Force.com.

For starters, these are basically client libraries built on Apex for Force.com that connect to Google API like Google Docs API, Blogger API, Google Calendar API among others.


The method for authentication on the toolkit is built around the AuthSub authentication which as I found out is already deprecated, it is advised to use OAuth 2.0 for authentication & authorization. What this authentication models do is that you authorize your Google Account/Data to be accessed by an external service using a token. The token can be used as is which expires after 24 hours or you can exchange the token for a multisession token which does not expire. Please read up more on this topic from the links above.

I have a related post on how to get the Google Toolkit API installed on your Mac.

Back to the Google API Toolkit, it has a visualforce page with a controller that when accessed, will make token request to Google with a callback URL. However there are some issues when I tried them. I get the following errors.

The site “http://force.com” has not been registered.

Solution here is I had to hardcode the return URL to be capital Force.com on the visualforce page.

Got that to work but the next issue it seems is that there seems to be new kind of restriction for putting Google Data on an iframe. I got the following error.

Refused to display document because display forbidden by X-Frame-Options.

What I had to do is, let the called page load on its own instead of putting it in an iframe. I did this by window.location then the return url.

Resource:
https://groups.google.com/forum/?fromgroups=#!topic/google-contacts-api/H8X8ukHOgFQ

Setting up Force.com Toolkit for Google Docs API on Mac OS X

This guide will help you setup Mac OS X Mountain Lion for the Force.com Toolkit for Google Docs API.

I assume you already have Eclipse and the Force IDE installed. If not you can follow this route first, then come back here to setup the toolkit.

This setup caused me some headache so I’m blogging the steps I did and some troubleshooting. This would be the major guide to follow but going over the first few step to get Subclipse installed requires some troubleshooting.

http://wiki.developerforce.com/page/Google_Data_APIs_Toolkit_Setup

1. First thing you need is to download and add Subclipse plugin so we can download the toolkit hosted on the Google Repository

http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA

Adding the plugin won’t work just yet. You’ll get error about missing JavaHL.

2. Subclipse plugin requires JavaHL which you can install via MacPorts.org or via HomeBrew

I went went to the MacPorts route and installed the pkg for Mountain Lion here.

http://subclipse.tigris.org/wiki/JavaHL

3. After you got the Macport installed you can now install JavaHL, but running the following though command

sudo port install subversion-javahlbindings +no_bdb +universal

If you don’t have XCode installed you’ll get some nasty errors, which for my solution I had to update to the latest XCode version 4.4.1. Go to the AppStore and download XCode.

Error: The installed version of Xcode (2.0orlower) is too old to use on the installed OS version. Version 4.1 or later is recommended on Mac OS X 10.8.

Then after XCode install you need to download additional tools. Launch XCode and go under Preferences and choose Downloads and click Install for the Command Line Tools.

Once done you can finally run the command and it would start fetching and installing a bunch of dependency files.

Finally you can go to Eclipse and continue with the initial steps to Checkout.

Google Topeka

As a sign of gratitude to city of Topeka, Kansas renaming their city to Google. Google on behalf has renamed the company to Topeka as officially announced on their blog.

Go ahead Topeka it on Topeka’s search engine.

http://googleblog.blogspot.com/2010/04/different-kind-of-company-name.html

Happy April 1st

First Mobile Post

Just got a new phone yesterday after almost five years of sticking with my old trusty slow Nokia 6680. Now I’ve finally found a reason to buy one. I didn’t get an iPhone but instead got myself an HTC Hero with Andriod 1.5 OS. So far I’ve been impressed. I installed WordPress for Andriod and this is my official first post using the app. The journey to start learning mobile development has begun.

Here is a shot I took with the cam.

image

Google Adwords Pending/Under Review

Seems like I’m not the only one experiencing this issue with running a new ad on Google Adwords. Previously when I run an ad it would get approved in less than 5 minutes. Now it’s more than 24 hours and my ad is still not running. The ad is even a simple one, we just wanted to run an ad so we can quickly get feedback for a survey we are conducting.

Here is a link to other users affected by this “approval system” for new ads on Google.

http://www.google.de/support/forum/p/AdWords/thread?tid=2ca794df25bdd38f&hl=en

I wonder why Google is actively promoting Google Adwords, I even get emails for free 2K to start using the ad system and I see banners everywhere, but they are soo missing a lot more potential clients on the delay on their approval system.

It’s almost close to 48 hours. I hope Google sees there is a big issue with their ad approval system.