Измените команду curl для работы с PowerShell Invoke-WebRequest (TeamForge API)
Я пытаюсь использовать TeamForge API. Это мое первое знакомство с веб-запросами, поэтому я уверен, что упускаю что-то очевидное.
Чтобы начать, я понимаю, что мне нужно запросить жетон oauth. Согласно документации, я должен выполнить следующую команду:
# Base URL of TeamForge site.
site_url="https://teamforge.example.com"
# TeamForge authentication credentials.
username="foo"
password="bar"
# Requested scope (all)
scope="urn:ctf:services:ctf urn:ctf:services:svn urn:ctf:services:gerrit urn:ctf:services:soap60"
curl -d "grant_type=password&client_id=api-client&scope=$scope&username=$username&password=$password" $site_url/oauth/auth/token
Кажется довольно простым. Знаю это curl
это псевдоним для Invoke-WebRequest
Я попытался запустить следующее в PowerShell:
$site="https://my.teamforge.site"
$user="myuser"
$pass="mypass"
$scope="urn:ctf:services:ctf"
curl "grant_type=password&client_id=api-client&scope=$scope&username=$user&password=$pass" -Uri $site/oauth/auth/token
То, что я получил, было ошибкой:
Invoke-WebRequest: не найден позиционный параметр, который принимает аргумент 'grant_type = password & client_id = api-client & scope = urn: ctf: services: ctf & username = остаток строки, отредактированный по очевидным причинам
Я понял это, чтобы обозначить синтаксис. Понятия не имею, с чего начать брать этот аппарт и подключать его к Invoke-WebRequest
команда. Как я уже сказал, это моя первая попытка. Мои поиски ответов до сих пор не помогли. Я думаю, что задаю неправильные вопросы.
Как мне разобраться в этом curl
команда, чтобы я мог преобразовать его в то, что я могу использовать в PowerShell?