繁体   English   中英

http 提供访问令牌时出现 401 错误 outlook api

[英]http 401 error when providing an access token the outlook api

我正在尝试为用户创建一个文件夹,但 api 呼叫尝试未成功。 我的代码能够接收正确的访问令牌,所以我相信这个错误会出现在下面的 createFolderTestFunction 中。

在此处输入图像描述

async function redirectToDashboard() {
  console.log("redirect to dashboard");
  // var response = await requestTokenSilent();
  var response;
  if (!response || !response.status == 200) {
    response = await requestTokenPopup();
  }

  if (response.accessToken) {
    console.log(response);
    createFolderTest(response.accessToken);
    // location.href = hostname;
  } else {
    console.log("Unable to acquire token");
  }
}


function createFolderTest(accessToken) {
  var options = {
    method: "POST",
    headers: {
      Authorization: accessToken,
      "Content-Type": "application/json"
    },
    mode: "cors",
    body: JSON.stringify({
      displayName: "@COOLMONDAY"
    })
  };

  var graphEndpoint = "https://outlook.office.com/api/v2.0/me/Inbox/";

  fetch(graphEndpoint, options)
    .then(resp => {
      console.log(resp);
    })
    .catch(err => {
      console.log(err);
    });
} 

建议首先在 Graph Explorer 中使用它。 因为这消除了使用语言和访问令牌权限的任何问题。

https://developer.microsoft.com/en-us/graph/graph-explorer/preview

Microsoft Graph 端点实际上是https://graph.microsoft.com/ ,您可以使用 outlook url ,但我们在文档和文档中投资了 Graph。

根据文档https://docs.microsoft.com/en-us/graph/api/user-post-mailfolders?view=graph-rest-1.0&tabs=http

您应该使用,您缺少“邮件文件夹”

POST /me/mailFolders

您还可以使用我们的 JavaScript SDK 使用智能感知和强类型对象更容易犯此类错误。

    const options = {
    authProvider,
};

const client = Client.init(options);

const mailFolder = {
  displayName: "displayName-value"
};

let res = await client.api('/me/mailFolders')
    .post(mailFolder);

https://docs.microsoft.com/en-us/graph/api/user-post-mailfolders?view=graph-rest-1.0&tabs=javascript

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM