Lab 5 - Using the Google Docs API

Due - Thursday, February 28, 2008

The goal of this lab is to give you some practice using existing web services. You will integrate a client component into your booksite that will enable a user to upload the content of an ebook directly to his/her Google Documents and to view all content available in his/her Google Documents account. This new functionality will work as follows:

Upload to Google Docs

  1. When the user views details for a particular book, he/she will be given an option to "Upload to Google Docs" (using a button or link).
  2. If the user selects "Upload to Google Docs", he/she will be redirected to the Google Accounts Authorization page.
  3. Once the user has entered his/her account information and granted permission for your application to use the account, the content of the desired book will be uploaded to the Google Docs account. The name of the document should be set as the title of the book uploaded.
  4. The user can then be redirected to a page showing success/failure of the upload operation. If you wish, you may simply show the view details for a particular book page with the addition of a status message.

View Google Docs Content

  1. If the user visits {domain}/mydocs, he/she will be redirected to the Google Accounts Authorization page.
  2. Once the user has entered his/her account information and granted permission for your application to use the account, your site will display a list of all documents the user has available in his/her Google Documents account.

Grading

Testing

Modified 2/21/08 - I will expect the detailed information for a book to be at http://{domain}/books/{etextnum} (e.g., http://localhost:3000/books/9546). That page should provide a link to "Upload to Google Docs". If your server uses a different URI format, clearly indicate the format of your URIs in the README for this assignment. Note, points may be deducted for non-RESTful URIs.

Due 5:30PM - Thursday, February 28, 2008

  1. Submit all of your code, along with readmes, to your submit directory at /home/submit/cs682-s08/username.
Note: No portion of your code may be copied from any other source including another text book, a web page, or another student (current or former). You must provide citations for any sources you have used in designing and implementing your program.
Sami Rollins