图 API 多个用户的日历 getSchedule
Graph API Calendar getSchedule for mulitple users
使用 MS Graph SDK,我想为多个用户检索计划的日历项目(确认单个查询的最大用户数为 20)。但是,我很难理解 RequestBuilder 的结构。这是我的代码:
List<string> users = new List<String>()
{
"userA@tst.xyz",
"userB@tst.xyz"
};
ICalendarGetScheduleCollectionPage result = await graphClient
.Users["userA@tst.xyz"]
.Calendar
.GetSchedule(users, endTime, startTime, 15)
.Request()
.Header("Prefer", "outlook.timezone=\"Pacific/Auckland\"")
.PostAsync();
我似乎必须有一个默认用户并将其包含在 .Users["userA@tst.xyz"]
中,然后将它们和我想要的所有其他用户包含在我的 List<string> users
中。那是对的吗?这对我来说似乎不合逻辑,这让我怀疑我的理解不正确。
.User["user_principal"]
中的参数意味着您将以该用户的名义执行查询,但它总是没有意义,因为您使用的是客户端凭据。我认为这里只代表Me
的对立面。 microsoft graph中有一种格式api,我们平时查询某人的信息都是用.User["user_principal"]
,只是在这种场景下没用。
对于 GetSchedule
,此处使用的用户 ID 表示此查询将搜索这些用户的可用性信息。
============================================= ======
关于“getSchedule”功能请参考this document。
POST /me/calendar/getSchedule
POST /users/{id|userPrincipalName}/calendar/getSchedule
你可以看到这张图api提供了2个选项,一个是client.Me.Calendar
,另一个是client.User[userPrincipalName].Calendar
。
这意味着您可以使用您自己的帐户获得“GetSchedule”响应(您在 auth code/ROPC 流程中获得凭据,需要您提供用户信息,以便凭据可以知道您是谁并可以使用请求中的“我”)或来自特定帐户(使用例如 clientcredential 流,以便您有权通过使用 User[userPrincipalName] 访问所有用户)。
使用 MS Graph SDK,我想为多个用户检索计划的日历项目(确认单个查询的最大用户数为 20)。但是,我很难理解 RequestBuilder 的结构。这是我的代码:
List<string> users = new List<String>()
{
"userA@tst.xyz",
"userB@tst.xyz"
};
ICalendarGetScheduleCollectionPage result = await graphClient
.Users["userA@tst.xyz"]
.Calendar
.GetSchedule(users, endTime, startTime, 15)
.Request()
.Header("Prefer", "outlook.timezone=\"Pacific/Auckland\"")
.PostAsync();
我似乎必须有一个默认用户并将其包含在 .Users["userA@tst.xyz"]
中,然后将它们和我想要的所有其他用户包含在我的 List<string> users
中。那是对的吗?这对我来说似乎不合逻辑,这让我怀疑我的理解不正确。
.User["user_principal"]
中的参数意味着您将以该用户的名义执行查询,但它总是没有意义,因为您使用的是客户端凭据。我认为这里只代表Me
的对立面。 microsoft graph中有一种格式api,我们平时查询某人的信息都是用.User["user_principal"]
,只是在这种场景下没用。
对于 GetSchedule
,此处使用的用户 ID 表示此查询将搜索这些用户的可用性信息。
============================================= ======
关于“getSchedule”功能请参考this document。
POST /me/calendar/getSchedule
POST /users/{id|userPrincipalName}/calendar/getSchedule
你可以看到这张图api提供了2个选项,一个是client.Me.Calendar
,另一个是client.User[userPrincipalName].Calendar
。
这意味着您可以使用您自己的帐户获得“GetSchedule”响应(您在 auth code/ROPC 流程中获得凭据,需要您提供用户信息,以便凭据可以知道您是谁并可以使用请求中的“我”)或来自特定帐户(使用例如 clientcredential 流,以便您有权通过使用 User[userPrincipalName] 访问所有用户)。