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