【问题标题】:.NET Google Calendar API Get Event's Color.NET Google Calendar API 获取事件的颜色
【发布时间】:2011-10-07 22:52:38
【问题描述】:

我正在学习 .NET Google Calendar API,但我不知道如何获取事件的颜色(不是日历的颜色)。这是谷歌添加的一个相对较新的功能。在这段代码的最后,我试图打印出每个事件的标题、开始时间和 color

    {
        CalendarService myService = new CalendarService("calService");
        myService.setUserCredentials("me@gmail.com", "password");
        EventQuery myQuery = new EventQuery("https://www.google.com/calendar/feeds/me@gmail.com/private/full");
        myQuery.StartTime = new DateTime(2011, 10, 5);
        myQuery.EndTime = new DateTime(2011, 10, 7);

        EventFeed myResultsFeed = myService.Query(myQuery);
        Console.WriteLine("events:\n");
        foreach (EventEntry entry in myResultsFeed.Entries)
        {

            Console.WriteLine(entry.Title.Text + entry.Times[0].StartTime "\n");
        }
    }

我在哪里可以找到颜色?

艾萨克。

【问题讨论】:

    标签: c# .net google-calendar-api


    【解决方案1】:

    通过快速浏览 Google 的 API 文档,颜色似乎与 CalendarEntry 类相关联。例如,下面是一个设置 CalendarEntry 并设置颜色的示例:

    CalendarEntry calendar = new CalendarEntry();
    calendar.Title.Text = "Little League Schedule";
    calendar.Summary.Text = "This calendar contains the practice schedule and game times.";
    calendar.TimeZone =  "America/Los_Angeles";
    calendar.Hidden = false;
    calendar.Color = "#2952A3";
    calendar.Location = new Where("", "", "Oakland");
    

    从有关插入事件的阅读中,看起来当您插入事件时,您指定了一个日历提要,例如 allcalendars feed,并且该事件被插入到您通过 URL 指定的任何日历中,这让我假设您的活动将采用的颜色将是为该日历设置的颜色。

    因此,假设这是正确的,如果您希望事件具有某种颜色,则必须首先创建一个该颜色的日历,然后将事件添加到该日历中。浏览.NET API Documentation 应该会为您提供完成此操作所需的其余信息。

    【讨论】:

    • 感谢您的努力。您对事件所属日历定义的颜色是正确的,但我想要做的是获取事件颜色,它可以独立定义。您可以通过单击事件在 Google 日历中查看它。您会看到一个向下箭头来选择颜色。这对我很重要,因为这就是我使用日历的方式,我需要将颜色解释为属性值。
    • 我明白了 - 很抱歉误解了您的问题。我还试图查看是否有办法获取事件所属的日历以确定或设置其颜色,但文档并不完全令人惊叹......
    • 再次感谢...我知道,文档不友好...奇怪的是谷歌本身并没有在移动视图中实现此功能(也没有其他应用程序开发人员)。虽然我的意图是桌面应用程序......
    • 我仍然不知道如何将单个事件设置为特殊颜色,或者 API 是否允许,但我终于找到了类文档,而不仅仅是“开发人员指南”-@987654323 @
    【解决方案2】:

    Google 最近更新了他们的 API 以及他们的 .NET 库。在撰写本文时,.NET 库仍处于测试阶段,我找不到任何特定于 .Net 库的文档。使用我的对象浏览器,我可以看到 Event 类对象现在有一个名为 ColorId 的属性。

    这是通用文档的链接: https://developers.google.com/google-apps/calendar/v3/reference/events/insert

    【讨论】:

    • 谢谢,我知道了……我已经等了很长时间,等待他们改进他们的 API。虽然文档仍然没用......但很高兴知道现在有可能,我相信我能找到方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-10
    • 1970-01-01
    • 2020-04-09
    相关资源
    最近更新 更多