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

Node调用MS Graph API v1.0/users接口遍历用户数组报错求助

解决方法

你的问题根源在于MS Graph API的v1.0/users接口返回的不是直接的用户数组,而是一个包含数组的响应对象,数组数据默认存放在value属性中。你直接对整个响应对象调用forEach,自然会报forEach is not a function的错误。

修改后的代码示例

const usersResponse = await fetch.callApi(auth.apiConfig.uri, authResponse.accessToken);
// 提取响应中的用户数组
const usersList = usersResponse.value;
usersList.forEach(user => {
  console.log(user.displayName);
});

或者用对象解构简化代码:

const { value: usersList } = await fetch.callApi(auth.apiConfig.uri, authResponse.accessToken);
usersList.forEach(user => {
  console.log(user.displayName);
});

补充说明

MS Graph API的所有集合类接口(比如获取用户、邮件、文件等),都会将实际的数据列表包裹在value字段中返回,响应结构大致如下:

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users",
  "value": [
    { "displayName": "bob dole" },
    { "displayName": "steve stevenson" }
  ]
}

你之前打印的输出可能省略了键名,但实际结构就是这样,所以必须先提取value对应的数组,才能使用数组的遍历方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 09:45:42