如何在Microsoft Graph中限制应用可访问的API响应属性?
解决方案
核心方法:使用Graph API的
$select查询参数
这是微软Graph API原生支持的服务器端属性过滤方式,完全匹配你的需求——即便拥有Read.All权限,也能让服务器仅返回你指定的属性,从根源上避免获取无关字段。具体请求示例
查询当前用户日历:GET /me/events?$select=subject,start,end查询资源邮箱(组日历):
GET /groups/{resource-mailbox-id}/events?$select=subject,start,end把
{resource-mailbox-id}替换为你的资源邮箱对应的组ID即可。效果说明
发送上述请求后,Graph API的响应只会包含subject、start、end三个属性,像bodyPreview这类无关字段不会出现在返回结果里,完全不需要客户端做二次过滤,也无需依赖客户对客户端的信任。额外提示
如果你需要同时筛选当前及未来的日程,可以搭配$filter参数使用,示例:GET /me/events?$select=subject,start,end&$filter=start/dateTime ge '{current-date-time}'将
{current-date-time}替换为ISO 8601格式的当前时间(比如2024-05-20T00:00:00Z)即可。
内容的提问来源于stack exchange,提问作者onkyou
相关产品推荐
相关产品推荐

