REST API: адаптация cURL POST к Powershell 5 (загрузка файлов) - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть команда cURL, которую я должен адаптировать к Powershell, чтобы загружать разные файлы.Для этого у меня есть обязательные поля, которые мне нужно использовать в запросе.Я пробовал дюжину разных сценариев, ничего не работает.

Может кто-нибудь помочь мне с этим?Это должно быть просто, но я что-то упускаю.

cURL команда:

curl -H "Authorization: Bearer xxx" 
-F "parentDirectoryId=1" 
-F "name=AutoUpload" 
-F "contents=@C:\temp\test.pdf" 
https://url/v1/api/files?

1 Ответ

0 голосов
/ 26 сентября 2018

Это будет зависеть от того, какую версию Powershell вы используете.Если у вас есть Powershell 6, вы можете использовать простой метод ниже, который использует параметр формы.Если вы используете другую версию, вы можете использовать более сложный пример № 4, который описан в Документах Microsoft :

$Uri = 'https://url/v1/api/files?'
$Form = @{
    parentDirectoryId= '1'
    name = 'AutoUpload'
    contents= Get-Item -Path 'C:\temp\test.pdf'
}
$token = ConvertTo-SecureString "xxx" -AsPlainText -Force
$Result = Invoke-RestMethod -Uri $Uri -Method Post -Form $Form -Authentication Bearer -Token $token

В этом примере используются новые параметры аутентификации и формы в Invoke-RestMethod,В зависимости от типа аутентификации вам потребуется параметр Token или Credentials с дополнительной информацией.Параметр Form упрощает ранее сложный процесс настройки тела или URI для запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...