Dear all, I have found Ryan Boyd (Google) has posted a related topic about this, and the entry template he posted is workable!
The second question is still under solving... Best wishes, paul ======================================= "Ryan Boyd (Google)" <[EMAIL PROTECTED]> Thu, 11 Jan 2007 21:55:46 -0000 http://groups.google.com/group/google-calendar-help-dataapi/browse_thread/thread/3babae794bbc887/6bf3b0b702bec40f?lnk=gst&q=comment#6bf3b0b702bec40f ======================================= On 4月2日, 上午11時09分, "r&d" <[EMAIL PROTECTED]> wrote: > Hi there, > > Execute me for asking these questions again but making them shorter: > > 1. Why a participant of a calendar event can add acommentby UI but > not API? > 2. Similarly, why a participant of a calendar event can invite a guset > by UI but not API? > > I was confused about these for a long time, who can answer me by some > examples workable? > > Thank you very much! > > Best wishes, > paul > > On 4月2日, 上午12時41分, "r&d" <[EMAIL PROTECTED]> wrote: > > > > > Hi Austin (or any other Google Consultants ^^), > > > Recently we'd like to use calendar to do some apps. However, following > > your steps, we found some more questions: > > > // > > ===========================================================================--=============== > > URL u = new URL("http://www.google.com/calendar/feeds/default/ > > private/full/vinopclakkco4q55ivuip28220"); > > URL um = new URL("http://www.google.com/calendar/feeds/default/ > > private/full/vinopclakkco4q55ivuip28220/comments"); > > CalendarEventEntry ee = myService.getEntry(u, > > CalendarEventEntry.class); // successfully get the event entry > > > MessageFeed messageFeed = myService.getFeed(um, > > MessageFeed.class); > > Iterator messageIter = messageFeed.getEntries().iterator(); > > while (messageIter.hasNext()) > > { > > MessageEntry message = (MessageEntry) messageIter.next(); > > String content = ((TextContent) > > message.getContent()).getContent().getPlainText(); > > System.out.println(content); > > //======== the results for above "getContent" and the below > > "getAuthors" are all OK, thx. =================== > > Iterator personIter = message.getAuthors().iterator(); > > while(personIter.hasNext()) { > > Person o = (Person) personIter.next(); > > String str = o.getEmail()+","+o.getUri()+","+o.getName(); > > System.out.println(str); > > } > > } > > //====== want to add a newcomment, > > but ...=================================================== > > // > > HtmlTextConstruct htc = new HtmlTextConstruct("Successful add!"); > > MessageEntry message = new MessageEntry(); > > > message.setContent(htc); > > //------------------------------> content for newcommentmessage > > > Person o = new Person("", null, "[EMAIL PROTECTED]"); > > > message.setExtension(o); > > //------------------------------> author for newcommentmessage > > > URL uc = new > > URL(ee.getExtension(Comments.class).getFeedLink().getHref()); // same > > as URL um as above > > > // we want to add a new message prepared like above and execute > > the following insert, ... > > myService.insert(uc, message); > > > // but two kinds of error messages appear: > > // first, if we do not state: "message.setExtension(o);" the > > error messages are > > > That's all right! => the exist message content > > [EMAIL PROTECTED],null,I-Horng Jeng => the exist message author > > The server had a problem handling your request. > > com.google.gdata.util.InvalidEntryException: Bad Request > > No authors forcomment > > > at > > com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(Unknown > > Source) > > at > > com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(Unknown > > Source) > > at > > com.google.gdata.client.http.HttpGDataRequest.checkResponse(Unknown > > Source) > > at com.google.gdata.client.http.HttpGDataRequest.execute(Unknown > > Source) > > at com.google.gdata.client.http.GoogleGDataRequest.execute(Unknown > > Source) > > at com.google.gdata.client.Service.insert(Unknown Source) > > at com.google.gdata.client.GoogleService.insert(Unknown Source) > > at EventFeedDemo.main(EventFeedDemo.java:520) > > > // so, we state: "message.setExtension(o);" then the error > > messages become > > > That's all right! => the exist message content > > [EMAIL PROTECTED],null,I-Horng Jeng => the exist message author > > java.lang.IllegalStateException: No @ExtensionDescription.Default > > annotation found on subclass Person > > at com.google.gdata.data.AbstractExtension.generate(Unknown Source) > > at com.google.gdata.data.ExtensionPoint.generateExtensions(Unknown > > Source) > > at com.google.gdata.data.BaseEntry.generateAtom(Unknown Source) > > at com.google.gdata.client.Service.insert(Unknown Source) > > at com.google.gdata.client.GoogleService.insert(Unknown Source) > > at EventFeedDemo.main(EventFeedDemo.java:520) > > > Could you do me a favor to answer this? Thanks a lot! > > > paul > > > On 2月27日, 上午6時14分, "Austin (Google)" <[EMAIL PROTECTED]> wrote: > > > > Hi Brian, > > > > Good question! comments is actually a whole different feed with it's own > > > feed URI. Thecommentfeed for a given event is basically the event ID (a > > > valid feed URL) with '/comments' appended to the end. So from this feed > > > URI, you would retrieve it like you would any feed (the feed is a > > > MessageFeed) and you would iterate through its entries (MessageEntry) to > > > get > > > to the message content. This is a code snippet that demonstrates what I > > > just said - > > > > public void getComments() throws Exception { > > > > URL feedUrl = new > > > URL("http://www.google.com/calendar/feeds/default/private/full"); > > > > CalendarEventFeed resultFeed = myService.getFeed(feedUrl, > > > CalendarEventFeed.class); > > > > Iterator resultIter = resultFeed.getEntries().iterator(); > > > > while (resultIter.hasNext()) > > > { > > > CalendarEventEntry entry = (CalendarEventEntry) > > > resultIter.next(); > > > String title = entry.getTitle().getPlainText(); > > > String id = entry.getId(); > > > > System.out.println(id); > > > > URL messageFeedUrl = new URL(id + "/comments"); > > > > MessageFeed messageFeed = myService.getFeed(messageFeedUrl, > > > MessageFeed.class); > > > > Iterator messageIter = messageFeed.getEntries().iterator(); > > > > while (messageIter.hasNext()) > > > { > > > MessageEntry message = (MessageEntry) messageIter.next(); > > > > String content = ((TextContent) message.getContent > > > ()).getContent().getPlainText(); > > > > System.out.println(content); > > > } > > > } > > > } > > > > Hope it helps, > > > Austin > > > > On Sun, Feb 24, 2008 at 3:35 PM, Brian <[EMAIL PROTECTED]> wrote: > > > > > Hello all, > > > > > New to the group and the whole calendar api thingie. > > > > > My scenario: > > > > > I have a private calendar with a recurring event which I add comments > > > > to as it occurs (a phone call I make and I add the conversation that > > > > took place). > > > > I am using java with eclipse ide. > > > > > I want to iterate through my calendar and get my comments. > > > > > My issue (aka ignorance): > > > > I can get lots of data from my calendar (title, author, description, > > > > times, etc). But I can NOT figure out how to at least get the <gd: > > > > feedlink> data. > > > > > I think I am close with: > > > > ---------------------------------------- > > > > CalendarService myService = new CalendarService("exampleCo- > > > > exampleApp-1.0"); > > > > myService.setUserCredentials("login", "pass"); > > > > URL feedUrl = new URL("http://www.google.com/calendar/feeds/ > > > > [EMAIL PROTECTED]/private/full"); > > > > CalendarEventFeed resultFeed = myService.getFeed(feedUrl, > > > > CalendarEventFeed.class); > > > > > for (int i = 0; i < resultFeed.getEntries().size(); i++) { > > > > CalendarEventEntry entry = resultFeed.getEntries().get(i); > > > > > Iterator<Comments> iterComments; > > > > List<Comments> commentfeeds = entry.XXXXXXXXXXXXXX; <<<<<< > > > > This is what I am not sure about > > > > iterComments = commentfeeds.iterator(); > > > > while (iterComments.hasNext()) { > > > > Comments comments = iterComments.next(); > > > > System.out.println("Start time: " + > > > > comments.getFeedLink()); > > > > } > > > > } > > > > ---------------------------------------- > > > > > Is there a function, property or what that will load my commentfeeds > > > > List with urls? > > > > > I guess alternatively, I could use a composite feed, but I have NO > > > > idea how to start reading an atom entry either. > > > > > Sorry for such a basic question. I can't find anything on getting > > > > event comments or feedlinks when I search around. > > > > > Thanks in advance, > > > > > Brian- 隱藏被引用文字 - > > > > - 顯示被引用文字 -- 隱藏被引用文字 - > > > - 顯示被引用文字 -- 隱藏被引用文字 - > > - 顯示被引用文字 - --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Calendar Data API" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-calendar-help-dataapi?hl=en -~----------~----~----~----~------~----~------~--~---
