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
-~----------~----~----~----~------~----~------~--~---

Reply via email to