Top Banner
[email protected] Google Data APIs - 2009 http://pcmnac.com Google Data APIs : Integrando suas aplicações Java com os serviços Google
21

[email protected] Google Data APIs - 2009 Google Data APIs : Integrando suas aplicações Java com os serviços Google.

Dec 28, 2015

Download

Documents

Loreen Stanley
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Pcmnac@gmail.com Google Data APIs - 2009  Google Data APIs : Integrando suas aplicações Java com os serviços Google.

[email protected] Google Data APIs - 2009 http://pcmnac.com

Google Data APIs :Integrando suas aplicações Java com os

serviços Google

Page 2: Pcmnac@gmail.com Google Data APIs - 2009  Google Data APIs : Integrando suas aplicações Java com os serviços Google.

[email protected] Google Data APIs - 2009 http://pcmnac.com

Available APIs

source: http://code.google.com/apis/gdata

Page 3: Pcmnac@gmail.com Google Data APIs - 2009  Google Data APIs : Integrando suas aplicações Java com os serviços Google.

[email protected] Google Data APIs - 2009 http://pcmnac.com

Practical Usage

• Google data APIs are not read-only!

Page 4: Pcmnac@gmail.com Google Data APIs - 2009  Google Data APIs : Integrando suas aplicações Java com os serviços Google.

[email protected] Google Data APIs - 2009 http://pcmnac.com

Practical Usage

• Manage user’s Gmail contacts programmatically• Synchronize user’s Gmail contacts on a mobile

device• Import user’s Gmail contacts to a social application• Manage user’s Google Calendar events• Backup and share and convert user’s documents• Create and publish Posts• Publish user’s photos and videos• Integrate Google services• Remote repository (Contacts, Events, Documents,

Images, Videos, etc)

Page 5: Pcmnac@gmail.com Google Data APIs - 2009  Google Data APIs : Integrando suas aplicações Java com os serviços Google.

[email protected] Google Data APIs - 2009 http://pcmnac.com

Application Requirements

• Make HTTP requests – At least GET and POST

• Handle XML messages– JSON can be used

Page 6: Pcmnac@gmail.com Google Data APIs - 2009  Google Data APIs : Integrando suas aplicações Java com os serviços Google.

[email protected] Google Data APIs - 2009 http://pcmnac.com

How it works?

• APIs are available in form of RESTful web services

• There is a well-defined protocol used– Atom based

Page 7: Pcmnac@gmail.com Google Data APIs - 2009  Google Data APIs : Integrando suas aplicações Java com os serviços Google.

[email protected] Google Data APIs - 2009 http://pcmnac.com

GData Protocol

Page 8: Pcmnac@gmail.com Google Data APIs - 2009  Google Data APIs : Integrando suas aplicações Java com os serviços Google.

[email protected] Google Data APIs - 2009 http://pcmnac.com

Background

• REST Web Services

• Web Feeds

Page 9: Pcmnac@gmail.com Google Data APIs - 2009  Google Data APIs : Integrando suas aplicações Java com os serviços Google.

[email protected] Google Data APIs - 2009 http://pcmnac.com

REST Web Services

• Based on HTTP methods:– POST (Create)– GET (Retrieve)– PUT (Update)– DELETE (Delete)

• Basic request members:– HTTP Method – Resource URI– Request Body (Optional)

Page 10: Pcmnac@gmail.com Google Data APIs - 2009  Google Data APIs : Integrando suas aplicações Java com os serviços Google.

[email protected] Google Data APIs - 2009 http://pcmnac.com

REST Web Services

• Request examples:

HTTP Method Resource URI

GET http://myservice.com/users

GET http://myservice.com/users/5

DELETE http://myservice.com/users/5

POST http://myservice.com/users

PUT http://myservice.com/users/6

Page 11: Pcmnac@gmail.com Google Data APIs - 2009  Google Data APIs : Integrando suas aplicações Java com os serviços Google.

[email protected] Google Data APIs - 2009 http://pcmnac.com

Web Feeds

• Frequently updated content (Wikipedia)• Common Formats

– RSS– Atom (GData default format)

• Feed• Entry

Page 12: Pcmnac@gmail.com Google Data APIs - 2009  Google Data APIs : Integrando suas aplicações Java com os serviços Google.

[email protected] Google Data APIs - 2009 http://pcmnac.com

Atom Feed Example<feed xmlns="http://www.w3.org/2005/Atom"> <title>My Feed</title> <updated>2008-09-23T08:30:00-03:00</updated> <id>http://www.example.com/myFeed</id> <author> <name>pcmnac</name> </author> <link href="/myFeed" rel="self"/> <entry> <id>http://www.example.com/id/1</id> <link rel="edit" href="http://www.example.com/myFeed/1/1/"/> <updated>2008-09-24T08:30:00-03:00</updated> <author> <name>John</name> <email>[email protected]</email> </author> <title type="text">My Entry</title> <content type="text">My content</content> </entry> <entry> ... </entry></feed>

