import com.google.gdata.client.Query; import com.google.gdata.client.calendar.CalendarQuery; import com.google.gdata.client.calendar.CalendarService; import com.google.gdata.data.DateTime; import com.google.gdata.data.Link; import com.google.gdata.data.PlainTextConstruct; import com.google.gdata.data.batch.BatchOperationType; import com.google.gdata.data.batch.BatchStatus; import com.google.gdata.data.batch.BatchUtils; import com.google.gdata.data.calendar.CalendarEntry; import com.google.gdata.data.calendar.CalendarEventEntry; import com.google.gdata.data.calendar.CalendarEventFeed; import com.google.gdata.data.calendar.CalendarFeed; import com.google.gdata.data.calendar.WebContent; import com.google.gdata.data.extensions.ExtendedProperty; import com.google.gdata.data.extensions.Recurrence; import com.google.gdata.data.extensions.Reminder; import com.google.gdata.data.extensions.Reminder.Method; import com.google.gdata.data.extensions.When; import com.google.gdata.util.ServiceException; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.List; import java.util.TimeZone; import java.io.*; import java.net.*; import javax.servlet.*; import javax.servlet.http.*; public class CalGoo extends HttpServlet { private static final String METAFEED_URL_BASE = "http://www.google.com/calendar/feeds/"; private static final String EVENT_FEED_URL_SUFFIX = "/private/full"; private static URL metafeedUrl = null; private static URL eventFeedUrl = null; public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException, ServletException { CalendarService myService = new CalendarService("exampleCo-exampleApp-1"); String uname="mbadal.usc@gmail.com"; String pwd="webtech571"; PrintWriter out=response.getWriter(); response.setHeader("Cache-Control", "no-cache"); try { metafeedUrl = new URL(METAFEED_URL_BASE + uname); eventFeedUrl = new URL(METAFEED_URL_BASE + uname + EVENT_FEED_URL_SUFFIX); } catch(MalformedURLException e) { e.printStackTrace(); return; } try { Calendar calendar= new GregorianCalendar(); myService.setUserCredentials(uname,pwd); CalendarQuery myQuery = new CalendarQuery(eventFeedUrl); DateTime startTime=new DateTime(calendar.getTime(),TimeZone.getDefault()); myQuery.setMinimumStartTime(startTime); CalendarEventFeed resultFeed = myService.query(myQuery,CalendarEventFeed.class); for (int i = 0; i < resultFeed.getEntries().size(); i++) { CalendarEventEntry entry = resultFeed.getEntries().get(i); out.println(entry.getTitle().getPlainText() + ": " + entry.getTimes().get(0).getStartTime().toUiString()+","); } } catch(IOException e) { out.println("There was a problem communicating with the service."); e.printStackTrace(); } catch (ServiceException e) { out.println("The server had a problem handling your request."); e.printStackTrace(); } return; } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //Set content type of the response to text/xml response.setContentType("text/xml"); //Get the user's input String Task = request.getParameter("Task"); String T_Date = request.getParameter("Date"); //Write the response back to the browser PrintWriter out = response.getWriter(); //out.println(Task); //out.println(T_Date); response.setHeader("Cache-Control", "no-cache"); CalendarService myService = new CalendarService("exampleCo-exampleApp-1"); // Set username and password from command-line arguments. String uname="mbadal.usc@gmail.com"; String pwd="webtech571"; try { metafeedUrl = new URL(METAFEED_URL_BASE + uname); eventFeedUrl = new URL(METAFEED_URL_BASE + uname + EVENT_FEED_URL_SUFFIX); } catch(MalformedURLException e) { e.printStackTrace(); return; } // Demonstrate creating a single-occurrence event. try{ myService.setUserCredentials(uname,pwd); CalendarEventEntry singleEvent = createEvent(myService,Task,T_Date); out.println("Successfully created event " + singleEvent.getTitle().getPlainText()); } catch(IOException e) { // Communications error e.printStackTrace(); } catch (ServiceException e) { // Server side error e.printStackTrace(); } //Create the response text String responseText = "Data Updated"; //Write the response back to the browser out.println(responseText); //Close the writer out.close(); return; } private static CalendarEventEntry createEvent(CalendarService service, String eventTitle,String T_Date) throws ServiceException, IOException { CalendarEventEntry myEntry = new CalendarEventEntry(); myEntry.setTitle(new PlainTextConstruct(eventTitle)); DateTime taskDate = DateTime.parseDate(T_Date); When eventTimes = new When(); eventTimes.setStartTime(taskDate); myEntry.addTime(eventTimes); // Send the request and receive the response: return service.insert(eventFeedUrl, myEntry); } }