MS Graph API GetActivitiesByInterval返回空itemActivitySet求助
解决MS Graph API GetActivitiesByInterval不返回itemActivitySet的问题
以下是针对你遇到的问题的几种排查和解决方向:
检查权限配置
确保调用API的身份(用户或应用)拥有足够的权限:- 至少需要
Files.Read.All或Sites.Read.All权限,部分敏感活动数据可能需要Sites.FullControl.All - 注意区分Delegated权限和Application权限:部分文件活动仅支持通过Delegated权限模式获取
- 至少需要
调整请求参数
GetActivitiesByInterval接口默认返回聚合统计数据,若要获取具体的itemActivitySet条目,必须添加$expand=activities参数,同时建议缩小时间范围(比如单次查询不超过7天):GET /drives/{drive-id}/items/{item-id}/getActivitiesByInterval(startDateTime='2023-01-12T00:00:00Z',endDateTime='2023-01-12T23:59:59Z',interval='day')?$expand=activities验证站点活动跟踪设置
确认目标SharePoint站点的活动跟踪功能已开启:- 进入站点设置 > 网站集管理 > 网站集功能,确保SharePoint Server发布基础结构和SharePoint Server发布功能已启用
- 进入站点设置 > 网站管理 > 活动设置,确认已开启文件活动的跟踪选项
改用直接查询活动的端点
如果GetActivitiesByInterval始终无法返回详细活动,尝试直接调用获取文件活动的端点:GET /drives/{drive-id}/items/{item-id}/activities该端点会返回该文件关联的所有itemActivitySet对象,包含评论、重命名、移动等具体操作记录
考虑数据同步延迟
MS Graph的活动数据存在同步延迟(通常1-24小时),如果是近期发生的活动,可能需要等待一段时间后再尝试查询
内容的提问来源于stack exchange,提问作者AcidRaZor
相关产品推荐
相关产品推荐

