axios 如何为我的spfx webpart设置活动帐户

sgtfey8w  于 12个月前  发布在  iOS
关注(0)|答案(1)|浏览(86)

我正在构建一个spfx webpart使用react来获取用户数据在我的组织使用微软图形API下面是我的代码,在调用检查开发控制台后,我得到这个错误
获取用户数据时出错:错误:没有用户帐户
我的代码:

public getEmp = async (): Promise<void> => {
    try {
      const accounts = msalInstance.getAllAccounts();
      if (accounts.length === 0) {
        throw new Error("No user account found");
      }
      const activeAccount = accounts[0];
      const request = {
        scopes: ["User.Read"],
        account: activeAccount,
      };
      // msalInstance.setActiveAccount(msalInstance.getActiveAccount());
      const response: AuthenticationResult =
        await msalInstance.acquireTokenSilent(request);

      const accessToken: string = response.accessToken;
      const graphApiResponse = await axios.get(
        "https://graph.microsoft.com/v1.0/users",
        {
          headers: {
            Authorization: `Bearer ${accessToken}`,
          },
        }
      );
      if (graphApiResponse.status !== 200) {
        throw new Error(
          `Graph API request failed: ${graphApiResponse.statusText}`
        );
      }
      const userData = await graphApiResponse.data;

      console.log("User data:", userData);
    } catch (error) {
      console.error("Error fetching user data:", error);
    }
  };

字符串
请问我做错了什么?如果有另一种方式,请让我知道。
获取我的组织数据中的所有用户

pdkcd3nj

pdkcd3nj1#

我遇到了同样的问题,我的问题用下面的代码解决了。

const loginRequest = {
        scopes: ["User.Read"]
      };
if (accounts.length === 0) {
        await msalInstance.ssoSilent(loginRequest);
      }

字符串

相关问题