Не удалось загрузить документ и метаданные в sharepoint с помощью curl ntlm - PullRequest
0 голосов
/ 05 июля 2018

Я использую curl для загрузки документа и метаданных документа в SharePoint и не удалось. Я запустил команду в Windows Ниже приведены команды, которые я пробовал

Успешно (не включая метаданные)

C:\curl-7.59.0\src\curl -k -v --ntlm --user user1@devuat:user1pass --upload-file mark1.txt https://aura/sites/2018/DIGITAL%20AUTO/07Jul/01/mark1.txt

Ошибка (включая некоторые метаданные в -F)

C:\curl-7.59.0\src\curl -k -v --ntlm --user user1@devuat:user1pass -F 'Account_No=123123' --upload-file mark1.txt https://aura/sites/2018/DIGITAL%20AUTO/07Jul/01/mark1.txt

Успешно, но не вижу метаданных в sharepoint (включите некоторые метаданные в request.xml)

C:\curl-7.59.0\src\curl -k -v --ntlm --user user1@devuat:user1pass --data request.xml --upload-file mark1.txt https://aura/sites/2018/DIGITAL%20AUTO/07Jul/01/mark1.txt

Файл request.xml выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <CopyIntoItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">
      <SourceUrl>string</SourceUrl>
      <DestinationUrls>
        <string>string</string>
        <string>string</string>
      </DestinationUrls>
      <Fields>
        <FieldInformation Type="Invalid or Integer or Text or Note or DateTime or Counter or Choice or Lookup or Boolean or Number or Currency or URL or Computed or Threading or Guid or MultiChoice or GridChoice or Calculated or File or Attachments or User or Recurrence or CrossProjectLink or ModStat or AllDayEvent or Error" DisplayName="string" InternalName="string" Id="guid" Value="string" />
        <FieldInformation Type="Invalid or Integer or Text or Note or DateTime or Counter or Choice or Lookup or Boolean or Number or Currency or URL or Computed or Threading or Guid or MultiChoice or GridChoice or Calculated or File or Attachments or User or Recurrence or CrossProjectLink or ModStat or AllDayEvent or Error" DisplayName="string" InternalName="string" Id="guid" Value="string" />
      </Fields>
      <Stream>base64Binary</Stream>
    </CopyIntoItems>
  </soap12:Body>
</soap12:Envelope>

Я получил base64Binary, используя следующий код: var base64 = require ('file-base64');

base64.encode('mark1.txt', function(err, base64String) {
  console.log(base64String);
});
...