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 new comment,
but ...===================================================
     //
     HtmlTextConstruct htc = new HtmlTextConstruct("Successful add!");
     MessageEntry message = new MessageEntry();
 
message.setContent(htc);                                        
//------------------------------
> content for new comment message
     Person o = new Person("", null, "[EMAIL PROTECTED]");
 
message.setExtension(o);                                        
//------------------------------
> author for new comment message
     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 for comment

        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.  The comment feed 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