使用Java API创建日历条目时选择特定日历

时间:2014-06-22 03:33:38

标签: java google-api

我已使用Google Calendar API的Java .jar文件成功创建了日历条目。他们总是进入“步枪”日历,即使我有下面显示的日历。我需要知道如何指定条目所属的日历。例如,我在哪里指定“会议”或“霰弹枪”

我没有看到任何关于如何指定特定日历的示例或任何示例。

Google Calendar possibilities

    public void create() {
        try {
            CalendarService myService = new CalendarService("My Service");
            myService.setUserCredentials("mycalendar", "mypassword");

            URL postUrl = new URL("http://www.google.com/calendar/feeds/myurl@junk.com/private/full");

            CalendarEventEntry myEntry = new CalendarEventEntry();
        //myEntry.setIcalUID("Rec Fire");

            DateTime startTime = DateTime.parseDateTime("2014-06-22T09:00:00");
            DateTime endTime = DateTime.parseDateTime("2014-06-22T13:00:00");

                When eventTimes = new When();
            eventTimes.setStartTime(startTime);
            eventTimes.setEndTime(endTime);
            myEntry.addTime(eventTimes);
            Where eventLocation = new Where();
            eventLocation.setLabel("R-4");
            eventLocation.setValueString("value string");
            eventLocation.setRel("REL");
            myEntry.addLocation(eventLocation);
            EventWho eventWho = new EventWho();
        eventWho.setAttendeeStatus("attendee status");
            eventWho.setAttendeeType("Meetings");
            eventWho.setValueString("who value string");
            eventWho.setEmail("myemailt@email.com");
            eventWho.setRel("who rel");
        myEntry.addParticipant(eventWho);
            myEntry.setTitle(new PlainTextConstruct("R-4 Rifles Only"));
            myEntry.setContent(new PlainTextConstruct("Paragraph HURST MULLINS"));


            CalendarEventEntry insertedEntry = myService.insert(postUrl,  myEntry);
        } catch (Exception e) {
            e.printStackTrace();
        }

1 个答案:

答案 0 :(得分:0)

我想出来了。首先,您必须获取辅助日历的ID

    public void retrieve() {
        try {
            CalendarService myService = new CalendarService("QuanticoShootingclub");
            myService.setUserCredentials("calendar@quanticoshootingclub.com", "washington13");

            URL feedUrl = new URL("https://www.google.com/calendar/feeds/default/owncalendars/full");
            CalendarFeed resultFeed = myService.getFeed(feedUrl, CalendarFeed.class);

            System.out.println("Your calendars:");
            System.out.println();

            for (int i = 0; i < resultFeed.getEntries().size(); i++) {
                CalendarEntry entry = resultFeed.getEntries().get(i);
                System.out.println("\t" + entry.getTitle().getPlainText());
                System.out.println("\t\t" + entry.getId());
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

您也可以通过网络登录G​​oogle日历来执行此操作。点击下拉菜单,然后点击日历设置&gt;日历地址:(日历ID:@ group.calendar.google.com)

然后,当您创建新的日历条目时,将此ID替换为主ID。

注意:从原始代码

           URL postUrl = new URL("http://www.google.com/calendar/feeds/***<secondary calendar ID>***/private/full");