Microsoft graph api JS图形调用未返回任何项

Microsoft graph api JS图形调用未返回任何项,microsoft-graph-api,Microsoft Graph Api,我的SPFx web部件代码中有一行代码如下: const listItems = await client.api('/sites/{site-id}/lists/{list-id}/items?expand=fields.get(); 在my DEV 365中,它会显示列表中的所有项目。 在我的Prod 365中,我有相同的列表和项目,但调用不会带来任何项目而不会引发任何错误。 我在Graph Explorer中测试了这个调用,它为同一个用户带来了预期的所有项目。 这里有什么问题? 首先,

我的SPFx web部件代码中有一行代码如下:

const listItems = await client.api('/sites/{site-id}/lists/{list-id}/items?expand=fields.get();
在my DEV 365中,它会显示列表中的所有项目。 在我的Prod 365中,我有相同的列表和项目,但调用不会带来任何项目而不会引发任何错误。 我在Graph Explorer中测试了这个调用,它为同一个用户带来了预期的所有项目。 这里有什么问题?


  • 首先,我要确保您在Prod 365中有足够的权限
  • 要验证它,可以在Graph explorer中尝试相同的API调用(我看到 你这样做了(它的工作)和检查 令牌/范围/权限。正如您所说,它在图形浏览器中工作 表示图形API调用没有问题。在这种情况下 验证您使用的AAD工作流是否与您使用的相同 同样(与图形浏览器相比);如果没有,请尝试测试 《邮递员》也是一样,看看它是否有助于进一步隔离问题

  • 您确认Graph explorer以我和JS的身份运行。因此,结果是缺少Sites.Read.All,在API级别

首先,我要确保您在Prod 365中有足够的权限。要验证它,请尝试在Graph explorer中调用相同的API(我知道您已经这样做了),并检查令牌/范围/权限。正如您所说,它在Graph explorer中工作,这意味着Graph API调用没有问题。在这种情况下,只需验证您是否也在使用相同的AAD工作流(与Graph explorer相比);如果没有,请尝试在POSTMAN中测试相同的功能,看看它是否有助于进一步隔离问题。结果是缺少Sites.Read.All,在API级别。但是为什么我没有出错?很高兴听到这个。如果它没有在应用程序级别抛出任何错误,那么我会检查代码、实现方式、异常处理等。如果我想进一步调试,我会启用请求/响应日志的自定义遥测日志记录,或者运行诸如fiddler之类的工具来查看那里发生了什么。让我来回答这个问题。因此,它可以对其他人有用。请随意投票:)