Accessing Google Data with C++

8.3k Views Asked by At

I'm about to write an simple plugin for Total Commander. I need to interact with Picasa service. I goggled for a while and found:

1) gdata-cpp-util (kind of a wrapper for libcurl and libxml) http://code.google.com/p/gdata-cpp-util/

2) use gdata-java-client for Google Data transmitting and interact with c++ code via JNI http://code.google.com/apis/gdata/docs/client-libraries.html

So my queston is what is the best way to accessing Google Data with C++? I guess there are experienced people in that field.

Thanks in advance.

3

There are 3 best solutions below

2
On

Did somes with Google Calenda and Note (though C#).
I think you should use some thing to make request and process response with XMLparse or Google supported API lib to get data from them.
They will change day by day then using their stuff is the best way.

0
On

Google publishes a Java library for their current API version in addition to the protocol documentation. If you want official, you're pretty much looking at Java because it seems to take a long time for the other "official" libraries to catch up to the current protocol version.

Alternatively, there is libgdata from the Gnome project which is at version 0.6.5 and seems to be mature. To see docs for the PicasaWeb API, download a libgdata release and look under docs/reference/html.

API teaser follows. The only drawback is that it is written in C and not native C++. If you write a wrapper for C++, publish it!

Google PicasaWeb API

  • GDataPicasaWebService — GData PicasaWeb service object
  • GDataPicasaWebQuery — GData PicasaWeb query object
  • GDataPicasaWebAlbum — GData PicasaWeb album object
  • GDataPicasaWebFile — GData PicasaWeb file object
0
On

You should take a look at the new C++ client API that Google has introduced: http://google.github.io/google-api-cpp-client/latest/index.html

The photos I believe now can be accessed through Google+ API: https://google-api-client-libraries.appspot.com/resources/api-libraries/documentation/plus/v1/cpp/latest/