来自 spfx webpart 的 msgraphv3Client 连接

问题描述 投票:0回答:2

我尝试连接到 msgraph 以使用 msgraphClientV3 从 spfx Web 部件读取数据。

我遵循了这个:
https://learn.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/get-started/using-microsoft-graph-apis

我想从 /me/memberOf 端点获取结果。 我将这些添加到我的 packageSolution 文件中:

"webApiPermissionRequests": [
  {
    "resource": "Microsoft Graph",
    "scope": "User.Read"
  },
  {
    "resource": "Microsoft Graph",
    "scope": "User.ReadBasic.All"
  },
  {
    "resource": "Microsoft Graph",
    "scope": "Directory.Read.All"
  }
]

并用 :

来调用它
context.msGraphClientFactory
  .getClient("3")
  .then((client: MSGraphClientV3): void => {
    client.api('/me/memberOf')
      .get((error, messages: any, rawResponse?: any) => {
        console.log("***********result*********")
        if (error)
          console.log(error)
        else
          console.log(messages?.value);
      })
  })

当我尝试时,我收到此错误消息:

错误:权限不足,无法完成操作。

有人知道我哪里出错了吗?

typescript microsoft-graph-api sharepoint-online spfx
2个回答
0
投票

对于上述权限,需要管理员授予才能为该应用程序接受该权限:

一旦授予此签入门户的权限,它应该标记为绿色勾号:


0
投票

首先,确保您可以从 Graph Explorer 进行 api 调用。根据您的错误消息,您将无法绕过 SPFx 项目中的权限问题。

其次,查看 Graph Explorer 所需的权限。在项目(包解决方案文件)中匹配此权限。您不需要 MS Graph Explorer 中提供的更多内容。

如果您可以从 Graph API 中获取 api 调用,那么您应该可以开始了。

© www.soinside.com 2019 - 2024. All rights reserved.