c# - 使用 C# 和 Microsoft Graph SDK 从日历获取事件

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

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

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

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

有什么想法吗?

最佳答案

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

使用 Graph 浏览器 ( https://developer.microsoft.com/en-us/graph/graph-explorer# ),我们可以尝试一个等效的查询,并注意只返回有关日历的元数据。

获取 https://graph.microsoft.com/v1.0/me/calendars

enter image description here

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

enter image description here

all events in my calendar 示例查询可能就是您要查找的内容。请求是:

获取 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这允许您指定开始和结束日期。

关于c# - 使用 C# 和 Microsoft Graph SDK 从日历获取事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52693341/

相关文章:

c# - 应用程序配置为使用 IIS (Visual Studio 2017/2019)

c# - 这两个字符串有什么区别?

c# - .NET Graph SDK 更新 Sharepoint Online 列表项值

microsoft-graph-api - Microsoft Graph API findMeetingTimes 未正确返回可用空间

c# - Mongo 无模式集合和 C#

C# 抽象基类 - 扩展实现

python - 如何使用msgraph-sdk-python上传文件到onedrive?

office365 - 订阅验证请求失败。响应必须与validationToken 查询参数完全匹配

java - 微软图: Daemon App Accesses Shared Calendars of only One User

microsoft-graph-api - 如何使用 Microsoft Graph 和 SDK 更新现有 B2C 用户的身份集合