You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Microsoft Graph REST API中筛选最近90天登录活动记录(无需硬编码日期)

Microsoft Graph 日期筛选器无硬编码解决方案

首先明确:Microsoft Graph的OData筛选器不支持在URL中直接写日期计算逻辑(比如你设想的today()-days(90)这种写法无法被API识别),必须传入具体的ISO 8601格式日期字符串。但不用依赖PowerShell,用Postman自带功能就能实现自动计算日期:

步骤1:添加预请求脚本计算日期

在Postman当前请求的「Pre-request Script」标签页中,粘贴以下代码:

// 计算当前日期往前推90天的日期
const ninetyDaysAgo = new Date();
ninetyDaysAgo.setDate(ninetyDaysAgo.getDate() - 90);
// 格式化为YYYY-MM-DD的ISO 8601格式(如果需要带时间,直接用ninetyDaysAgo.toISOString()即可)
const formattedDate = ninetyDaysAgo.toISOString().split('T')[0];
// 将计算结果存入Postman环境变量
pm.environment.set("ninetyDaysAgo", formattedDate);

步骤2:在请求URL中使用变量

把原来硬编码的日期替换为Postman变量,注意要筛选最近90天有活动的记录,应该用ge(大于等于)而非le(小于等于),最终URL如下:

https://graph.microsoft.com/beta/users?$select=signInActivity&$filter=signInActivity/lastSignInDateTime ge {{ninetyDaysAgo}}

补充说明

  • 如果需要精确到时间(比如包含时分秒),可以去掉代码里的.split('T')[0],直接使用ninetyDaysAgo.toISOString(),生成的格式是YYYY-MM-DDTHH:mm:ssZ,符合Graph API的日期格式要求。
  • 首次运行前需要确保Postman已创建环境(可以在「Environment」面板新建一个空环境),否则变量无法保存。

内容的提问来源于stack exchange,提问作者coreyperkins

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 19:01:20