Microsoft graph api 你如何按学校筛选学生?

Microsoft graph api 你如何按学校筛选学生?,microsoft-graph-api,microsoft-graph-edu,Microsoft Graph Api,Microsoft Graph Edu,我目前正在使用Microsoft Graph Api创建学校和班级。一个班级可以链接到多个学校,同一班级可以有多个来自不同学校的学生。如何按学校筛选班级中的学生? 我尝试将Odata查询与$expand参数和$filter参数一起使用,但没有成功,如下所示: https://graph.microsoft.com/v1.0/education/classes/{classId}/members?$expand=schools($select=id)&$filter=school/id e

我目前正在使用Microsoft Graph Api创建学校和班级。一个班级可以链接到多个学校,同一班级可以有多个来自不同学校的学生。如何按学校筛选班级中的学生? 我尝试将Odata查询与$expand参数和$filter参数一起使用,但没有成功,如下所示:

https://graph.microsoft.com/v1.0/education/classes/{classId}/members?$expand=schools($select=id)&$filter=school/id eq '{schoolId} 
这似乎不受支持。有没有可能在未来得到支持?
目前如何在ressource上实现这种过滤?

最简单的方法是从
/schools
开始,而不是从
/classes
开始

例如,可以使用以下命令扩展学校中每个班级的成员:

https://graph.microsoft.com/beta/education/schools/{schoolId}/classes?$expand=members
您还可以使用以下命令查找单个类的成员:

https://graph.microsoft.com/beta/education/schools/{schoolId}/classes/{classId}?$expand=members

最简单的方法是从
/学校
开始,而不是从
/班级
开始

例如,可以使用以下命令扩展学校中每个班级的成员:

https://graph.microsoft.com/beta/education/schools/{schoolId}/classes?$expand=members
您还可以使用以下命令查找单个类的成员:

https://graph.microsoft.com/beta/education/schools/{schoolId}/classes/{classId}?$expand=members

非常感谢。我还有一个问题:在一个特定的班级里,我有超过1k的成员。如果我从
/education/classes中检索成员/{classId/members
endpoint,在学校端点上使用$expand参数时使用了
@odata:nextLink
属性,所有内容都会立即检索。您认为当一个类中有很多成员时,这会导致问题吗?
$expand
由于缺少分页,将只返回有限数量的记录。如果您有大量的成员列表,则需要多次调用API:1)检索给定学校的班级列表,2)检索每个班级的成员。您可以使用并请求每个调用最多20个班级的成员资格来对此进行优化。假设我有两个学校:schoolA和schoolB。它们都有一些students已在classX中注册。使用您建议的端点(
https://graph.microsoft.com/beta/education/schools/{schoolA}/classes/{classX}?$expand=members
),我希望只检索schoolA的学生,但我得到所有学生(schoolA和schoolB).这是正常行为还是错误?因为从技术上讲,学生和班级都可能属于两个不同的学校,这是预期的行为。在许多情况下,最好有两个不同的班级,这样学校之间的成员/作业/聊天/文件/等会有所不同。这是某些科目的常见情况(音乐和艺术是典型的例子)。问题是,我管理一个由多所学校共享的应用程序。所有学校的班级实际上都是相同的。因为我们大约有100所学校和100个班级,这意味着我每节课应该创建大约10k个班级。这是非常低效的。将来是否可以只按学校筛选班级成员?我需要o在决定使用microsoft education api并将其与我们的内部应用程序集成之前,请先了解这一点。谢谢。我还有一个问题:在一个特定的类中,我有超过1k个成员。如果我从
/education/classes中检索成员/{classId/members
endpoint,在学校端点上使用$expand参数时使用了
@odata:nextLink
属性,所有内容都会立即检索。您认为当一个类中有很多成员时,这会导致问题吗?
$expand
由于缺少分页,将只返回有限数量的记录。如果成员列表很大,则需要多次调用API:1)检索给定学校的班级列表,2)检索每个班级的成员。您可以通过使用和请求每次调用最多20个班级的成员资格对其进行优化。假设我有两个学校:schoolA和schoolB。它们都有一些学生在classX中注册。使用您建议的端点(
https://graph.microsoft.com/beta/education/schools/{schoolA}/classes/{classX}?$expand=members
),我希望只检索schoolA的学生,但我得到所有学生(schoolA和schoolB).这是正常行为还是错误?因为从技术上讲,学生和班级都可能属于两个不同的学校,这是预期的行为。在许多情况下,最好有两个不同的班级,这样学校之间的成员/作业/聊天/文件/等会有所不同。这是某些科目的常见情况(音乐和艺术是典型的例子)。问题是,我管理一个由多所学校共享的应用程序。所有学校的班级实际上都是相同的。因为我们大约有100所学校和100个班级,这意味着我每节课应该创建大约10k个班级。这是非常低效的。将来是否可以只按学校筛选班级成员?我需要o在决定使用microsoft教育api并将其与我们的内部应用程序集成之前,请了解这一点。