EWS запрос возврата ошибки ограничения доступа - PullRequest
0 голосов
/ 19 апреля 2020

Я использую реагирование на вызов EWS, и я получаю эту странную ошибку. Я думаю, это как-то связано со мной, находящимся на маме c. Я видел похожую ошибку на GitHub без ответа. Я сомневаюсь, что это как-то связано с написанным мною кодом, потому что, похоже, мои настройки отключены. Я установил в моей конфигурации максимально возможное значение ReadWriteMailbox.

{
  code: 9017,
  message: "Internal protocol error: '-2147467259'.",
  name: "AccessRestricted",
}
// from manifest.xml
<Permissions>ReadWriteMailbox</Permissions>

function getCreateFolderXMLRequest(request) {
  /*
  example request parameter
  <t:Folder>
    <t:DisplayName>Folder1</t:DisplayName>
  </t:Folder>
  <t:Folder>
    <t:DisplayName>Folder2</t:DisplayName>
  </t:Folder>
  */

  var completeRequest =
    '<?xml version="1.0" encoding="utf-8"?>' +
    '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/ "' +
    '               xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types">' +
    "      <soap:Body>" +
    '          <CreateFolder xmlns="https://schemas.microsoft.com/exchange/services/2006/messages">' +
    "              <ParentFolderId>" +
    '                  <t:DistinguishedFolderId Id="msgfolderroot"/>' +
    "              </ParentFolderId>" +
    "              <Folders>" +
    request +
    "              </Folders>" +
    "          </CreateFolder>" +
    "      </soap:Body>" +
    "</soap:Envelope>";

  return completeRequest;
}

export default function createFolders(listOfFolders, callback) {
  const folderHeader = "<t:Folder> <t:DisplayName>";
  const folderFooter = "</t:DisplayName> </t:Folder>";
  var xmlFolders = [];
  for (var folderName of listOfFolders) {
    xmlFolders.push(folderHeader + folderName + folderFooter);
  }

  const folderXMLRequest = getCreateFolderXMLRequest(xmlFolders.join(" "));

  Office.context.mailbox.makeEwsRequestAsync(folderXMLRequest, callback);
}
// How I call in my react class
click = async () => {
    /**
     * Insert your Outlook code here
     */
    createFolders(["@COOLMONDAY", "@COOLTUESDAY"], asyncResult => {
      console.log(asyncResult);
    });
  };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...