Page 13: Pcmnac@gmail.com Google Data APIs - 2009  Google Data APIs : Integrando suas aplicações Java com os serviços Google.

[email protected] Google Data APIs - 2009 http://pcmnac.com

GData Protocol

• Based on HTTP methods:– POST (Create)– GET (Retrieve)– PUT (Update)– DELETE (Delete)

Page 14: Pcmnac@gmail.com Google Data APIs - 2009  Google Data APIs : Integrando suas aplicações Java com os serviços Google.

[email protected] Google Data APIs - 2009 http://pcmnac.com

GData – Retrieving DataGET http://www.myservice.com/myfeed

200 OK

<feed xmlns="http://www.w3.org/2005/Atom">

<title>My Feed</title>

<updated>2008-09-23T08:30:00-03:00</updated>

<id>http://www.myservice.com/myfeed</id>

<author>

<name>pcmnac</name>

</author>

<link href="/myfeed" rel="self"/>

<entry>

...

</entry>

</feed>

Request:

Response:

Page 15: Pcmnac@gmail.com Google Data APIs - 2009  Google Data APIs : Integrando suas aplicações Java com os serviços Google.

[email protected] Google Data APIs - 2009 http://pcmnac.com

GData – Creating Data

POST http://www.myservice.com/myfeed

<entry> <author> <name>John</name> <email>[email protected]</email> </author> <title type="text">My Entry</title> <content type="text">My content</content></entry>

Request:

Page 16: Pcmnac@gmail.com Google Data APIs - 2009  Google Data APIs : Integrando suas aplicações Java com os serviços Google.

[email protected] Google Data APIs - 2009 http://pcmnac.com

GData – Creating Data

201 CREATED

<entry>

<id>http://www.myservice.com/myfeed/1</id>

<link rel="edit" href="http://www.myservice.com/myfeed/5/1/"/>

<updated>2008-09-24T08:30:00-03:00</updated>

<author>

<name>John</name>

<email>[email protected]</email>

</author>

<title type="text">My Entry</title>

<content type="text">My content</content>

</entry>

Response:

Page 17: Pcmnac@gmail.com Google Data APIs - 2009  Google Data APIs : Integrando suas aplicações Java com os serviços Google.

[email protected] Google Data APIs - 2009 http://pcmnac.com

GData – Updating Data

PUT http://www.myservice.com/myfeed/5/1

<entry xmlns='http://www.w3.org/2005/Atom' xmlns:gd='http://schemas.google.com/g/2005' gd:etag='"CUUEQX47eCp7ImA9WxRVEkQ."'> <id>http://www.myservice.com/myfeed/5</id> <link rel='edit' href='http://www.myservice.com/myfeed/5/1/'/> <updated>2008-09-24T08:30:00-03:00</updated> <author> <name>John</name> <email>[email protected]</email> </author> <title type="text">My Entry</title> <content type="text">My content</content></entry>

Request:

Page 18: Pcmnac@gmail.com Google Data APIs - 2009  Google Data APIs : Integrando suas aplicações Java com os serviços Google.

[email protected] Google Data APIs - 2009 http://pcmnac.com

GData – Updating Data

200 OK

<entry xmlns='http://www.w3.org/2005/Atom'

xmlns:gd='http://schemas.google.com/g/2005'

gd:etag='"FkkOQgZGeip7ImA6WhVR"'>

<id>http://www.myservice.com/myfeed/5</id>

<link rel='edit' href='http://www.myservice.com/myfeed/5/2/'/>

<updated>2008-09-25T08:30:00-03:00</updated>

<author>

<name>John</name>

<email>[email protected]</email>

</author>

<title type="text">My Entry</title>

<content type="text">My content</content>

</entry>

Response:

Page 19: Pcmnac@gmail.com Google Data APIs - 2009  Google Data APIs : Integrando suas aplicações Java com os serviços Google.

[email protected] Google Data APIs - 2009 http://pcmnac.com

GData – Deleting Data

DELETE http://myservice.com/myfeed/5/1

Request:

200 OK

Response:

Page 20: Pcmnac@gmail.com Google Data APIs - 2009  Google Data APIs : Integrando suas aplicações Java com os serviços Google.

[email protected] Google Data APIs - 2009 http://pcmnac.com

Project 1

Google Contacts Manager

Page 21: Pcmnac@gmail.com Google Data APIs - 2009  Google Data APIs : Integrando suas aplicações Java com os serviços Google.

[email protected] Google Data APIs - 2009 http://pcmnac.com

Project 2

Google PDF Converter