改变" curl"命令使用PowerShell Invoke-WebRequest(TeamForge API)

时间:2018-01-11 19:51:40

标签: powershell curl teamforge

我正在尝试使用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

似乎相当简单。知道curlInvoke-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 =密码& client_id = api-client& scope = urn:ctf:services:ctf& username = 其余部分由于明显原因而被修改

我认为这意味着我捏造了语法。我不知道从哪里开始使用此appart并将其插入Invoke-WebRequest命令。就像我说的,这是我第一次尝试这个。到目前为止,我对答案的搜索没有帮助。我想我在问错误的问题。

如何解构此curl命令,以便将其转换为可在PowerShell中使用的内容?

0 个答案:

没有答案