Измените команду 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?

0 ответов

Другие вопросы по тегам