【问题标题】:Getting Events from Calendar using C# and Microsoft Graph SDK使用 C# 和 Microsoft Graph SDK 从日历获取事件
【发布时间】:2018-10-07 22:08:08
【问题描述】:

我正在尝试开发一个控制台应用程序来列出、删除和添加事件到特定用户的日历。我正在开发一个业务流程。我从列出事件开始。

Calendar cal =
    client
    .Users["UserName@CompanyName.com"]
    .Calendars["AAMkAGIzZDM4O...."]
    .Request()
    .GetAsync()
    .Result;

我得到了正确的日历,但事件集合为空。日历中有 13 个事件。我有日历读/写权限。

有什么想法吗?

【问题讨论】:

    标签: c# microsoft-graph-api microsoft-graph-sdks


    【解决方案1】:

    我没有测试 c# Graph SDK 的环境,但我怀疑底层查询不会向 Graph 询问日历事件,这就是该字段为空的原因。

    使用图形资源管理器 (https://developer.microsoft.com/en-us/graph/graph-explorer#),我们可以尝试等效查询并注意仅返回有关日历的元数据。

    GET https://graph.microsoft.com/v1.0/me/calendars

    图表浏览器有一些日历示例查询。默认情况下它们可能不可见,因此请单击“显示更多示例”链接。

    all events in my calendar 示例查询可能是您正在寻找的。请求是:

    GET https://graph.microsoft.com/v1.0/me/events?$select=subject,body,bodyPreview,organizer,attendees,start,end,location

    (或 /calendars/{calendar-id}/events 如果您想要特定日历的事件)

    下一步是将此 REST API 查询转换为 SDK 语法以在您的应用程序中使用。

    this sample出发,起点是:

    IUserEventsCollectionPage events = await graphClient.Me.Events.Request().GetAsync();
    

    除了查询事件之外,您可能还想查看querying the users calendar view,它允许您指定开始和结束日期。

    【讨论】:

      【解决方案2】:

      这里值得注意的是,Calendars["..."].Events 只会给你活动大师。

      另一种方法是使用带有“startDateTime”和“endDateTime”查询选项的Calendars["..."].CalendarView,这将为您提供该时间范围内的所有事件实例。

      【讨论】:

        【解决方案3】:

        丹,谢谢你的帖子。看了你的帖子,我意识到了我的错误。这是有效的代码:

                    string userEmail = "UserName@CompanyName.com";
                    string calId = "AAMkAGIzZDM4OWI0LWN...….";
        
                    ICalendarEventsCollectionPage events = client.Users[$"{userEmail}"]
                        .Calendars[$"{calId}"]
                        .Events.Request().GetAsync().Result;
        

        【讨论】:

        • 我根据 Dan 的建议修改了我的代码,并在选择日历后添加了事件。我在上面的帖子中显示了代码。非常简单的修复。
        猜你喜欢
        • 2023-01-30
        • 2018-11-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多